EvoLM: In Search of Lost Language Model Training Dynamics

作者/机构: Zhenting Qi (Harvard), Fan Nie (Stanford), Alexandre Alahi (EPFL), James Zou (Stanford), Himabindu Lakkaraju (Harvard), Yilun Du (Harvard), Eric Xing (CMU), Sham Kakade (Harvard), Hanlin Zhang (Harvard)

A1 主要贡献

现代语言模型(LM)的训练被划分为多个阶段,这使得下游开发者难以评估每个阶段设计选择的影响。本文旨在系统性、透明地分析语言模型在预训练、持续预训练、监督微调和强化学习等各个阶段的训练动态。

核心问题与研究目标
当前对语言模型训练的理解存在挑战。首先,由于其庞大的设计空间和多阶段训练(预训练、后训练)的复杂相互作用,很难明确哪些决策能稳定地带来下游性能的提升。其次,现有研究常依赖于训练细节不透明的检查点,这引入了潜在的混淆因素,例如:依赖于使用现成基础模型但未严格控制变量(模型大小、数据量等)的后训练研究;以及基于中间检查点进行评估,这些检查点可能因学习率衰减不完整而导致次优的下游性能。

为了解决这些问题,本文的目标是建立一个端到端的开发流程,使用开放工具和数据源,系统且透明地研究语言模型在其整个生命周期中的推理能力。

创新点与主要贡献
本文引入了 EvoLM,一个包含超过100个从头开始训练的1B和4B参数解码器-自回归语言模型的套件。这些模型在不同配置下均完成了完整的学习率衰减。研究评估了模型的上游语言建模性能(困惑度)和下游实际问题解决能力(生成式评估),同时考虑了域内(ID,如数学推理)和域外(OOD,如通用推理)的泛化能力。

本文的主要贡献总结如下:
* 全生命周期系统分析:对语言模型从预训练到强化学习后训练的整个生命周期的能力进行了系统性分析,评估了推理密集型的上游填空任务和下游生成任务,并兼顾了域内和域外泛化。
* 开源模型与数据:开源了100多个从头训练的1B和4B参数语言模型,以及所有阶段的训练数据,使研究社区能够在此基础上继续研究。
* 开源训练与评估框架:开源了一个全面、透明且可复现的训练和评估流程,以促进对缩放定律、训练动态以及语言模型上游和下游能力的进一步研究。

研究的关键见解包括:过度预训练和后训练的收益递减;在领域特定的持续预训练中缓解遗忘的重要性和实践方法;持续预训练在连接预训练和后训练阶段中的关键作用;以及在配置监督微调和强化学习时的各种复杂权衡。

图1:EvoLM概览,一个用于研究语言模型在预训练、持续预训练(CPT)、监督微调(SFT)和强化学习(RL)各阶段训练动态的透明模型套件。该框架评估了上游(语言建模)和下游(问题解决)在域内(如数学)和域外(如代码、逻辑)环境下的性能,从而能够系统地分析设计权衡和规模化行为。
图1:EvoLM概览,一个用于研究语言模型在预训练、持续预训练(CPT)、监督微调(SFT)和强化学习(RL)各阶段训练动态的透明模型套件。该框架评估了上游(语言建模)和下游(问题解决)在域内(如数学)和域外(如代码、逻辑)环境下的性能,从而能够系统地分析设计权衡和规模化行为。

A2 方法细节

2.1 训练设置

模型与训练阶段。我们使用 LLaMA-2 【索引56,Llama: Open and efficient foundation language models,2023,arXiv preprint arXiv:2302.13971】 架构初始化所有模型,参数量为 1B 和 4B。我们的训练流程包括四个连续阶段:
* 预训练:在 FineWeb-Edu 【索引38,The fineweb datasets: Decanting the web for the finest text data at scale,2024,Advances in Neural Information Processing Systems】 数据集上进行。遵循 Chinchilla 缩放定律 【索引23,Training compute-optimal large language models,2022,arXiv preprint arXiv:2203.15556】 建议的每个模型参数约20个词元(token)的计算最优比例,我们将模型的预训练词元预算范围从最优的20倍模型大小扩展到3200亿词元,以研究轻度过训练(>1倍 Chinchilla,≤16倍 Chinchilla)和重度过训练(>16倍 Chinchilla)对任务性能的影响。
* 持续预训练(CPT):在 FineMath 【索引2,Smollm2: When smol goes big – data-centric training of a small language model,2025】 数据集上进行,词元预算从20亿到420亿。为了减轻对通用领域知识的灾难性遗忘,我们还采用了预训练数据重放策略 【索引25,Simple and scalable strategies to continually pre-train large language models,2024,arXiv preprint arXiv:2403.08763】【索引41,D-cpt law: Domain-specific continual pre-training scaling law for large language models,2024,Advances in Neural Information Processing Systems】【索引4,Scaling laws for forgetting during finetuning with pretraining data injection,2025,arXiv preprint arXiv:2502.06042】【索引62,Investigating continual pretraining in large language models: Insights and implications,2024,arXiv preprint arXiv:2402.17400】。
* 监督微调(SFT):应用于一个问答对数据集,该数据集是从 GSM8K 【索引12,Training verifiers to solve math word problems,2021,arXiv preprint arXiv:2110.14168】 和 MATH 【索引20,Measuring mathematical problem solving with the math dataset,2021,arXiv preprint arXiv:2103.03874】 增强而来,数据来源于 MetaMathQA 【索引63,Metamath: Bootstrap your own mathematical questions for large language models,2023,arXiv preprint arXiv:2309.12284】、OpenMathInstruct2 【索引55,Openmathinstruct-2: Accelerating ai for math with massive open-source instruction data,2024,arXiv preprint arXiv:2410.01560】 和 NuminaMath 【索引31,NuminaMath,2024,https://huggingface.co/AI-MO/NuminaMath-CoT 】 的混合。我们使用模型正确性一致性 【索引39,Mutual reasoning makes smaller llms stronger problem-solvers,2024,arXiv preprint arXiv:2408.06195】 过滤掉低质量的提示,丢弃那些模型间共识为零的样本。
* 强化学习(RL):使用近端策略优化(PPO) 【索引47,Proximal policy optimization algorithms,2017,arXiv preprint arXiv:1707.06347】 进行,并采用二元可验证奖励。RL 阶段使用与 SFT 相同的数据源,但确保与 SFT 数据集没有重叠。

