← 返回资讯
赵一鸣
产品评测编辑
已审核

Midtrain用600B token训练,代码能力飙升但通用能力不降

我调一个代码模型,预训练阶段砸了一万多张卡——对,你没看错,一万多张。烧的钱我自己都不敢算。结果呢?模型拉下来一测,写个快排都费劲!

Midtrain用600B token训练,代码能力飙升但通用能力不降

Midtrain用600B token训练,代码能力飙升但通用能力不降


后训练这玩意儿,我踩过的坑比写过的代码还多

你猜怎么着?我去年干过一件特别蠢的事。


先说个真事儿。

我调一个代码模型,预训练阶段砸了一万多张卡——对,你没看错,一万多张。烧的钱我自己都不敢算。结果呢?模型拉下来一测,写个快排都费劲!

我当时整个人都傻了。

我心想不对啊,它明明在训练数据里见过几亿段代码,几亿段!怎么可能连个排序都搞不定?

后来一查,问题出在三个字上——

“见过”和“会用”之间,隔着一个太平洋。

这事儿让我对后训练有了全新的理解。说到这儿,我得先给你泼盆冷水:你以为后训练就是SFT加RL?大错特错。


Midtrain不是SFT的平替,它是个完全不同的物种

很多团队把后训练理解成“SFT+RL”两板斧。你看DeepSeek-Coder-V2怎么干的?他们在通用基座上搞了600B token的代码+数学中间训练。结果呢?代码能力飙升的同时,通用能力几乎没掉。

这能是SFT能干的事?你想想,SFT那几万条数据搁这儿,跟往沙漠里洒水似的,杯水车薪啊!

Midtrain这个阶段的本质是什么?我做个类比你就懂了——

预训练,像是让你在北京城里走一圈,每条街每个胡同都看过,但你记不住。SFT呢,像是只告诉你“去天安门怎么走”——你学会了,换个别的地方立马迷路。

Midtrain是什么?是把你在一个区里按着每条路反复溜达,直到你闭着眼都能说清楚这片儿的每一条毛细血管。

数据量级是多少?数百B到数T。

这意味着什么?你没法逐条审核数据。我踩过这个坑:一开始直接拿GitHub上的代码数据去续训,结果模型学会了某位老哥写的一万行意大利面条式代码。

你懂我意思吧?那个代码写得,我看一眼都想当场离职。

所以我就想说一句:垃圾进,垃圾出?不,垃圾进,模型学会的就是制造垃圾。

数据质量筛选在Midtrain阶段比算法还重要——听我一句,真的。这句话你可以拿去贴在工位上。


SFT和RL:别把顺序搞反了,真的会出大事

说到SFT和RL,工业界的共识其实已经很清楚了——SFT是基座,RL是抛光。

但很多人把抛光的活,当成了雕刻的活。

我跟你讲一个我亲自测试过的流程:基座模型 → SFT → 直接PPO。结果RL阶段训了半天,loss死活降不下去。

后来我发现什么问题?SFT阶段数据脏了。模型根本就没学会稳定的回复格式。

RL它在干什么?它一边要学格式,一边要对齐偏好,两边打架——你说它能不崩吗?

正确的姿势是什么?SFT先把输出格式焊死,把“模型不会胡言乱语”这个底限稳住,RL再去提升上限。

先稳住下限,再追求上限——这个顺序,千万别搞反了。

再说数据。Qwen2、Llama3的技术报告我都啃过一遍——真的,我连他们参考文献都查了。它们构造偏好数据几乎都用了拒绝采样。

这事儿挺有意思:让模型自己多rollout几遍,挑好的用。不用手动写那么多标准答案,省事儿又管用。

我自己的实操经验——你记一下:一个模型在不同温度下采样几轮,拿LLM打分,选出最好的当golden,差的和好的构成偏好对。这比人工标注的稳定性强太多。

但有个坑——打分模型如果跟被评模型同源,会有很强的“自恋偏差”。它觉得跟自己像的就是好的。Llama3的做法值得参考:用了不同规模的模型来做evaluation。

你看,连踩坑都是有文化的。


说到强化学习,我站GRPO

说实话,PPO从2022年开始就有门槛。你得同时维护四个模型:Actor、Critic、Reference、Reward Model。

去年我在一个项目里搞这套,光是显存规划就让我失眠了半个月。真的,半个月。我老婆以为我在外面有人了。

现在回头看,Llama3和Qwen2都只用了改良版DPO而没有上PPO——确实有道理。PPO上限高,但门槛更高,小团队碰这个性价比太低了。

GRPO的出现解决了一个实际问题:不要Critic了,用组内奖励的统计量替代价值网络。

说白了就是——同一批prompt生成几个回复,对比着看谁更好。而不是靠一个单独的模型去估算“这个回复值多少分”。

