从GRPO到DAPO再到GSPO:大语言模型强化学习优化策略演进解析
近年来,大语言模型的强化学习训练方法经历了从PPO到GRPO,再到DAPO和GSPO的重要演进。这一系列技术革新不仅解决了传统方法在长文本输出和复杂任务处理中的局限性,更为现代AI系统的稳定性和效率提升奠定了坚实基础。从依赖价值模型的PPO到完全摆脱此限制的GRPO,再到针对特定场景优化的DAPO,最终发展到面向MoE架构的GSPO,每一次迭代都体现了对训练机制深层次理解的深化。
GRPO的出现标志着强化学习在大语言模型应用中的一个重要转折点。传统的PPO算法需要依赖价值模型来估计状态价值,这在处理长文本时往往导致价值估计不准确,进而影响训练稳定性。GRPO通过移除对价值模型的依赖,直接基于序列级别的优势函数进行优化,显著提升了算法的可扩展性。然而,GRPO在实际应用中仍面临效率和稳定性方面的挑战,这促使了后续DAPO和GSPO的诞生。
DAPO在保持GRPO基本框架的基础上,针对实际训练中遇到的具体问题提出了四个关键改进。首先,Clip-Higher机制解决了好令牌过早被裁剪的问题;其次,动态采样确保了样本多样性,避免了无效样本的大量浪费;第三,令牌级梯度损失保证了长响应不会稀释有价值的梯度信号;最后,超长奖励塑造机制有效处理了过度冗长响应的负面影响。
GSPO则代表了更加根本性的变革,它将优化粒度从令牌级别提升到序列级别,从根本上减少了高方差和结构噪声的影响。特别是在MoE架构中,GSPO通过序列级重要性比率替代令牌级比率,有效解决了传统方法在动态专家激活场景下的不稳定性问题。
GRPO的核心机制与重要性采样原理
GRPO的训练目标函数体现了其独特的设计理念。该目标函数通过重要性采样机制,在不重新采样的前提下利用旧策略数据评估新策略的期望值。重要性采样的本质在于,当我们要计算新分布下的期望值但数据来自旧分布时,使用相同动作在新旧策略下的概率比作为校正权重。
这种机制允许我们使用旧策略的离线数据来评估新策略下的期望值,避免了每次更新后重新采样的高昂成本。然而,当新旧策略差距过大时,权重的方差可能变得非常高,导致训练不稳定。这就是为什么GRPO引入了裁剪机制来限制更新幅度,防止策略偏离旧策略过远。
在GRPO框架中,每个令牌的重要性比率定义为新策略与旧策略在给定状态下选择相同动作的概率比值。这个比率反映了新策略相对于旧策略对该动作的偏好程度。当比率大于1时,表示新策略更倾向于选择该动作;当比率小于1时,则表示新策略对该动作的偏好降低。
优势函数与重要性比率的符号组合决定了策略更新的方向和幅度。当优势函数为正且重要性比率大于1时,表明当前动作表现良好且新策略已表现出更强的偏好,此时应继续强化这种倾向。相反,当优势函数为负且重要性比率小于1时,表明当前动作表现不佳且新策略已表现出较低的偏好,此时应进一步减少该动作的选择概率。
裁剪操作在GRPO中发挥着至关重要的作用。对于正优势情况,当重要性比率超过上限阈值时,裁剪会将其限制在合理范围内,避免过度更新。对于负优势情况,当重要性比率低于下限阈值时,同样会受到裁剪限制。这种双向约束机制确保了策略更新的稳定性,防止因单次更新幅度过大而导致训练发散。
然而,裁剪操作也带来了潜在问题。当重要性比率超出裁剪范围时,相应的梯度会被置零,这意味着这些令牌对训练的贡献完全消失。这种现象在实践中可能导致有价值的信息丢失,特别是在长序列训练中,部分令牌的梯度信号可能因为裁剪而完全消失。
DAPO的精细化改进策略
DAPO的设计动机源于对GRPO实际应用中效率损失的深刻认识。在实际训练过程中,GRPO经常因为不合理的裁剪范围、冗余采样和长序列中的梯度稀释等问题而浪费大量学习信号。DAPO通过四个针对性改进解决了这些问题,显著提升了训练效率和稳定性。
Clip-Higher机制是DAPO的第一个重要创新。传统的裁剪策略使用对称的上下限,即1-ε和1+ε。然而,研究发现这种对称设置可能导致好令牌被过早裁剪的问题。当旧策略对某个令牌分配极低概率,但该令牌的优势为正时,当前策略增加其概率的空间非常有限,即使这种增加正是我们所期望的。
例如,如果旧策略的概率为0.2,ε=0.2,则上限变为0.24。在这种情况下,即使当前策略将概率提高到0.4(这是一个很好的改进),过小的ε也会导致其被裁剪,实际上丢弃了该令牌。DAPO通过提高上限阈值解决了这个问题,使得真正优秀的令牌能够获得充分的优化空间。
动态采样是DAPO的第二个创新点。传统的采样策略可能导致所有样本都具有相同的奖励水平,比如全部为满分或零分。由于GRPO的计算方式,所有10个样本的优势都会为零,从而贡献零梯度。这意味着有效梯度贡献样本的数量远低于名义样本数量,导致高方差、训练不稳定和样本浪费。
为了应对这个问题,DAPO强制执行额外的采样规则:对于每个查询,采样的响应集不能全部具有0或1的奖励。如果所有样本都是0或都是1,则会抽取额外样本直到违反此条件。这种约束确保了对于相同输入,采样集中同时包含正确和错误的答案,提高了样本的多样性。
令牌级梯度损失是DAPO的第三个重要改进。在GRPO中,每个令牌的梯度权重随着采样响应长度的增加而减少。假设我们采样两次:一个响应有200个令牌,另一个有10个令牌。在GRPO公式中,我们首先平均每个样本内的梯度,然后在批次间平均。这给第一个响应中的每个令牌赋予了(1/200)×(1/2)的权重,而第二个响应中的每个令牌获得(1/10)×(1/2)的权重。较短响应的令牌因此具有更大的影响。
DAPO通过在整个样本生成的所有令牌总数上平均来计算梯度,解决了这个问题。在我们的例子中,长响应和短响应都给每个令牌赋予1/(200+10)的权重。这平等对待所有令牌,提高了长样本训练的效率。
超长奖励塑造是DAPO的第四个改进。该机制使用软惩罚机制调整过度长响应的奖励。具体来说,一旦生成序列超过预定义的第一长度阈值,就开始惩罚令牌,惩罚随长度线性增加。如果长度超过第二阈值,惩罚大到足以抵消正确答案的原始奖励,有效地模拟了过度长响应被视为无效的情况。
GSPO的序列级优化理念
如果说DAPO是在GRPO框架内的精细化改进,那么GSPO则采取了更加根本性的步骤:将优化粒度从令牌级改为序列级。这种转变的动机源于在MoE架构训练中,GRPO的重要性采样引入了大的方差和不稳定性。
GSPO的核心思想是在奖励处理期间减少对逐令牌优化的依赖,更多地关注整体序列结果。传统的PPO和GRPO通常单独优化模型输出中的每个令牌,给一些令牌更高的权重,其他令牌更低的权重。虽然这旨在实现细粒度优化,但在长文本、大模型场景中,这反而可能引入噪声和奖励偏差,使模型失去方向,甚至突然崩溃。
问题的根源在于我们基于完整响应评估模型,却逐令牌训练它,导致奖励粒度与优化目标不匹配。GSPO通过从逐令牌评分切换到序列级优化来对齐奖励和优化目标。这种转变提供了两个主要好处:稳定性和效率。GSPO优化整个序列,减少来自令牌级波动的训练噪声;同时过滤并保留高质量样本进行优化,加速收敛并改善结果。
在MoE架构中,这些好处更加显著。由于每次推理只激活一小部分专家模块,路由路径是动态且难以控制的。传统方法通常依赖路由重放,记录推理期间的专家激活并在训练期间强制执行相同的路由,以确保一致性。虽然有效,但这大大增加了工程成本并限制了性能。GSPO的序列级逻辑天然避免了对路由重放的需求,使MoE训练更轻量级和稳定。
MoE架构下的训练挑战与解决方案
GRPO在MoE架构训练中面临的挑战主要源于专家激活的波动性。新旧策略可能激活不同的专家,引入结构性偏差和噪声。当πθold更新时,路由器也可能改变,因此两个策略甚至在仅经过一个训练步骤后也可能激活完全不同的一组专家。这导致输出概率的大波动,异常频繁地触发裁剪。
理论上,重要性比率应该反映在相同结构下参数更新引起的概率变化。但专家变化导致与优化方向无关的不可预测、高方差波动。这种方差扭曲了策略梯度估计,使训练不稳定甚至导致崩溃。
传统的路由重放方法记录从πθold采样期间的专家激活,并在训练期间强制πθ使用相同的路由路径。缺点是工程和基础设施成本高且效率低下,πθ可能找到了更好的路由路径但被迫遵循旧的路径。
GSPO通过序列级重要性比率si(θ)替代令牌级比率ri,t(θ),从根本上解决了这个问题。序列级比率是长度归一化的,以减少方差并保持值的一致尺度。没有归一化,不同长度的答案会使比率高度长度敏感。由于同一序列的所有令牌共享相同的重要性比率,如果触发裁剪,将裁剪整个序列,而不是某些令牌。
理论梯度分析与算法比较
从目标函数定义来看,GSPO与GRPO的关键区别在于如何定义和使用重要性比率进行梯度计算。在没有裁剪的情况下,区别在于是否在同一条响应内对令牌进行不同加权。GRPO根据ri,t(θ)为每个令牌分配自己的权重,而GSPO对序列中的所有令牌应用相同的si(θ)。
GSPO的梯度计算确保了序列内梯度的一致性,所有令牌在响应中共享相同的权重si(θ)Ai/|oi|。相比之下,GRPO的权重ri,t(θ)Ai/|oi|因令牌位置和上下文而异,导致更高的方差,特别是在长序列或MoE模型中。
裁剪与这些比率的交互方式也存在差异。对于正优势样本,GRPO的比率范围大致为[0, 1.x];对于负优势样本,它可以是[0.x, ∞),范围宽得多。在长序列中,这种不对称性的噪声可能会累积,导致GRPO下的MoE不稳定性。
实验表明,尽管GSPO由于更积极的裁剪而使用较少的有效令牌,但仍实现了更高的训练效率。这证明了序列级优化在减少方差和提高训练稳定性方面的有效性。
技术演进的意义与未来展望
从PPO到GRPO再到GSPO的技术演进路径反映了大语言模型强化学习训练方法的不断成熟。每一次改进都针对前一代方法的局限性提出了有效的解决方案,推动了整个领域向前发展。
GRPO通过移除对价值模型的依赖,解决了PPO在长文本处理中的瓶颈。DAPO通过精细化的改进措施,进一步提升了训练效率和稳定性。GSPO则通过根本性的范式转换,为MoE架构等复杂场景提供了稳定的训练方案。
这些技术进步不仅在理论上具有重要意义,在实际应用中也产生了巨大价值。现代大语言模型的成功很大程度上依赖于这些先进的训练方法,它们使得模型能够在复杂任务上表现出色,同时保持训练过程的稳定性和可控性。
未来的发展方向可能包括进一步优化序列级训练方法,探索更高效的重要性采样策略,以及开发适用于更多特殊架构的定制化训练算法。随着模型规模的持续增长和应用场景的不断扩展,强化学习训练方法将继续演进,为AI系统的能力提升提供强有力的技术支撑。
总的来说,从GRPO到DAPO再到GSPO的演进历程展示了机器学习领域在解决实际问题过程中展现出的创新精神和科学严谨性。这些方法不仅推动了技术进步,也为后续研究提供了宝贵的理论基础和实践经验。