模型命名规则。我们使用一个紧凑的模型签名来表示每个模型在不同训练阶段的配置。例如,1B-160BT-8+42BT-100Kep1-100Kep16 代表一个具有以下设置的模型:
* 1B:一个拥有10亿参数的模型。
* 160BT:在来自 FineWeb-Edu 的1600亿词元上进行预训练。
* 8+42BT:使用80亿重放的通用领域数据(FineWebEdu)和420亿领域特定数据(FineMath)进行持续预训练。
* 100Kep1:在10万个样本上进行1个周期的监督微调。
* 100Kep16:在10万个样本上进行16个周期的强化学习微调。

训练收敛性。对于所有配置,我们都使用完整的学习率调度来训练模型,并且只将最终的检查点作为研究对象。更多训练细节可以在 B.2 节找到。

2.2 评估协议

上游填空任务。这些任务通过下一个词元预测来评估模型的语言建模能力,而不需要对话能力。我们在以下数据集上评估预训练和持续预训练模型,并报告它们的平均0-shot准确率:HellaSwag 【索引65,Hellaswag: Can a machine really finish your sentence?,2019,arXiv preprint arXiv:1905.07830】、Winogrande 【索引44,Winogrande: An adversarial winograd schema challenge at scale,2021,Communications of the ACM】、PIQA 【索引6,Piqa: Reasoning about physical commonsense in natural language,2020,Thirty-Fourth AAAI Conference on Artificial Intelligence】、OBQA 【索引36,Can a suit of armor conduct electricity? a new dataset for open book question answering,2018,EMNLP】、ARC-Easy/Challenge 【索引11,Think you have solved question answering? try arc, the ai2 reasoning challenge,2018,ArXiv】。

下游生成任务。这些任务在生成式、对话式环境中评估模型解决问题的能力。我们测试了经过监督微调和RL微调的模型在以下任务上的表现:1) 域内任务(数学推理):GSM8K-Platinum 【索引57,Do large language model benchmarks test reliability?,2025,arXiv preprint arXiv:2502.03461】(这是对完整GSM8K 【索引12,Training verifiers to solve math word problems,2021,arXiv preprint arXiv:2110.14168】 测试集的修订版,旨在最小化标签噪声)和MATH 【索引20,Measuring mathematical problem solving with the math dataset,2021,arXiv preprint arXiv:2103.03874】。2) 域外任务:CRUXEval 【索引19,Cruxeval: A benchmark for code reasoning, understanding and execution,2024,arXiv preprint arXiv:2401.03065】(代码推理)、BGQA 【索引28,Boardgameqa: A dataset for natural language reasoning with contradictory information,2023,Advances in Neural Information Processing Systems】(逻辑推理)、TabMWP 【索引35,Dynamic prompt learning via policy gradient for semi-structured mathematical reasoning,2022,arXiv preprint arXiv:2209.14610】(表格推理)和StrategyQA 【索引18,Did aristotle use a laptop? a question answering benchmark with implicit reasoning strategies,2021,Transactions of the Association for Computational Linguistics】(常识推理)。我们以零样本方式评估模型,通过提示它们生成问题的完整解决方案,并报告ID和OOD任务的平均性能。更多评估细节,包括数据集描述、采样参数和标准误差,请参见B.3节。

评估指标。评估指标包括:
* 准确率:我们在四种提示方案下测量准确率:1) Pass@1:温度=0。生成一个确定性的响应。如果该响应正确,则问题标记为正确。2) Maj@16:温度=1。采样16个响应,并评估多数答案的正确性。3) RM@16:温度=1。采样16个响应;评估ORM得分最高的一个的正确性。4) Pass@16:温度=1。采样16个响应;如果其中任何一个响应正确,则问题标记为已解决。在所有这些设置中,从模型输出中提取最终答案,并与真实解进行比较以确定正确性。我们还额外报告了正确率:在至少有一个正确解的响应组中,我们计算正确解的数量与总解数(16)的比率。
* ORM得分:我们使用一个结果奖励模型——Skywork-Reward-Llama-3.1-8B-v0.2 【索引33,Skywork-reward: Bag of tricks for reward modeling in llms,2024,arXiv preprint arXiv:2410.18451】——根据输入的问题和响应,为生成的解决方案分配标量分数。该指标可作为解决方案质量的代理。

A4 实验结果

3.1 扩展预训练计算量

为了量化不同预训练计算总量对语言建模性能的影响,我们在0.5B、1B、4B参数的模型上,使用从100亿到3200亿不等的词元预算进行预训练。如图2所示,上游任务的性能随着预训练词元数量的增加而稳步提升,但在词元数超过模型大小的80倍到160倍左右后,收益迅速递减。例如,1B模型的平均准确率从200亿词元的大约46%增加到800亿词元的52%,但从800亿词元增加到1600亿词元时,增益缩小到不到一个百分点。更大的4B模型持续受益的时间稍长,但到3200亿词元时也趋于平稳。

图2:上游任务性能与预训练词元数的关系,模型为 {0.5B, 1B, 4B}-{10BT, 20BT, 40BT, 80BT, 160BT, 320BT}。
图2:上游任务性能与预训练词元数的关系,模型为 {0.5B, 1B, 4B}-{10BT, 20BT, 40BT, 80BT, 160BT, 320BT}。

我们进一步评估了这些预训练预算如何转化为SFT和SFT+RL模型的下游能力。图3显示了1B模型在200亿到3200亿词元预训练预算下,ID和OOD下游任务上的所有六个指标。SFT和SFT+RL变体在达到800亿词元前都表现出强劲的初始增长,但此后性能饱和:例如,SFT模型的ID Maj@16准确率从200亿词元的8%急剧上升到800亿词元的15%,但在3200亿词元时仅微升至17%。RL相比纯SFT带来了持续的提升,但同样地,在超过800亿词元后,过度训练带来的益处微乎其微。此外,在OOD任务上,Maj@16、RM@16和Pass@16的准确率在1600亿词元预算后出现下降,并且这种下降还伴随着ORM得分的降低,表明整体生成质量有一定程度的下降。这些模式表明,过大的预训练预算同样会导致下游性能的收益递减,甚至可能导致性能下降。这一发现与先前的工作【索引51,Overtrained language models are harder to fine-tune,2025,arXiv preprint arXiv:2503.19206】一致,该工作指出增加预训练并不总能改善甚至可能损害LM在SFT后的性能。我们进一步完善了这项研究,表明 1) 这种性能增益停滞也反映在下游生成式推理任务上,以及 2) RL微调也受到过训练的限制。

