Workflow
LLM推理训练
icon
搜索文档
强化学习的进化:从PPO到MaxRL,LLM推理训练的算法演进史
机器之心· 2026-05-01 13:04
强化学习在大型语言模型推理训练中的演进 - 强化学习已成为大型语言模型后训练技术栈中最重要的技术之一,是促成GPT-3向InstructGPT转变的关键要素,也是当前推理能力提升浪潮的核心[1] - 第一代方法以PPO为主导,第二代方法在提升推理能力的目标驱动下,带来了新一轮的算法演进,涌现了大量变体[2] - 文章概述了2024至2026年间用于推理大型语言模型的强化学习主要进展,从REINFORCE和PPO的基础知识讲起,随后探讨GRPO及其后续的改进与优化方法[2] REINFORCE算法 - REINFORCE是策略梯度方法的基础,其目标函数梯度形式简单,本质上是一种带有权重的监督微调形式,根据奖励对采样的答案进行加权以强化或惩罚它们[13] - 该算法的主要缺点是方差较大,不同样本之间的梯度估计值可能存在巨大差异[14] - 为减小方差,REINFORCE会减去一个与采样回复无关的基线,这通常能大幅降低方差,此时梯度中的数量 `r(x,y)-b(x)` 是优势估计的最简单形式[15][16][17] PPO算法 - PPO曾是占据主导地位的通用策略梯度算法,也是过去几年里RLHF的默认选择[18] - 其目标函数通过重要性采样比例和裁剪操作来限制优化过程偏离生成策略的程度,这是对信任域的一种近似计算[19][22][23] - PPO需要在内存中驻留四个庞大的组件:可训练策略、推演策略、参考策略以及价值模型[29] - 在完整形式下,PPO目标函数通常会结合KL正则化,以保留模型的通用能力并控制相对于奖励模型的分布偏移[28] GRPO算法 - GRPO最初在DeepSeekMath中提出,随后被DeepSeek-R1发扬光大,它移除了PPO的价值模型,取而代之的是一个相对组内的基线[30] - 关键洞察在于,通过将某条回复与同一提示词下的其他回复进行对比,就能为该回复获得一个良好的基线[31] - GRPO成功的更重要原因是移除了critic模型,这大幅减少了内存占用,使得面向推理模型的大规模强化学习更容易运行[33] - 在最初的公式中,GRPO目标函数保留了PPO风格的裁剪重要性采样,并包含了一个KL项[32] RLOO算法 - RLOO从不同方向得出类似结论:对于大型语言模型微调场景,PPO可能比实际需要的更复杂[35] - 对于每个提示词,RLOO会采样K个回复,回复的优势等于其奖励减去其他K-1个回复的平均奖励,这个基线是无偏的,并且不需要学习额外的价值模型[36][37] - RLOO放弃了PPO风格的裁剪,转回纯粹的REINFORCE风格更新[38] - 作者提出,在他们的实验中,PPO的裁剪机制仅在不到5%的情况下被激活,在这个场景下可能是不必要的[40] Dr. GRPO算法 - Dr. GRPO发现标准的样本级损失归一化引入了一种偏置,倾向于支持简短的正确回复以及冗长的错误回复[42] - 修复方法是改变损失聚合方式,不再先除以序列长度再除以批次大小,而是除以一个固定常量,这消除了使得错误答案变得不必要冗长的激励因素[42] - Dr. GRPO还移除了通过奖励标准差进行归一化的操作,因为当奖励方差很低时,微小的奖励差异会被放大成巨大的归一化优势,导致模型在已基本回答正确的提示词上接收到极不相称的巨大更新[43] - 其优势估计简化为 `r_i - μ_G`,没有除以标准差,并且损失是在token级别通过固定归一化进行聚合[44][45][46] DAPO算法 - DAPO对GRPO的多个组件进行了深入分析,并提出了四项改进[48] - 第一项改进是将样本级的均值计算替换为基于token级别的聚合计算[48] - 第二项改进是针对裁剪机制,采用非对称裁剪,使用一个更大的上界ε_high = 0.28,同时保留原有的下界ε_low = 0.2,以给予低概率token更多上升空间[48][49] - 第三项改变是超长奖励塑形,在硬性截断之前增加一个软性惩罚区域,为略微超长的回复提供更明确的学习信号[50] - 第四项改变是动态采样,如果某个提示词下采样的所有回复全部正确或全部错误,优势将为零,DAPO会持续采样直到每个提示词都出现正负混合的结果,以确保每个提示词都能提供学习信号[51] CISPO算法 - CISPO针对PPO风格裁剪的一个特定弱点:当一个token落在裁剪范围之外时,PPO会完全阻断其梯度,这可能抑制对高信息量token的学习[53] - CISPO将裁剪与梯度流进行解耦,仅裁剪重要性采样的权重,并对该权重应用停止梯度操作,允许所有token的梯度正常反向传播[54] - 在实验中,他们报告称只需使用并调节上边界裁剪项ε_h,下边界ε_l则被设置为一个足够大的值使其处于未激活状态[55] - 在MiniMax的实验中,与DAPO相比,CISPO的单步训练效率实现了两倍的提速[55] MaxRL算法 - MaxRL从一个完全不同的视角出发,认为标准的强化学习目标函数优化的是期望奖励,但研究人员经常观察到pass@1的提升往往以牺牲pass@k为代价[57] - 最大似然训练的梯度实际上是pass@k梯度的无限调和混合,而不仅仅是pass@1的梯度,标准的强化学习仅仅保留了该展开式的第一阶项[57] - MaxRL定义了一个受计算量索引截断的目标函数家族,其中T=1时恢复为标准的强化学习,而T→∞时则等同于最大似然估计[58] - 实证结果表明,MaxRL提升了pass@k性能,与GRPO相比,它能更好地保留输出多样性,并在测试时算力扩展的效率上带来了巨大的收益[62] DPPO算法 - DPPO更加直接地重新审视了信任域问题,其核心批判点在于PPO仅基于采样token的概率比例进行裁剪,这可能并不能很好地代表实际策略散度[64] - DPPO用基于预估策略散度定义的信任域取代了基于比例的掩码,在整个词表上计算精确的完整散度代价高昂,但采用二元近似或Top-K近似方法能取得不错的效果[64] - 从他们的实验中可以得出一个有趣的洞察:绝大部分的不稳定性仅由一小部分(不足0.5%)的更新引起,只要屏蔽这部分更新,就足以让训练变得稳定[67] - DPPO引出了一个关键问题,即在大型语言模型领域究竟应该如何定义信任域,并为此提供了一种解答方案[68] ScaleRL研究 - ScaleRL的重点并非发明新目标函数,而是探索在算力规模大幅扩张后,哪些设计选择依然至关重要[70] - 该研究报告了超过40万GPU小时的消融实验,并通过拟合“性能与算力”曲线来分析不同方法,这有助于分离方法在给定算力预算下性能提升的速度和最终达到的渐近性能[70] - 主要发现包括:倾向于流水线式的异步设置以提升计算效率;在众多异策略损失函数中,CISPO和GSPO在渐近性能上优于DAPO;在FP32精度下计算语言模型头可以显著提升渐近性能;提示词级别的损失平均化能带来最佳性能;将全对或全错的提示词从优化过程中排除以加速训练;将正确答案超过90%的提示词排除在未来的训练轮次之外,以实现更高的渐近性能[73] 算法演进模式与最佳实践 - 对于大型语言模型训练而言,critic模型似乎不再是必需项,自PPO之后,每一种方法都发现更简单的基线设定不仅能够达到甚至超越学习到的价值函数效果,还能节省约50%的内存[74] - 标准差归一化往往会产生副作用,会使模型过度关注那些几乎已经解决的问题,采用标准差归一化的DAPO在渐近性能上明显更低[75] - 损失聚合绝非无关紧要的细节,序列级奖励结合样本级均值的做法会扭曲每个token的学习信号,损失函数的规约是一个关键环节[75] - 信任域是一个极佳的优化切入点,PPO对信任域的定义似乎恰到好处,但最近许多新方法将目光对准了信任域并展示了更优的性能[75] - 一份初步的最佳实践正在成型,包括无critic模型训练、感知token或感知提示词的损失聚合、更柔性或更具原则性的信任域处理机制,以及对课程学习和算力分配日益明确的关注[76] 开放挑战 - 信用分配机制:现有的基于结果的方法将相同的奖励分配给回复中的所有token,效率很低,导致推理失败的关键token与周围无关紧要的词汇接收到的信号完全相同[78] - 样本效率:当前大多数训练配方依赖于为每个提示词生成多个推演结果来构建有效的相对基线,代价高昂,在验证成本很高或需要部分人工介入的情况下,情况会进一步恶化[78] - 极具挑战的难题:如果模型始终无法对某个提示词生成正确的推演结果,那么所有方法都无法提供任何梯度[79] - 向数学与代码领域之外的拓展:最近几乎所有的突破都源于验证成本低廉且对错分明的领域,将这些方法扩展到伴随噪声奖励、延迟奖励、主观评估或多轮交互的场景,依然是一项艰巨的任务[79] - 实证结果的可可靠性:该领域的大部分证据仍停留在实证层面,适用范围相对狭窄,且复现成本高昂,许多论文仅测试了单一模型家族、单一验证器设定、单一数据集组合以及固定的算力预算[80]