大模型强化学习对齐方案:PPO、GRPO、DPO、DAPO与GSPO技术详解与对比 - Clear Eyes, Full Heart
LOADING
4084 words
20 minutes
大模型强化学习对齐方案:PPO、GRPO、DPO、DAPO与GSPO技术详解与对比

大模型强化学习对齐方案:PPO、GRPO、DPO、DAPO与GSPO技术详解与对比

大模型强化学习对齐(RLHF)通过构建奖励模型与策略优化机制,将人类偏好转化为可量化的优化目标,解决生成式模型输出不可控、价值观偏差等问题。在这一领域,PPO、GRPO、DPO、DAPO与GSPO构成了从经典到前沿的完整技术谱系。

前言

在前五篇对话中,我们沿着大模型强化学习对齐的技术演进脉络,逐一剖析了PPO、DPO、GRPO、DAPO和GSPO。这些方法并非孤立的”技术选项”,而是一条清晰的从”通用重器”到”专属利刃” 的进化之路:

篇章核心主题关键贡献
第一篇PPO信任域裁剪机制,奠定RLHF的稳定性基础
第二篇DPO用闭式解绕过强化学习,实现范式降维
第三篇GRPO组内相对比较替代价值网络,完成轻量化革命
第四篇DAPO四项工程优化,将GRPO打磨为工业级武器
第五篇GSPO序列级优化根治Token级缺陷,驯服MoE稳定性

本文将从12个核心维度出发,对这五种方法进行系统性解剖,并揭示其演进背后的底层逻辑——为什么某种方法在特定场景下必然被迭代?每次迭代到底解决了什么层次的矛盾?


一、总览图谱

在深入对比之前,我们先为每种算法建立”技术基因图谱”:

算法诞生背景核心哲学解决的根问题所属范式
PPO传统RL的稳定性危机带”刹车”的信任域优化策略更新步长失控导致训练崩溃在线-绝对价值
DPORLHF工程复杂度过高用闭式解绕过强化学习四模型协同训练的算力鸿沟离线-偏好分类
GRPOPPO价值网络成为算力瓶颈用组内相对比较替代绝对预测Critic网络的显存与误差双杀在线-相对比较
DAPOGRPO在长CoT中熵崩塌四项工程修补让GRPO工业化长思维链中的探索消亡与效率黑洞在线-相对比较(增强)
GSPOGRPO的Token级方差本质缺陷优化粒度对齐奖励粒度单次采样下的重要性比率失效在线-序列级比较

二、各算法核心机制精要

2.1 PPO(Proximal Policy Optimization):信任域策略优化的经典范式

核心机制:PPO通过概率比裁剪构建信任域约束,限制策略更新幅度,避免训练崩溃。

LCLIP(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]\mathcal{L}^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min\left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right]

其中:

  • rt(θ)=πθ(atst)/πθold(atst)r_t(\theta) = \pi_\theta(a_t|s_t) / \pi_{\theta_{\text{old}}}(a_t|s_t):新旧策略的概率比
  • A^t\hat{A}_t:通过GAE(Generalized Advantage Estimation) 计算的优势函数

关键设计:双模型架构(Actor + Critic),价值网络用于估计状态价值作为基线。工程上需同时维护4个大模型,资源消耗巨大。

2.2 GRPO(Group Relative Policy Optimization):去Critic的轻量化方案

改进动机:Critic网络训练存在两大痛点——价值函数估计误差会传导至策略更新;大模型场景下Value Model容易过拟合。

核心机制:对同一prompt采样GG个回答,用组内均值和标准差将奖励归一化为优势值:

A^i,t=Rimean({Rj})std({Rj})\hat{A}_{i,t} = \frac{R_i - \text{mean}(\{R_j\})}{\text{std}(\{R_j\})}

关键特征:对每个token独立计算重要性采样比ri,t(θ)r_{i,t}(\theta),这是GRPO与后续GSPO的关键分水岭。

JGRPO(θ)=Eq,{oi}i=1G[1Gi=1G1oit=1oimin(ri,t(θ)A^i,t,clip(ri,t(θ),1ϵ,1+ϵ)A^i,t)]βDKL(πθπref)\mathcal{J}_{\text{GRPO}}(\theta) = \mathbb{E}_{q, \{o_i\}_{i=1}^G} \left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \min\left( r_{i,t}(\theta) \hat{A}_{i,t}, \text{clip}(r_{i,t}(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_{i,t} \right) \right] - \beta D_{KL}(\pi_\theta \| \pi_{\text{ref}})

2.3 DPO(Direct Preference Optimization):直接偏好优化的范式革命

核心洞察:传统的两阶段RLHF(奖励模型训练 + PPO策略优化)在数学上等价于一个可直接优化的单阶段目标。

损失函数

LDPO(πθ;πref)=E(x,yw,yl)D[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma\left( \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} \right) \right]