图3:下游任务性能与预训练词元数的关系,模型为:- SFT: 1B-{20BT, 40BT, 80BT, 160BT, 320BT}-8+42BT-100Kep1 - SFT+RL: 1B-{20BT, 40BT, 80BT, 160BT, 320BT}-8+42BT-100Kep1-100Kep8。
图3:下游任务性能与预训练词元数的关系,模型为:- SFT: 1B-{20BT, 40BT, 80BT, 160BT, 320BT}-8+42BT-100Kep1 - SFT+RL: 1B-{20BT, 40BT, 80BT, 160BT, 320BT}-8+42BT-100Kep1-100Kep8。

要点1:过度的通用领域预训练并不总能改善领域特定的后训练,甚至可能导致某些下游任务的性能下降(在我们的研究中,饱和点出现在模型大小的80倍到160倍左右)。

我们进一步研究了模型大小与扩展预训练之间的相互作用。如表1所示,在固定的预训练计算预算下(1B–320BT vs. 4B–80BT),较小的1B模型在SFT和SFT+RL设置中甚至优于4B模型。当预训练词元数相同时,在较低预算下我们也观察到同样的趋势:在800亿词元时,1B–80BT和4B–80BT模型的表现相当,小模型略微领先。然而,一旦预算增加到1600亿词元,4B–160BT模型便“解锁”了其规模优势:例如,4B SFT模型的ID Maj@16准确率跃升至26.4%(而1B对应模型为14.2%),4B SFT+RL模型跃升至34.8%(而1B对应模型为22.5%),这表明只有在达到预训练的饱和区域后,模型大小才能转化为后训练性能的显著提升。

要点2:在有限的预训练预算下,较小的后训练模型甚至可以胜过较大的模型。相反,一旦预训练词元数达到饱和区域,增加模型大小可以显著提升域内性能和OOD泛化能力。

表1:在固定的预训练计算/词元预算下,1B和4B SFT / SFT+RL模型的比较。
表1:在固定的预训练计算/词元预算下,1B和4B SFT / SFT+RL模型的比较。

3.2 扩展持续预训练计算量

我们通过将总CPT词元数从0(无CPT)变化到500亿,使用1B-160BT预训练模型作为基础,来研究持续预训练(CPT)计算量的影响。如图4所示,增加CPT计算量会逐渐降低上游任务的性能,这表明发生了灾难性遗忘【索引15,Catastrophic forgetting in connectionist networks,1999,Trends in cognitive sciences】。为缓解此问题,我们采用了一种简单的“重放”策略【索引25,Simple and scalable strategies to continually pre-train large language models,2024,arXiv preprint arXiv:2403.08763】,在CPT期间随机插入少量预训练数据。图4显示,在所有CPT预算下,使用80亿词元重放的模型始终保持比无重放基线更高的上游准确率。接着,我们对CPT模型在10万个样本上进行一个周期的SFT,以研究重放对下游性能的影响。

图4:上游任务性能与CPT词元数的关系,模型为:- 预训练: 1B-160BT, - CPT: 1B-160BT-8+{2BT, ..., 42BT}, - CPT: 1B-160BT-0+{10BT, ..., 50BT}, - CPT: 1B-160BT-{1.6+48.4BT, 16+34BT}。
图4:上游任务性能与CPT词元数的关系,模型为:- 预训练: 1B-160BT, - CPT: 1B-160BT-8+{2BT, ..., 42BT}, - CPT: 1B-160BT-0+{10BT, ..., 50BT}, - CPT: 1B-160BT-{1.6+48.4BT, 16+34BT}。

表2报告了在GSM8K-Platinum上各种CPT混合配置的Pass@1准确率。纯FineMath CPT(500亿词元)达到了19.27%,而80亿词元FineWeb重放与420亿词元FineMath的混合甚至取得了更好的结果,为21.01%。重放过少(1.6+48.4亿词元)或过多(16+34亿词元)的配置表现都较差,这突出表明适度的重放预算(约5%)能够最好地平衡保留通用领域知识与适应下游生成任务。

表2:预训练模型1B-160BT在不同配置下进行持续预训练,然后使用10万SFT样本进行1个周期的微调,在GSM8K-Platinum上的性能(Pass@1准确率)。
表2:预训练模型1B-160BT在不同配置下进行持续预训练,然后使用10万SFT样本进行1个周期的微调,在GSM8K-Platinum上的性能(Pass@1准确率)。

要点3:在领域特定数据上进行CPT会导致对预训练知识的灾难性遗忘,这可能损害上游和下游性能,而加入少量重放预算(例如5%)可以有效缓解这种退化。

在图5中,我们绘制了SFT和SFT+RL模型下游性能随CPT预算(固定80亿词元重放预算)变化的曲线。所有变体随着领域特定词元数的增加而稳步提升,直到约320亿词元,然后在420亿词元时趋于平稳。例如,SFT模型的ID贪心准确率从20亿词元的约5%上升到320亿词元的12%,然后稳定下来。在OOD指标上也观察到了类似的趋势。在整个CPT范围内,RL微调始终优于纯SFT;值得注意的是,如果没有CPT,RL甚至可能不如SFT(如Maj@16、RM@16和Pass@16所示),但随着CPT词元数的增加,RL带来的增益趋于增强。

