语言模型后训练:SFT与强化学习的优化策略
1. 语言模型后训练概述语言模型的后训练阶段是模型从通用能力向特定任务或领域迁移的关键环节。在这个阶段预训练好的基础模型通过特定方法进行进一步优化以适应下游应用需求。当前主流方法主要包括监督微调Supervised Fine-Tuning, SFT和强化学习Reinforcement Learning, RL两大类。1.1 监督微调的基本原理监督微调是最直接的后训练方法其核心思想是通过最小化模型预测与标注数据之间的差异来调整模型参数。具体来说给定标注数据集D{(x_i,y_i)}SFT通过优化以下负对数似然目标函数L_SFT(θ) -Σ log p_θ(y_i|x_i)其中p_θ(y_i|x_i)表示模型在参数θ下对输入x_i输出y_i的概率。这个过程本质上是在预训练模型的基础上通过梯度下降对模型进行精修。实践提示在实际应用中SFT的学习率通常设置为预训练时的1/10到1/100以防止过度偏离预训练获得的有用知识。1.2 强化学习的引入动机尽管SFT简单有效但研究发现其存在三个主要局限过拟合风险模型可能过度记忆训练数据中的噪声和特定模式泛化不足在未见数据上表现可能显著下降目标单一仅优化预测概率无法考虑更复杂的性能指标强化学习的引入为解决这些问题提供了新思路。RL框架将语言生成视为序列决策过程通过设计奖励函数来引导模型学习更复杂的优化目标。典型的RL目标函数可表示为L_RL(θ) E[R(y)|y∼p_θ(·|x)]其中R(y)是评估生成结果y质量的奖励函数。2. SFT与RL的结合方法2.1 混合训练范式当前最有效的后训练范式是将SFT与RL相结合形成两阶段训练流程SFT阶段使用高质量标注数据对预训练模型进行初步调整RL阶段基于SFT模型通过强化学习进一步优化特定目标这种组合既保留了SFT的高效性又通过RL引入了更灵活的优化目标。实验表明相比单独使用SFT混合方法在多个基准测试中可获得10-30%的性能提升。2.2 目标函数设计创新传统SFT仅使用负对数似然目标(-log p)但研究表明这在某些场景下并非最优。我们提出基于模型能力连续体的目标函数选择策略模型能力区域特点推荐目标模型强端(MS)预训练包含丰富相关知识-p目标模型中端(MI)部分相关知识-log p目标模型弱端(MW)几乎无相关知识传统SFT其中-p目标定义为L(θ)-Σ p_θ(y_i|x_i)它更倾向于信任模型的先验知识在模型强端表现尤为突出。3. 跨领域实验验证3.1 数学推理任务(MS)在数学推理领域我们使用NuminaMath-CoT数据集进行实验该数据集包含859k道数学题的思维链数据。实验设置如下模型LLaMA-3.1-8B, DeepSeekMath-7B等评估基准Math500, Minerva Math等关键发现-p目标相比-log p提升5-8%准确率大模型(14B)受益更明显操作细节数学推理任务中最大生成长度设置为4096 tokens以容纳完整推导过程温度参数设为1.0以平衡创造性和准确性。3.2 医学推理任务(MI)医学领域实验使用m23k数据集包含23k医学推理实例特点专业知识部分存在于预训练中结果-log p目标表现稳定-p目标在小模型上可能劣化3.3 低资源语言任务(MW)在低资源语言(如Marathi、Swahili等)场景下基础模型几乎无相关先验传统SFT(-log p)显著优于-p目标数据效率是关键挑战4. 实用技巧与问题排查4.1 学习率选择策略基于模型规模的学习率推荐小型模型(≤3B): 5e-5中型模型(7B): 2e-5大型模型(≥14B): 1e-5常见错误过高的学习率会导致模型忘记预训练知识表现为通用能力急剧下降。4.2 批量大小与训练长度不同任务的最佳配置数学推理micro-batch4, max_len3072医学推理micro-batch16, max_len1024文本游戏micro-batch16, max_len8004.3 典型问题与解决方案训练不稳定检查梯度裁剪(建议norm1.0)降低学习率20%重试性能不升反降验证数据质量尝试更小的模型子集过拟合迹象增加dropout(0.1-0.3)早停策略(patience3)5. 前沿发展与未来方向当前研究表明目标函数设计仍有很大探索空间。特别是动态混合目标根据训练过程自动调整-p和-log p的权重领域自适应自动检测模型能力区域并选择合适目标多任务协同联合优化多个相关任务的目标函数在实际项目中我们观察到7B模型在数学推理任务上使用-p目标时验证集准确率可从68.3%提升至75.6%同时训练时间仅增加15%。这种性价比使得混合方法在工业应用中极具吸引力。