关键特性:单模型架构,无需训练独立的奖励模型和价值网络,将RLHF转化为二元分类问题。

2.4 DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization):GRPO的推理增强版

四项核心改进

  1. Clip-Higher(解耦裁剪) :将裁剪区间从对称的[1ϵ,1+ϵ][1-\epsilon, 1+\epsilon]改为非对称的[1ϵlow,1+ϵhigh][1-\epsilon_{\text{low}}, 1+\epsilon_{\text{high}}]ϵhigh>ϵlow\epsilon_{\text{high}} > \epsilon_{\text{low}},给低概率”探索性”Token提供更大提升空间
  2. Dynamic Sampling(动态采样) :过滤组内奖励全部相同的无效组,确保每份计算资源都花在刀刃上
  3. Token-Level Policy Gradient Loss:将损失聚合从”序列内平均→序列间平均”改为”所有Token直接平均”,让长序列中每个Token平等贡献梯度
  4. Overlong Reward Shaping(过长奖励塑形) :渐进式惩罚替代硬截断,在鼓励探索和控制长度之间找到平衡

性能表现:在AIME 2024上取得50分(对比DeepSeek-R1-Zero-Qwen-32B的47分),完整开源了代码、数据和配置。

2.5 GSPO(Group Sequence Policy Optimization):序列级优化的稳定性突破

问题诊断:GRPO在Token级计算重要性采样比,但每个Token只被采样一次,无法有效进行分布校正——这是重要性采样理论的误用

核心创新:将重要性比率定义在序列似然层面:

si(θ)=(πθ(yix)πθold(yix))1yi=exp(1yit=1yilogπθ(yi,tx,yi,<t)πθold(yi,tx,yi,<t))s_i(\theta) = \left( \frac{\pi_\theta(y_i|x)}{\pi_{\theta_{\text{old}}}(y_i|x)} \right)^{\frac{1}{|y_i|}} = \exp\left( \frac{1}{|y_i|} \sum_{t=1}^{|y_i|} \log \frac{\pi_\theta(y_{i,t} | x, y_{i,<t})}{\pi_{\theta_{\text{old}}}(y_{i,t} | x, y_{i,<t})} \right)

关键突破:彻底解决了大规模MoE模型RL训练中的稳定性挑战,完全无需Routing Replay等复杂策略,已被HuggingFace TRL v0.20原生支持。


三、深度对比剖析

五种算法的核心差异速览

维度PPODPOGRPODAPOGSPO
模型数42333
价值网络✅ 需要
奖励模型✅ 需要✅ 需要✅ 需要✅ 需要
优化粒度Token序列TokenToken序列
裁剪方式对称对称非对称对称(序列级)
训练范式在线离线在线在线在线
探索能力中强
长序列适应性一般
MoE兼容性差(需Routing Replay)
超参数敏感度极高中高
可复现性
可扩展性易饱和数据受限易饱和持续持续

维度1:模型复杂度与显存占用(“重”与”轻”的本质)

算法需维护的模型资源策略
PPOActor + Critic + RM + Ref(4个)重资产,每个模型都是参数量级相同的大模型
DPOActor + Ref(2个)轻量化,通过数学推导干掉RM和Critic
GRPOActor + RM + Ref(3个)去掉Critic,显著降低显存占用
DAPOActor + RM + Ref(3个)GRPO基础上增加动态采样,略有额外生成成本
GSPOActor + RM + Ref(3个)模型数量不变,但计算更稳定,训推分离友好

深度分析:从PPO的4模型到DPO的2模型,这是数学层面的降维打击;从PPO的4模型到GRPO/GSPO的3模型,这是算法层面的简化。DPO虽轻,但牺牲了在线探索;GRPO系列用3模型保留了在线能力,是”性价比最优解”。

维度2:优势估计方法(“绝对价值” vs “相对排名”)

算法优势来源是否需要价值网络
PPOGAE:A^t=l=0(γλ)lδt+l\hat{A}_t = \sum_{l=0}^{\infty} (\gamma\lambda)^l \delta_{t+l}是,需训练Critic
DPO不计算优势,直接优化偏好分类
GRPO组内归一化:Rimean(R)std(R)\frac{R_i - \text{mean}(R)}{\text{std}(R)}
DAPO同GRPO,但动态采样保证组内有差异
GSPO同GRPO的组内归一化优势

深度分析:PPO试图预测”未来”(价值函数),这是一种前向估计,天生存在误差和偏差。GRPO系列则彻底转向后向比较——既然未来难以预测,不如直接看当下这组结果在群体中的相对位置。这种”相对主义”哲学极大地简化了问题。