图5:下游任务性能与持续预训练词元数的关系,模型为:- SFT: 1B-160BT-100Kep1, 1B-160BT-8+{2BT, ..., 42BT}-100Kep1 - SFT+RL: 1B-160BT-100Kep1-100Kep8, 1B-160BT-8+{2BT, ..., 42BT}-100Kep1-100Kep8。
图5:下游任务性能与持续预训练词元数的关系,模型为:- SFT: 1B-160BT-100Kep1, 1B-160BT-8+{2BT, ..., 42BT}-100Kep1 - SFT+RL: 1B-160BT-100Kep1-100Kep8, 1B-160BT-8+{2BT, ..., 42BT}-100Kep1-100Kep8。

要点4:领域特定的后训练应得到充足的领域特定CPT数据支持:没有它,SFT性能仍是次优的,RL甚至可能降低这种性能。

要点5:随着领域特定CPT数据的增加,域内下游性能稳步提升,SFT模型可以从RL微调中获益更多。

要点6:有了充足的领域特定CPT数据,对域内任务的后训练不仅能提高域内性能,还能有效地泛化到OOD任务。

3.3 扩展SFT计算量

为了评估下游性能如何响应增加的SFT计算量,我们使用1B-160BT-8+42BT作为基础模型,进行了两项互补的研究。

改变SFT周期数。我们将SFT样本数固定在10万,对基础模型进行了{1, 2, 4, 8, 16, 32}个周期的微调。如图6所示,ID指标随着周期数的增加而稳步提升,并在大约8个周期时饱和,这反映了对解决域内问题的记忆增强。相反,OOD性能在2-4个周期时达到峰值,然后下降,表明过度专业化会阻碍泛化。这些发现也验证了通常选择约3个周期的SFT超参数是合理的。此外,在过度训练的SFT模型上,下游RL微调的边际增益会减小:一旦模型过度记忆了监督数据,RL就没有太多改进的空间。

图6:下游任务性能与SFT周期数的关系,模型为:- SFT: 1B-160BT-8+42BT-100Kep{1,2,4,8,16,32} - SFT+RL: 1B-160BT-8+42BT-100Kep{1,2,4,8,16,32}-100Kep8。
图6:下游任务性能与SFT周期数的关系,模型为:- SFT: 1B-160BT-8+42BT-100Kep{1,2,4,8,16,32} - SFT+RL: 1B-160BT-8+42BT-100Kep{1,2,4,8,16,32}-100Kep8。

要点7:过度的SFT以递减的收益提升ID性能,但不一定能改善甚至可能降低OOD性能。

要点8:过度的SFT,尤其是过多的周期,可能会限制后续RL的改进。

改变SFT数据集大小。正如先前研究【索引42,Revisiting the superficial alignment hypothesis,2024,arXiv preprint arXiv:2410.03717】所提出的,下游任务的后训练性能与SFT数据集大小遵循幂律关系,但该结论是基于最多1万个样本的实验得出的。我们通过将SFT样本数量从5万扩展到40万,并将周期数固定为一来最小化记忆,进一步扩大了这一预算。如图7所示,ID性能随着样本数的增加而单调提升,证实了额外的SFT计算量能持续改善域内任务的性能。然而,OOD指标出现波动,甚至可能随着数据集的增大而下降。与增加周期数类似,随着模型学习更多SFT样本,RL带来的增量效益也随之减少。

图7:下游任务性能与SFT样本数的关系,模型为:- SFT: 1B-160BT-8+42BT-{50K, 100K, 150K, ..., 400K}ep1 - SFT+RL: 1B-160BT-8+42BT-{50K, 100K, 150K, ..., 400K}ep1-100Kep8。
图7:下游任务性能与SFT样本数的关系,模型为:- SFT: 1B-160BT-8+42BT-{50K, 100K, 150K, ..., 400K}ep1 - SFT+RL: 1B-160BT-8+42BT-{50K, 100K, 150K, ..., 400K}ep1-100Kep8。

3.4 扩展RL计算量

同样,为了评估下游性能如何响应增加的RL计算量,我们改变了周期数或数据集大小,使用1B-160BT-8+42BT-100Kep1作为基础模型。我们还加入了0个周期/样本来表示SFT基线。更多关于RL的实验结果和发现在A.2节中。

改变RL周期数。我们在另外10万个样本(与SFT数据集不相交)上进行了{0, 1, 2, 4, 8, 16, 32}个周期的RL。如图8a所示,对于ID和OOD任务,贪心、Maj@16和RM@16准确率在8-16个周期左右达到峰值,然后饱和。我们还注意到,虽然正确率持续增加,但Pass@16准确率在4个周期后大幅下降,这表明RL主要增强了对已正确输出的置信度,而不是有效扩大可解决样本的集合。这在表1的结果中也有所体现:对于1B和4B的SFT模型,Maj@16准确率有时可能低于贪心准确率,表明低质量解占据了多数。然而,在SFT模型上进行RL后,所有Maj@16准确率都高于贪心准确率。

图8a:模型1B-160BT-8+42BT-100Kep1-100Kep{0, 1, 2, 4, 8, 16, 32}在不同RL周期数下的性能。
图8a:模型1B-160BT-8+42BT-100Kep1-100Kep{0, 1, 2, 4, 8, 16, 32}在不同RL周期数下的性能。

改变RL数据集大小。在固定周期为8的情况下,我们将RL数据集大小从0变到40万个样本。图8b显示,对于ID和OOD指标,贪心、Maj@16和RM@16准确率随着数据量的增加而持续提升,直到约15-20万个样本后,增益趋于平缓并出现波动。相比之下,Pass@K更早饱和并开始下降,而正确率则持续增加,这与增加RL周期数的发现类似。这一发现与同期工作【索引64,Does reinforcement learning really incentivize reasoning capacity in llms beyond the base model?,2025,arXiv preprint arXiv:2504.13837】的观察结果一致,他们同样得出结论,RL主要提升了现有正确输出的置信度,而非增强LM的基本推理能力。我们通过展示RL周期数和数据集大小的精确权衡,进一步扩展了这一见解。此外,我们注意到在35万和40万样本时性能急剧下降,训练结果显示,在最后的RL步骤中,两个模型都学会了大幅增加响应长度,其生成内容经常超出预定义的上下文窗口长度,从而导致性能下降。然而,周期数过多的RL要稳定得多,并未观察到由响应长度缩放引起的崩溃。

