你给一名学生换上难度更高的教材,却同时把每次练习的力度降到很低。教材虽然更好了,学生未必学得进去。大模型的“中训”也有类似问题:团队往往把注意力放在何时换入数学、代码等高价值数据,却把学习率当成另一项独立设置。这篇论文指出,两者其实是同一个编排问题。数据何时进场,要和模型每一步“学多猛”一起决定。
这里的预训练(pre-training),是让模型从海量通用文本中学习语言模式和知识基础。中训(mid-training)则位于预训练之后、具体任务精调之前,用规模较小、价值较高的数据补强数学、代码或特定领域能力。学习率(learning rate,LR)控制模型每次更新参数迈多大一步;学习率日程则决定这个步幅何时保持、何时缩小。
论文的全部效果结论目前来自研究团队自己的 arXiv 预印本,尚无独立复现。以下比较也只针对固定总训练计算量、固定中训 Token 预算时的最终中训损失,不代表通用能力或下游任务成绩。
换多少数据,也要看何时换
常见流程像一次明确换挡:前半程只用预训练数据,后半程完全切到中训数据。作者把它重新描述为一种“数据配比日程”(data mixing schedule)——它规定训练推进时,每批数据中通用材料和高价值材料各占多少。突然切换只是其中一个特例,也可以像调水龙头一样逐渐增加中训数据。
论文比较了两类安排。Two-Stage(TS)先只用预训练数据,到某个时点后,突然跳到固定的中训数据比例。Zero-then-Linear(ZL)同样先只用预训练数据,但中训数据进场后,其占比会线性上升。两种安排都受同一条约束:曲线下的“面积”相同,也就是消耗相同数量的中训 Token;总训练量也不变。这样比较的不是“谁用了更多好数据”,而是“同一批好数据放在什么时候用”。
实验使用 DCLM-Baseline 作为预训练数据,FineMath 的 finemath-4plus 子集作为中训数据,并覆盖稠密模型与 MoE 模型。稠密模型有 6.3 亿参数,主要沿用 Qwen2.5-0.5B 架构。MoE(Mixture of Experts,专家混合模型)会让不同“专家”子网络分别处理不同输入,只激活其中一部分。
为什么结果会反过来?
作者先让学习率在整个持续训练阶段逐步下降。在这种设置下,较早引入中训数据、随后把它与预训练数据混合,比把全部中训数据留到最后再集中使用,得到更低的最终中训损失。论文称,这一趋势出现在稠密模型和 MoE、多个中训预算及不同持续训练长度中。
但只改一个条件,排名就反了。研究团队保持数据日程和其他设置不变,把学习率改为全程恒定。此时,在测试过的 TS 日程中,把中训数据全部放到最后、形成纯中训阶段,反而得到最低的中训损失。
直觉上,较早放入高价值数据,可以趁学习率较高时迈出更大的更新步;但后续训练也可能削弱这些更新留下的效果。若高价值数据直到末尾才出现,而学习率已经降得很低,模型虽然“看见”了它们,却可能没有足够大的步幅来充分吸收。反过来,若学习率一直不降,晚到的数据仍能产生有力更新,集中放在末尾便可能更合算。
这就是论文最重要的观察:不能脱离学习率,单独给数据日程排优劣。同一种数据编排,在一种学习率日程下领先,换一种学习率日程后可能落后。
先让新数据站稳,再收小步子
作者随后固定数据日程,改变学习率开始下降的时点。除了恒定学习率,他们还比较了两种线性衰减方式:FDR 从持续训练一开始就衰减;MDR 则等中训数据进场时开始衰减,并在训练结束时降到目标值。
结果显示,直接在中训数据进场时开始降速仍未必最好。团队共做了 19 组扫描;每一组中,测试到的最佳方案都把衰减放在中训数据进入之后,且衰减阶段只占“中训数据进场至训练结束”这段窗口的 10% 到 40%。也就是说,模型先以较高学习率接触一段时间的新数据,临近结束时再冷却。论文报告称,这些最佳组合的中训损失低于恒定学习率,也低于从中训数据进场时立即开始衰减。
TS 与 ZL 偏好的相对衰减长度并不相同:ZL 的最佳相对时长大约是 TS 的一半。原因在于,ZL 从零开始慢慢提高中训占比;若要花掉同样的中训预算并达到同样的最终比例,它的中训窗口约为 TS 的两倍。换算成实际衰减步数,两者反而大致接近。
MoE 实验还显示了另一个取舍。TS 突然改变数据分布时,负责把 Token 分给不同专家的路由出现负载均衡损失尖峰;ZL 的渐进切换大体避开了这一尖峰。它不直接证明 ZL 的最终能力更强,但说明连续换数据可能让专家分工的过渡更平稳。
理论解释抓住了“噪声”
作者用一个简化的二次损失模型分析随机梯度下降(SGD——用一小批样本估算方向并更新参数的训练方法)。模型把最终损失拆成两部分:一部分来自尚未学到位的偏差,另一部分来自每次随机更新带来的噪声。
在恒定学习率下,只要中训预算固定,不同安排带来的偏差项相同。把中训数据集中放到最后,能让后续中训更新更有效地压低噪声,因此成为该理论条件下的最优安排。
学习率衰减后,权衡改变了。把少量中训数据从后段移到前段,可以利用更大的学习率降低偏差,也能更强地压制此前累积的噪声;代价是后面少了一些用于继续消除噪声的中训更新。在论文给定的条件下,前一种收益可能更大。理论模型于是得到一种三段式安排:先用预训练数据,中间混合两类数据并逐步提高中训占比,最后进入纯中训阶段。
这个模型没有复刻大模型训练的全部复杂性。它的价值更像一张解释图:为什么“好数据越晚用越值钱”并非固定规律,以及为什么较稳妥的流程可能是先让高价值数据进场、保持一阵较大学习步幅,再在末段降速。
为什么值得关注
这项工作的意义不在于给出一张可以直接照抄的训练配方,而在于指出训练管线里的一个常见盲区:数据团队决定配比,优化团队决定学习率,两边各自调参,可能会把本来有效的方案判成无效。
它也提醒我们谨慎阅读“混入旧数据是否有用”一类结论。答案可能并不只由数据决定。若比较双方采用了不同的学习率日程,看似关于数据的争论,实际测到的可能是两套日程共同作用的结果。
局限与未知
- 论文以最终中训损失为主要目标,没有证明这些改进会转化为更好的通用能力或下游任务表现;作者也指出,实际选择还需同时权衡预训练损失与中训损失。
- 材料没有给出损失改善的具体幅度、误差范围或重复实验次数,因此目前无法判断收益大小与统计稳定性。
- “中训数据进场后再衰减学习率”是论文现有模型、数据和预算下的比较结果,不应直接写成适用于所有大模型的训练法则。