维度3:优化粒度(Token级 vs 序列级的根本分歧)

这是GRPO与GSPO最本质的差异

算法优化粒度重要性比率形式方差特征
PPOToken级ri,t(θ)=πθ(ot)/πold(ot)r_{i,t}(\theta) = \pi_\theta(o_t) / \pi_{old}(o_t)方差随序列长度线性累积
DPO序列级不涉及比率,直接优化似然差异序列级分类损失,方差较低
GRPOToken级同PPO高方差,单次采样无法有效分布校正
DAPOToken级(但用Token-Level Loss聚合)同GRPO通过动态采样和Clip-Higher缓解,但本质未变
GSPO序列级si(θ)=(πθ(yi)/πold(yi))1/yis_i(\theta) = (\pi_\theta(y_i)/\pi_{old}(y_i))^{1/\|y_i\|}低方差,误差在几何平均中相互抵消

深度分析:GRPO/DAPO坚守Token级优化,是希望做细粒度信用分配。但问题在于,当每个Token只被采样一次时,这种”细粒度”只是一种幻觉——它实际上引入了巨大的噪声。GSPO的序列级优化,本质上是承认了奖励信号在序列级别的稀疏性,用”粗粒度但高信噪比”的优化替代了”细粒度但低信噪比”的优化。

维度4:裁剪机制(稳定性的”刹车”设计)

算法裁剪方式裁剪区间设计哲学
PPOToken级对称裁剪[1ϵ,1+ϵ][1-\epsilon, 1+\epsilon]ϵ=0.2\epsilon=0.2保守的等距约束
DPO无裁剪(监督学习)不适用无需稳定性刹车
GRPOToken级对称裁剪(同PPO)[1ϵ,1+ϵ][1-\epsilon, 1+\epsilon]继承PPO的保守设计
DAPOToken级非对称裁剪[1ϵlow,1+ϵhigh][1-\epsilon_{low}, 1+\epsilon_{high}]ϵhigh>ϵlow\epsilon_{high} > \epsilon_{low}Clip-Higher:给探索token留出更大空间
GSPO序列级对称裁剪[1ϵ,1+ϵ][1-\epsilon, 1+\epsilon](作用于整个序列)“一刀切”:整个序列出格则全部抑制

深度分析:裁剪机制从PPO到DAPO的演进,反映了研究者对”探索”态度的变化——PPO保守(等距裁剪),DAPO激进(非对称,上界更大),而GSPO则因为粒度的改变,裁剪的含义完全变了:它不再抑制个别Token,而是抑制整个序列的梯度。

维度5:训练范式(在线 vs 离线,探索 vs 利用)

算法训练范式数据来源探索能力
PPO在线(On-policy)当前策略采样强(但依赖熵正则化)
DPO离线(Offline)静态偏好数据集(完全依赖历史数据)
GRPO在线当前策略采样中等(组内采样,但熵易崩塌)
DAPO在线当前策略采样 + 动态过滤(Clip-Higher打破熵崩塌)
GSPO在线当前策略采样中等偏强(序列级优化方差低,稳定探索)

深度分析:DPO的离线特性是其最大的效率优势,也是最致命的局限——它无法生成训练中”未曾见过”的优秀回答。而在线算法可以在训练中持续进化,这是它们在复杂推理任务中表现卓越的根本原因。

维度6:对偏好数据/奖励模型的依赖程度

算法是否需要独立RM数据形式RM质量问题的影响
PPO标量奖励极高(RM误差直接传导)
DPO(隐式RM)成对偏好 (yw,yl)(y_w, y_l)高(数据质量决定上限)
GRPO标量奖励高(组内归一化不能消除RM偏差)
DAPO是(或规则验证)标量奖励(或0/1正确性)中等(动态采样可过滤部分噪声)
GSPO是(或规则验证)标量奖励中等(稳定的梯度对RM偏差更鲁棒)

维度7:序列长度处理(长CoT场景的适应性)

算法长度处理机制长序列适应性核心问题
PPOGAE + 价值函数Critic误差随序列长度指数增长
DPO监督损失一般长度偏差问题突出
GRPO硬截断熵崩塌 + 方差累积
DAPO渐进式惩罚(Overlong Reward Shaping)用软约束替代硬截断
GSPO长度归一化(几何平均)几何平均天然消减长序列方差

维度8:MoE架构兼容性

算法MoE兼容性是否需要特殊stabilization根本原因
PPO需复杂策略Critic + MoE路由双重不稳定
DPO中等相对稳定离线监督,不涉及在线路由波动
GRPO必须依赖Routing ReplayToken级优化导致专家震荡
DAPO差(同GRPO)仍需Routing Replay未改变GRPO的Token级本质
GSPO完全无需序列级优化对单Token路由不敏感