图8b:模型1B-160BT-8+42BT-100Kep1-{0, 50K, 100K, 150K, ..., 400K}ep1在不同RL样本数下的性能。
图8b:模型1B-160BT-8+42BT-100Kep1-{0, 50K, 100K, 150K, ..., 400K}ep1在不同RL样本数下的性能。

要点9:过多的RL周期或样本能以递减的收益提升ID和OOD任务的下游性能(在我们的研究中,饱和点出现在4-8个周期或5-10万个样本)。

要点10:超过饱和区域后,RL主要增加了采样高质量输出的概率,而不一定能提高模型的基本推理能力。

为了进一步研究在数据受限场景下如何配置SFT和RL数据分配,我们从整个50万样本数据集中二次采样了10万个样本,并评估了五种SFT/RL划分:(10/90, 30/70, 50/50, 70/30, 90/10)千,并对SFT或RL进行了4个周期的训练。我们选择10万是因为它大约是ID和OOD性能的饱和区域(图8b)。如图9所示,ID准确率(贪心和Pass@16)随着SFT数据比例的增加而增加,在约7万样本后趋于平稳,而OOD指标则由RL分配驱动,在1万SFT(即9万RL)时达到峰值。

图9:模型{1B, 4B}-160BT-8+42BT-{10K, ..., 90K}ep4-{90K, ..., 10K}ep4的下游任务性能。深绿色/蓝色表示分配给SFT/RL的数据更多。后训练样本总数固定为10万。
图9:模型{1B, 4B}-160BT-8+42BT-{10K, ..., 90K}ep4-{90K, ..., 10K}ep4的下游任务性能。深绿色/蓝色表示分配给SFT/RL的数据更多。后训练样本总数固定为10万。

这些趋势在1B和4B模型中都成立。

要点11:在下游数据预算受限的情况下,将更多样本分配给SFT可以最大化域内收益,但代价是OOD泛化能力较弱;而将更多样本分配给RL则可以提高OOD性能。

4. 附加研究与讨论

鉴于我们发现后训练与预训练存在非平凡的相互作用——需要复杂的训练配方——那么下游性能是否能平滑或可预测地扩展呢?本节提供一个例子,说明为什么我们全面的研究对于完全掌握训练动态如何塑造LM的下游性能至关重要,并提供另一个例子,其中一个指标可能与下游问题解决性能相关。

4.1 中间检查点可能不是可靠的替代品

在现实中,从业者通常会通过完整的学习率调度来训练每个期望的模型,并耗尽可用的预训练数据,而不是将中间检查点作为最终模型。为了模拟现实世界中从头开始训练200亿或400亿词元模型的流程,我们将这些独立运行的模型与从一个更长的1600亿词元预训练运行中在相同词元数(200亿和400亿)提取的检查点进行比较。在每个模型处理完200亿或400亿词元后,我们进一步在10万个样本上应用单个周期的SFT,以提供基本的对话基础,并在MATH数据集的两个最简单的子集上评估模型。

如表3所示,中间检查点在上游任务准确率和数学推理性能上始终落后于其专门训练的200亿和400亿词元对应模型。这种差距的产生是因为较早的停止点——在学习率衰减和数据重复之前捕获——省略了较小运行所完成的完整优化轨迹。换句话说,简单地从一个较长的调度中切出一个400亿词元的检查点,并不能复制专门为400亿词元训练一个模型所带来的好处。

表3:不同预训练配置下在上游任务和MATH(1级和2级)上的性能。“xBT full”指在xBT上完成的完整预训练运行,而“xBT int.”指在训练到160B词元期间获取的中间检查点,对应于到目前为止已处理的xBT词元数。
表3:不同预训练配置下在上游任务和MATH(1级和2级)上的性能。“xBT full”指在xBT上完成的完整预训练运行,而“xBT int.”指在训练到160B词元期间获取的中间检查点,对应于到目前为止已处理的xBT词元数。

这些结果警示我们,不要使用这类中间检查点作为研究和理解完全训练的较小模型的代理。在解释训练动态时,必须比较同类运行——每个都有自己完整的调度——而不是依赖于低估了模型真实能力的中途快照。

4.2 将下游任务性能与ORM得分关联起来

虽然跨领域的困惑度有时显示出强相关性,但下游任务的准确率可能不总是一致相关,这主要是因为后训练模型存在校准问题,因此较低的验证困惑度不一定意味着更好的生成性能。在我们的实验中,我们发现ORM得分与下游任务准确率之间存在明确的关系。在图10中,我们绘制了所有从基础模型1B-160BT-8+42BT开始的后训练模型变体的ORM得分(avg@16)与Maj@16准确率的关系,发现ORM得分表现出持续强大的预测能力,这由ID和OOD任务上约0.62到0.84的高相关系数所证实。虽然我们观察到StrategyQA的相关性较低,但这可能是因为 1) StrategyQA更强调常识知识而非显式演绎推理,或者 2) 使用的奖励模型不太适合该数据集的特定问题分布。

图10:不同任务上准确率与ORM得分的相关性。每个子图代表一个数据集,其中每个点对应一个模型变体。虚线表示线性趋势,每个标题中报告了皮尔逊相关系数。
图10:不同任务上准确率与ORM得分的相关性。每个子图代表一个数据集,其中每个点对应一个模型变体。虚线表示线性趋势,每个标题中报告了皮尔逊相关系数。

ORM得分与下游准确率之间的非平凡相关性表明,大型ORM产生的分数可以作为评估后训练阶段生成质量的可靠无监督代理指标。例如,在收集足够高质量测试样本具有挑战性的数据受限场景中,ORM得分尤其有用。当直接测试不切实际时,例如在最终答案本身难以自动提取和验证的任务中,ORM评分也具有优势。此外,ORM的泛化能力使从业者能够在现有推理任务上训练它们,并应用于其他数据受限的推理任务。在这种情况下,ORM得分能够在不依赖大量标记评估数据集的情况下,实现模型的有效验证和迭代优化。

要点12:与验证损失相比,ORM得分可能是一个更可靠的无监督验证指标,有助于在后训练期间预测下游任务性能。值得注意的是,一个8B奖励模型的ORM得分与1B模型在许多下游推理任务上的问题解决准确率有很好的相关性。