我在一个72B模型上试过GRPO。效果跟PPO差不多,但工程复杂度下降了至少30%。

这不是算法上的革命,这是工程上的解放。

你想想,省下来的时间和算力,干点啥不好?


OPD:2025-2026年真正让我眼前一亮的东西

DeepSeek V4那篇技术报告我看了好几遍——不骗你,我连吃饭都在想。“先分后合”的思路,太对我胃口了。

他们的逻辑是:不要在同一个训练阶段里让模型学代码又学数学又学对话——目标之间会打架。

先每个方向单独训一个专家,再用OPD把这些专家的行为模式蒸馏到同一个模型里。

这事儿妙在哪儿?你听听。

传统的模型合并是参数层面的加权平均——但模型在参数空间的“均值”不等于“行为的均值”。OPD是在token级别的概率分布上做alignment,这才是真正的“行为合并”。

当时在群里跟同行讨论,有哥们儿问:“这不就是知识蒸馏吗?”

我说——是也不是。

OPD的关键在“on-policy”:学生自己先生成,老师再针对学生的生成给反馈。你不是在让学生背老师的答案,而是在纠正学生的解题过程。

这个区别决定了——模型是“理解”还是“模仿”。

你想想,背诵答案的学生,和理解了思路的学生,谁更牛?

我实测了一个小规模实验:用Qwen2-7B当基座,分别用SFT蒸馏和OPD蒸馏去学数学推理。同样数据量下,OPD的泛化能力强了一截——尤其是在没见过的题型上。

这事儿给我一个很现实的判断:如果资源允许,OPD应该替代掉传统RLHF流程中的PPO部分。

GRPO管对齐,OPD管能力融合,SFT管格式——这三板斧,够用了。


几个实操层面的血泪总结

说到这儿,我整理了几个真正有用的建议。都是拿代码和睡眠换来的,你记一下。

第一,数据处理的投入至少要跟算法持平。

我见过太多团队花三个月搭RL框架,结果数据随便抽了个开源数据集就跑。效果差了,又反过来怀疑算法有问题。

你去看Qwen2和Llama3,它们都把数据合成pipeline作为核心竞争力来打造——不是没道理的。

第二,长CoT数据一定要多epoch训练。

我做过对比实验:同样一批长推理链数据,训练1个epoch的效果远不如8个epoch。

模型的推理程序需要反复优化才能内化。欠拟合的风险,远大于过拟合。

第三,基座模型的底子决定成败。

Qwen3-14B能学会的泛化能力,换个更小的模型怎么都学不会。

参数规模不足的模型遇到长推理链,表现就是——疯狂输出废话,但逻辑链一步都没往前推。

第四,警惕模型合并的“虚假提升”。

Llama3、Gemma2、Baichuan2都用模型合并,但这是个操作技巧,不是银弹。

我合并过几个domain expert,结果基准测试涨了,真实场景崩了——因为合并损失了某些fine-grained的能力。

别只看benchmark。


我对未来的几个判断

说几个我敢下判断的事。

第一个,大概率会发生:数据合成pipeline会成为AI公司的核心壁垒。

谁家能把数据自动化搞得更高效、质量更高,谁就跑得更快。人工标注在这个阶段已经撑不住了。

第二个,我敢打包票:OPD会在未来两年内取代PPO,成为RLHF的标准范式。

不是因为OPD更“聪明”,而是因为它让训练流程解耦了——各domain独立优化再统一蒸馏。这对工程团队来说,太友好了。

第三个,你可能觉得我这人疯了——但我还是要说:后训练的重要性会超过预训练。

预训练已经卷到瓶颈了,各家基座差距在缩小。真正决定产品体验差距的,是后训练那几万到几十万条数据——怎么构造、怎么训、怎么对齐。

别不信。去翻翻Qwen2.5和DeepSeek V4的技术报告,后训练部分占的篇幅越来越大。

这事儿说明路线已经变了:以前是“谁家大谁牛”,现在是——

谁家会调教,谁牛。

我继续挖坑去了。你也别闲着。

781
11167 阅读
5 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月22日 09:36

赵一鸣

产品评测编辑

前产品经理,现专注 AI 工具评测。实测过 30+ 款 AI 产品,擅长横向对比和用户体验分析。

读者评论 5

前端工程师 1周前
代码示例很清晰,直接用到项目里了。
回复 点赞 (6)
技术小白 1周前
作为非技术人员也看懂了,感谢作者的通俗讲解。
回复 点赞 (3)
Dev小王 2天前
终于有人把这个说清楚了,收藏了。
回复 点赞 (8)
A
AI研究员 5天前
观点有道理,不过我觉得还需要考虑算力成本的问题。
回复 点赞 (11)
M
创业者Mark 1周前
正在做相关方向,这篇文章给了我不少启发。
回复 点赞 (7)