深度分析:这是GSPO在MoE时代最具战略价值的优势。随着MoE成为千亿参数模型的主流架构(如Qwen3、Grok),GRPO的”专家震荡”问题成了致命伤。GSPO仅通过将优化粒度从Token提升到序列,就彻底规避了这个问题——这是算法设计层面的四两拨千斤

维度9:超参数敏感度与调优难度

算法关键超参数敏感度调优难度
PPOϵ,βKL,γ,λ,lr\epsilon, \beta_{KL}, \gamma, \lambda, \text{lr}极高地狱级,多参数相互耦合
DPOβ\beta中等简单(仅需调β\beta
GRPOϵ,βKL,G\epsilon, \beta_{KL}, G较难(GGϵ\epsilon耦合)
DAPOϵlow,ϵhigh,G,overlong_params\epsilon_{low}, \epsilon_{high}, G, \text{overlong\_params}中高较难(非对称裁剪增加调参维度)
GSPOϵ,G\epsilon, G中等比GRPO简化(消减了KL超参)

维度10:可复现性与开源生态

算法开源实现可复现性社区采用度
PPO广泛(vLLM, TRL, NeMo)中等极高(事实标准)
DPO广泛(TRL原生支持)极高(入门首选)
GRPO广泛(verl, TRL)中等
DAPO完整开源(代码+数据+配置)快速上升
GSPO已集成至HuggingFace TRL v0.20快速上升

维度11:可扩展性(Scaling Law的延续性)

算法算力增加时的性能趋势理论分析
PPO易饱和(价值网络成为瓶颈)有理论收敛性证明
DPO受限于数据量(离线)监督损失,理论清晰
GRPO易饱和(熵崩塌限制探索)U-统计量视角,渐近性质良好
DAPO持续提升(50%步数达到SOTA)结合了工程与理论
GSPO持续提升(随算力增加成绩爬升)困惑度-熵等价性,理论支撑

维度12:核心弱点与待解问题

算法最致命的缺陷后续方案的针对性修复
PPO资源消耗(4模型)+ Critic预测误差GRPO去掉了Critic
DPO离线无探索,无法发现新策略在线算法(GRPO等)保留探索
GRPOToken级单次采样方差爆炸 + 熵崩塌DAPO(工程)与GSPO(算法)分两路解决
DAPO仍未解决Token级本质缺陷,需Routing Replay(MoE)GSPO从算法层面根除
GSPO序列级硬裁剪”一刀切” + 潜在长度坍塌SAPO(软裁剪)、LUSPO(长度无偏)正在解决

四、演进逻辑的深层解码

第一层:范式的分野(PPO → DPO)

  • 动机:PPO太重了,能不能不做强化学习?
  • 方案:DPO用数学推导证明——可以!只要你有成对偏好数据。
  • 代价:失去了在线探索能力。
  • 结论:DPO是”偏科生”,在探索性任务上不如PPO,但在资源受限时是”最优解”。

第二层:在线算法的轻量化(PPO → GRPO)

  • 动机:如果要保留在线探索,能不能去掉最贵的价值网络?
  • 方案:GRPO用”组内相对排名”替代”价值预测”。
  • 代价:引入了Token级重要性采样的高方差,且容易熵崩塌。
  • 结论:GRPO是”阉割版”的在线算法,理念先进但工程上”不够皮实”。

第三层:对GRPO的两路修复(GRPO → DAPO 与 GRPO → GSPO)

这一层是分岔演进,代表了两种不同的解决问题哲学:

  • DAPO路线(工程修补派) :承认GRPO的框架,通过动态采样、Clip-Higher、Token-Level Loss、Overlong Shaping四项工程优化,把GRPO的短板逐个补齐。这是一场”外科手术式”的精细修补

  • GSPO路线(算法重构派) :认为GRPO的根本问题在于Token级优化与序列级奖励在本质上不匹配。于是,GSPO将重要性比率从Token级提升到序列级,用几何平均消减方差,从根本上消除了不稳定性。这是一次”基因编辑式”的底层重构

两条路线各有千秋:DAPO修补后性能亮眼(AIME 50分),且对密集模型友好;GSPO则从根本上驯服了MoE的不稳定性,为千亿稀疏模型铺平了道路。

大模型强化学习对齐方案:PPO、GRPO、DPO、DAPO与GSPO技术详解与对比
/posts/ai_alignment/comparison/
Author
Zhang Haoyi
Published at
2026-07-14
License
CC BY-NC-SA 4.0
分享:

Some information may be outdated

Directory
Albums
Diary
Posts
Projects
Skills
Timeline
Categories
Tags
Table of Contents