A4 实验环境

模型架构
* 所有模型均基于LLaMA-2架构,参数量分为0.5B、1B和4B。具体参数如层数、隐藏层大小、注意力头数等见附录表5。

数据集
* 预训练:FineWeb-Edu 【索引38,The fineweb datasets: Decanting the web for the finest text data at scale,2024,Advances in Neural Information Processing Systems】,一个包含约1.3万亿词元的高质量学术和教育网络文本。
* 持续预训练 (CPT):FineMath 【索引2,Smollm2: When smol goes big – data-centric training of a small language model,2025】,一个包含约500亿词元的数学文本数据集。CPT阶段也使用了FineWeb-Edu进行数据重放。
* 监督微调 (SFT) / 强化学习 (RL):混合使用了OpenMathInstruct2 【索引55,Openmathinstruct-2: Accelerating ai for math with massive open-source instruction data,2024,arXiv preprint arXiv:2410.01560】、MetaMathQA 【索引63,Metamath: Bootstrap your own mathematical questions for large language models,2023,arXiv preprint arXiv:2309.12284】 和 NuminaMath 【索引31,NuminaMath,2024,https://huggingface.co/AI-MO/NuminaMath-CoT 】 这三个数学指令微调数据集。

硬件配置
* GPU:最多使用32块NVIDIA H100 80GB HBM3 GPU进行所有阶段的训练。

软件配置
* 训练框架:使用了LitGPT 【索引1,Litgpt,2023,https://github.com/Lightning-AI/litgpt】 、LlamaFactory 【索引71,Llamafactory: Unified efficient fine-tuning of 100+ language models,2024,Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)】 和 HybridFlow 【索引49,Hybridflow: A flexible and efficient rlhf framework,2024,arXiv preprint arXiv: 2409.19256】 等开源工具包。
* 优化器:所有训练阶段均使用AdamW优化器。
* 推理框架:使用vLLM框架 【索引29,Efficient memory management for large language model serving with pagedattention,2023,Proceedings of the ACM SIGOPS 29th Symposium on Operating Systems Principles】进行评估。

A5 结论

本文系统地研究了训练词元数和模型大小等因素如何影响语言模型的上游和下游性能。我们的研究揭示了规模化趋势、过度训练带来的收益递减,以及在领域特定的持续预训练中谨慎管理以防止遗忘的重要性。此外,我们强调了ORM得分可作为下游任务性能的可靠指标。

我们承认研究存在几个局限性。首先,我们主要对参数量最高为4B的模型进行了定性分析。未来的研究应调查观察到的趋势是否能推广到更大的模型,并寻找更优的超参数。其次,我们专注于以推理为中心的后训练目标,对于安全对齐、指令遵循、工具调用和编码任务等目标的动态尚未探索。最后,我们的RL实验仅采用了带有可验证奖励的近端策略优化(PPO)。探索替代的强化学习方法可能会为它们对下游能力的影响提供更广泛的见解。

总的来说,我们倡导开源研究以增强透明度,通过社区的努力更好地理解、控制和负责任地管理机器学习模型。

A6 附录

A.1 预训练模型的观察性比较

与开源模型的性能对比。表4将我们的预训练模型与包括OPT【索引69,Opt: Open pre-trained transformer language models,2022,arXiv preprint arXiv:2205.01068】、Pythia【索引5,Pythia: A suite for analyzing large language models across training and scaling,2023,International Conference on Machine Learning】、TinyLlama【索引68,Tinyllama: An open-source small language model,2024,arXiv preprint arXiv:2401.02385】、Llama【索引56,Llama: Open and efficient foundation language models,2023,arXiv preprint arXiv:2302.13971】和Qwen【索引3,Qwen technical report,2023,arXiv preprint arXiv:2309.16609】在内的多个开源权重模型进行了比较。我们的模型,虽然在显著更少的词元(我们的1B和4B模型为320B词元)上预训练,但与TinyLlama-1B(在2T词元上训练)和Qwen1.5-4B(在3T词元上训练)等其他最先进的小型模型相比,表现出了有竞争力的性能。

过度预训练的收益递减现象。具体来说,尽管TinyLlama-1B和Qwen1.5-4B模型分别使用了6.25倍和9.38倍的词元进行训练,我们的1B和4B模型在HellaSwag (H/S)、Winogrande (W/G)、PIQA、OBQA、ARC-Easy (ARC-E)和ARC-Challenge (ARC-C)等标准基准测试中取得了相似或稍好的结果。这一经验观察与我们在3.1节的实验发现一致,突显了过度预训练的收益递减:超过某个最优计算阈值后,额外的预训练对通用领域上游任务性能的增量收益极小。

表4:各种小型语言模型的上游基准比较。所有分数均为百分比。我们用粗体突出显示了我们的基础模型性能,用红色标出性能相当的模型,用绿色标出性能相似但经过过度训练的模型。
表4:各种小型语言模型的上游基准比较。所有分数均为百分比。我们用粗体突出显示了我们的基础模型性能,用红色标出性能相当的模型,用绿色标出性能相似但经过过度训练的模型。

A.2 扩展RL计算量

RL计算量分配策略。为了进一步探究扩展RL计算量的有效实践,我们在图11中以“样本-周期”(#样本 × #周期,单位为$10^5$)为单位绘制了结果。我们使用了与3.4节相同的配置。在固定的计算预算下,将更多周期分配给一个中等大小的数据集(例如,100K×8 = 800K 样本-周期)通常比将计算量分散在更大数据集上但周期数更少,能产生更高的ID和OOD性能。此外,使用过多训练样本进行RL有时可能因响应过长且未完成而导致性能崩溃(如图11中的叉号和图12中的响应长度所示),而我们在使用过多训练周期进行RL时并未观察到此类问题(如图13所示)。这表明,对每个样本进行更深度的策略优化比更广泛的数据覆盖对于RL扩展更具成本效益,这与【索引58,Reinforcement learning for reasoning in large language models with one training example,2025,arXiv preprint arXiv:2504.20571】提出的发现一致,即使用甚至只有一个训练样本的RL也能有效激励LLM的数学推理能力。

图11:下游任务性能与RL计算量的关系。一个叉号标记表示模型倾向于生成超过其上下文窗口限制的响应。
图11:下游任务性能与RL计算量的关系。一个叉号标记表示模型倾向于生成超过其上下文窗口限制的响应。
图12:在调整1B-160BT-8+42BT-100Kep1-400Kep8时,响应长度与训练步数的关系。
图12:在调整1B-160BT-8+42BT-100Kep1-400Kep8时,响应长度与训练步数的关系。
图13:在调整1B-160BT-8+42BT-100Kep1-100Kep32时,响应长度与训练步数的关系。
图13:在调整1B-160BT-8+42BT-100Kep1-100Kep32时,响应长度与训练步数的关系。

A.3 后训练模型的校准问题

后训练模型的校准问题。我们的上游评估表明,经过后训练的语言模型在通过验证PPL(困惑度)进行评估时表现出显著的校准问题。我们对每个后训练模型在验证集(与训练集不相交)上评估PPL。如图14所示,我们观察到验证困惑度与下游任务准确率在各种数据集上几乎没有相关性。具体来说,皮尔逊相关系数接近于零,这再次证实了低困惑度并不能可靠地预测增强的生成式推理性能。这与4.2节中讨论的ORM得分所表现出的强大预测能力形成鲜明对比。虽然验证困惑度通常用于监控模型质量,但它在后训练阶段,特别是在评估生成式推理任务时,是不足够的。在实践中,仅依赖困惑度作为验证指标可能会在训练期间误导资源分配决策。

图14:不同任务上准确率与验证PPL的相关性。每个子图代表一个数据集,其中每个点对应一个后训练模型变体。虚线表示线性趋势,每个标题中报告了皮尔逊相关系数。
图14:不同任务上准确率与验证PPL的相关性。每个子图代表一个数据集,其中每个点对应一个后训练模型变体。虚线表示线性趋势,每个标题中报告了皮尔逊相关系数。

B 可复现性

B.1 模型架构

模型架构细节。我们在表5中展示了0.5B、1B和4B模型的架构细节。

表5:模型架构细节。
表5:模型架构细节。

B.2 训练细节

B.2.1 超参数

训练超参数。预训练/持续预训练、SFT和RL的超参数分别显示在表6、表7和表8中。我们对所有训练阶段使用AdamW优化器和最多32个NVIDIA H100 80GB HBM3 GPU。对于预训练、持续预训练和SFT,我们使用标准的预热-余弦-衰减策略来安排学习率。对于RL,我们应用预热-恒定学习率调度。

表6:预训练/持续预训练的超参数。
表6:预训练/持续预训练的超参数。
表7:监督微调的超参数。
表7:监督微调的超参数。
表8:强化学习(PPO)的超参数。
表8:强化学习(PPO)的超参数。

B.2.2 SFT/RL 模板

SFT/RL提示模板。我们使用以下模板进行SFT和RL微调:

SFT/RL模板
SFT/RL模板

B.2.3 训练数据

训练数据来源
* FineWeb-Edu 【索引38,The fineweb datasets: Decanting the web for the finest text data at scale,2024,Advances in Neural Information Processing Systems】:一个源自网络内容的广泛教育数据集,专门为在高质量学术和教育文本上预训练语言模型而设计。总计约1.3万亿词元。
* FineMath 【索引38,The fineweb datasets: Decanting the web for the finest text data at scale,2024,Advances in Neural Information Processing Systems】:一个精心策划的数学文本、问题和解决方案的数据集,旨在增强语言模型的数学知识。总计约500亿词元。
* OpenMathInstruct2 【索引55,Openmathinstruct-2: Accelerating ai for math with massive open-source instruction data,2024,arXiv preprint arXiv:2410.01560】、MetaMathQA 【索引63,Metamath: Bootstrap your own mathematical questions for large language models,2023,arXiv preprint arXiv:2309.12284】、NuminaMath 【索引31,NuminaMath,2024,https://huggingface.co/AI-MO/NuminaMath-CoT】:包含数学问题与逐步解决方案和解释配对的指令微调数据集,旨在提高LLM的数学推理能力。这些数据集中与提示相对应的响应是通过提示Qwen2.5-7B-Math-Instruct模型【索引60 ,Qwen2. 5-math technical report: Toward mathematical expert model via self-improvement,2024,arXiv preprint arXiv:2409.12122】收集的。

B.3 评估细节

B.3.1 基准测试和采样参数

基准测试与采样参数。对于所有测试数据集和所有模型,我们直接使用与SFT/RL相同的提示模板向模型提问。我们设置贪心解码的温度为0,带随机性的解码温度为1(生成数量为16),并将重复惩罚设置为1.1。我们使用vLLM框架【索引29,Efficient memory management for large language model serving with pagedattention,2023,Proceedings of the ACM SIGOPS 29th Symposium on Operating Systems Principles】进行推理。每个测试数据集的详细信息如下。

  • MATH 【索引20,Measuring mathematical problem solving with the math dataset,2021,arXiv preprint arXiv:2103.03874】是一个旨在评估数学推理的大规模基准。它包含12,500个来自数学竞赛的挑战性问题,分为代数、几何、微积分和数论等七个主题,并分为5个难度级别。每个问题都需要生成详细的、逐步的解决方案,而不是简单的数值答案,强调全面的推理技巧和逻辑推导。
  • GSM8K-Platinum 【索引57,Do large language model benchmarks test reliability?,2025,arXiv preprint arXiv:2502.03461】是GSM8K【索引12,Training verifiers to solve math word problems,2021,arXiv preprint arXiv:2110.14168】的手动清理和去噪版本,后者是一个包含8500个高质量、语言多样的-school数学应用题的基准,专为多步推理(2到8步)设计。解决方案涉及基本算术运算,不需要超出初级代数的概念。其测试集包含1319个独特问题。
  • BoardgameQA 【索引28,Boardgameqa: A dataset for natural language reasoning with contradictory information,2023,Advances in Neural Information Processing Systems】是一个逻辑推理基准,旨在评估语言模型使用可废止推理处理矛盾信息的能力,其中冲突根据来源偏好(如可信度或新近度)来解决。其测试集包含15000个独特问题。
  • CRUXEval 【索引19,Cruxeval: A benchmark for code reasoning, understanding and execution,2024,arXiv preprint arXiv:2401.03065】是一个用于评估代码推理、理解和执行的基准,包含800个Python函数(3-13行)以及用于输入和输出预测任务的输入输出对。给定一个函数片段和一个输入示例,LLM的任务是生成相应的输出。其测试集包含800个独特问题。
  • StrategyQA 【索引18,Did aristotle use a laptop? a question answering benchmark with implicit reasoning strategies,2021,Transactions of the Association for Computational Linguistics】是一个常识问答基准,专为多跳推理设计,其中必要的推理步骤是隐含的,必须通过策略来推断。2780个示例中的每一个都包括一个策略问题、其逐步分解和支持性的维基百科证据。
  • TabMWP 【索引35,Dynamic prompt learning via policy gradient for semi-structured mathematical reasoning,2022,arXiv preprint arXiv:2209.14610】是一个为评估基于表格数据的数学推理而引入的基准。它包含约38,000个数学应用题,每个问题都与相关表格相关联,涵盖了算术运算、比较和聚合任务等多种数学推理类型。

B.3.2 统计显著性

统计显著性。在B.3.2节中,我们展示了第3节所有主要结果中模型在ID和OOD任务上性能的标准误差,包括Maj@16、Pass@16、RM@16、ORM得分和正确率。结果来自四个不同随机种子的实验。

统计显著性表格
统计显著性表格

B.3.3 模型输出示例

模型输出示例。我们展示3个输入输出示例。输出是从模型1B-160BT-8+42BT100Kep1-100Kep8收集的。

(GSM8KPlatinum)

[模型输入]

人类:在巴厘岛度假时,Thea从一位工匠那里买了一顶价值70美元的帽子。如果她给了工匠四张20美元的钞票,她得到了多少找零?

助理:

[模型输出]

为了确定Thea得到了多少找零,我们需要遵循以下步骤: 1. 计算帽子的总成本。 2. 从她收到的金额中减去她为帽子支付的金额。 首先,帽子的成本是70美元。她给了工匠四张20美元的钞票。因此,她给出的总金额是: 4 × 20 = 80美元。 接下来,我们从帽子的总成本中减去她为帽子支付的金额: 70 − 80 进行减法运算: 70 − 80 = −10 所以,Thea得到了10美元的找零。最终答案是:10美元。Thea得到的找零是10美元。因此,答案是:10美元。最终答案是:10美元。

(CRUXEval)

[模型输入]

人类:你被给予以下函数:

def f(array):
    new_array = array.copy()
    new_array = reversed(new_array)
    return [x*x for x in new_array]

你还被给予以下输入(输入的顺序与函数中输入变量的顺序相同):

[1, 2, 1]

使用给定的函数和输入,输出会是什么?

助理:

[模型输出]

为了找到函数f的输出,我们需要逐步应用该函数。该函数以一个名为“array”的数组开始,并将其元素复制到一个名为“new_array”的新数组中。然后,它反转“new_array”中元素的顺序。最后,它返回一个包含“new_array”中每个元素平方的列表。

给定的输入是:[1, 2, 1]
所以,当我们应用该函数时,我们得到:
f ([1, 2, 1]) = [12, 22, 12]
现在,输出是:[1, 4, 1]
因此,输出是:[1, 4, 1]

(BoardGameQA)

[模型输入]

人类:解决以下问题。你的最终答案应该是“True”、“False”或“Uncertain”。

几个玩家正在玩一个棋盘游戏。游戏的当前状态如下。蚂蚁向猫头鹰隐藏了她拥有的卡片。吉娃娃借用了蠕虫的一件武器。哈士奇向蠕虫透露了一个秘密。猫头鹰有六个朋友。蠕虫有8个朋友。蠕虫有一个半径为16英寸的足球。游戏的规则如下。规则1:如果蠕虫有一个能放进26.7 x 34.4 x 38.5英寸盒子里的足球,那么蠕虫不会对德国牧羊犬发誓。规则2:如果哈士奇向蠕虫透露了一个秘密,并且吉娃娃借用了蠕虫的一件武器,那么蠕虫成功说服了猴子。规则3:如果猫头鹰的朋友少于九个,那么猫头鹰会对海豚大喊。规则4:这里有一条关于蠕虫的重要信息:如果它有超过2个朋友,那么它肯定不会对德国牧羊犬发誓。规则5:如果你确定你看到其中一只动物与蜜蜂跳舞,你可以肯定它不会成功说服猴子。规则6:当某物成功说服猴子但没有对德国牧羊犬发誓时要小心,因为在这种情况下,它肯定会向老鼠隐藏她的卡片(这可能有问题也可能没有)。规则7:如果至少有一只动物对海豚大喊,那么蠕虫不会向老鼠隐藏她的卡片。规则5优先于规则2。规则6优先于规则7。根据游戏状态、规则和偏好,蠕虫是否向老鼠隐藏了她拥有的卡片?

助理:

[模型输出]

为了确定蠕虫是否成功说服猴子,我们需要逐步遵循给定的规则和偏好。
1. 规则1:如果蠕虫有一个能放进26.7 x 34.4 x 38.5英寸盒子里的足球,那么蠕虫不会对德国牧羊犬发誓。
- 这条规则满足。
2. 规则2:如果哈士奇向蠕虫透露了一个秘密,那么蠕虫成功说服了猴子。
- 这条规则满足。
3. 规则3:如果猫头鹰的朋友少于九个,那么猫头鹰会对海豚大喊。
- 这条规则不满足。
4. 规则4:这里有一条关于蠕虫的重要信息:如果它有超过2个朋友,那么它肯定不会对德国牧羊犬发誓。
- 这条规则满足。
5. 规则5:如果你确定你看到其中一只动物与蜜蜂跳舞,你可以肯定它不会成功说服猴子。
- 这条规则满足。
6. 规则6:当某物成功说服猴子但没有对德国牧羊犬发誓时要小心,因为在这种情况下,它肯定会向老鼠隐藏她的卡片。
- 这条规则不满足。
因此,蠕虫成功说服了猴子。因此,最终答案是:True。