大模型强化学习对齐方案: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的稳定性危机 | 带”刹车”的信任域优化 | 策略更新步长失控导致训练崩溃 | 在线-绝对价值 |
| DPO | RLHF工程复杂度过高 | 用闭式解绕过强化学习 | 四模型协同训练的算力鸿沟 | 离线-偏好分类 |
| GRPO | PPO价值网络成为算力瓶颈 | 用组内相对比较替代绝对预测 | Critic网络的显存与误差双杀 | 在线-相对比较 |
| DAPO | GRPO在长CoT中熵崩塌 | 四项工程修补让GRPO工业化 | 长思维链中的探索消亡与效率黑洞 | 在线-相对比较(增强) |
| GSPO | GRPO的Token级方差本质缺陷 | 优化粒度对齐奖励粒度 | 单次采样下的重要性比率失效 | 在线-序列级比较 |
二、各算法核心机制精要
2.1 PPO(Proximal Policy Optimization):信任域策略优化的经典范式
核心机制:PPO通过概率比裁剪构建信任域约束,限制策略更新幅度,避免训练崩溃。
LCLIP(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
其中:
- rt(θ)=πθ(at∣st)/πθold(at∣st):新旧策略的概率比
- A^t:通过GAE(Generalized Advantage Estimation) 计算的优势函数
关键设计:双模型架构(Actor + Critic),价值网络用于估计状态价值作为基线。工程上需同时维护4个大模型,资源消耗巨大。
2.2 GRPO(Group Relative Policy Optimization):去Critic的轻量化方案
改进动机:Critic网络训练存在两大痛点——价值函数估计误差会传导至策略更新;大模型场景下Value Model容易过拟合。
核心机制:对同一prompt采样G个回答,用组内均值和标准差将奖励归一化为优势值:
A^i,t=std({Rj})Ri−mean({Rj})
关键特征:对每个token独立计算重要性采样比ri,t(θ),这是GRPO与后续GSPO的关键分水岭。
JGRPO(θ)=Eq,{oi}i=1G[G1∑i=1G∣oi∣1∑t=1∣oi∣min(ri,t(θ)A^i,t,clip(ri,t(θ),1−ϵ,1+ϵ)A^i,t)]−βDKL(πθ∥πref)
2.3 DPO(Direct Preference Optimization):直接偏好优化的范式革命
核心洞察:传统的两阶段RLHF(奖励模型训练 + PPO策略优化)在数学上等价于一个可直接优化的单阶段目标。
损失函数:
LDPO(πθ;πref)=−E(x,yw,yl)∼D[logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))]
关键特性:单模型架构,无需训练独立的奖励模型和价值网络,将RLHF转化为二元分类问题。
2.4 DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization):GRPO的推理增强版
四项核心改进:
- Clip-Higher(解耦裁剪) :将裁剪区间从对称的[1−ϵ,1+ϵ]改为非对称的[1−ϵlow,1+ϵhigh],ϵhigh>ϵlow,给低概率”探索性”Token提供更大提升空间
- Dynamic Sampling(动态采样) :过滤组内奖励全部相同的无效组,确保每份计算资源都花在刀刃上
- Token-Level Policy Gradient Loss:将损失聚合从”序列内平均→序列间平均”改为”所有Token直接平均”,让长序列中每个Token平等贡献梯度
- Overlong Reward Shaping(过长奖励塑形) :渐进式惩罚替代硬截断,在鼓励探索和控制长度之间找到平衡
性能表现:在AIME 2024上取得50分(对比DeepSeek-R1-Zero-Qwen-32B的47分),完整开源了代码、数据和配置。
2.5 GSPO(Group Sequence Policy Optimization):序列级优化的稳定性突破
问题诊断:GRPO在Token级计算重要性采样比,但每个Token只被采样一次,无法有效进行分布校正——这是重要性采样理论的误用。
核心创新:将重要性比率定义在序列似然层面:
si(θ)=(πθold(yi∣x)πθ(yi∣x))∣yi∣1=exp(∣yi∣1∑t=1∣yi∣logπθold(yi,t∣x,yi,<t)πθ(yi,t∣x,yi,<t))
关键突破:彻底解决了大规模MoE模型RL训练中的稳定性挑战,完全无需Routing Replay等复杂策略,已被HuggingFace TRL v0.20原生支持。
三、深度对比剖析
五种算法的核心差异速览
| 维度 | PPO | DPO | GRPO | DAPO | GSPO |
|---|---|---|---|---|---|
| 模型数 | 4 | 2 | 3 | 3 | 3 |
| 价值网络 | ✅ 需要 | ❌ | ❌ | ❌ | ❌ |
| 奖励模型 | ✅ 需要 | ❌ | ✅ 需要 | ✅ 需要 | ✅ 需要 |
| 优化粒度 | Token | 序列 | Token | Token | 序列 |
| 裁剪方式 | 对称 | 无 | 对称 | 非对称 | 对称(序列级) |
| 训练范式 | 在线 | 离线 | 在线 | 在线 | 在线 |
| 探索能力 | 强 | 无 | 中 | 强 | 中强 |
| 长序列适应性 | 差 | 一般 | 差 | 优 | 优 |
| MoE兼容性 | 差 | 中 | 差(需Routing Replay) | 差 | 优 |
| 超参数敏感度 | 极高 | 中 | 高 | 中高 | 中 |
| 可复现性 | 中 | 高 | 中 | 高 | 高 |
| 可扩展性 | 易饱和 | 数据受限 | 易饱和 | 持续 | 持续 |
维度1:模型复杂度与显存占用(“重”与”轻”的本质)
| 算法 | 需维护的模型 | 资源策略 |
|---|---|---|
| PPO | Actor + Critic + RM + Ref(4个) | 重资产,每个模型都是参数量级相同的大模型 |
| DPO | Actor + Ref(2个) | 轻量化,通过数学推导干掉RM和Critic |
| GRPO | Actor + RM + Ref(3个) | 去掉Critic,显著降低显存占用 |
| DAPO | Actor + RM + Ref(3个) | GRPO基础上增加动态采样,略有额外生成成本 |
| GSPO | Actor + RM + Ref(3个) | 模型数量不变,但计算更稳定,训推分离友好 |
深度分析:从PPO的4模型到DPO的2模型,这是数学层面的降维打击;从PPO的4模型到GRPO/GSPO的3模型,这是算法层面的简化。DPO虽轻,但牺牲了在线探索;GRPO系列用3模型保留了在线能力,是”性价比最优解”。
维度2:优势估计方法(“绝对价值” vs “相对排名”)
| 算法 | 优势来源 | 是否需要价值网络 |
|---|---|---|
| PPO | GAE:A^t=∑l=0∞(γλ)lδt+l | 是,需训练Critic |
| DPO | 不计算优势,直接优化偏好分类 | 否 |
| GRPO | 组内归一化:std(R)Ri−mean(R) | 否 |
| DAPO | 同GRPO,但动态采样保证组内有差异 | 否 |
| GSPO | 同GRPO的组内归一化优势 | 否 |
深度分析:PPO试图预测”未来”(价值函数),这是一种前向估计,天生存在误差和偏差。GRPO系列则彻底转向后向比较——既然未来难以预测,不如直接看当下这组结果在群体中的相对位置。这种”相对主义”哲学极大地简化了问题。
维度3:优化粒度(Token级 vs 序列级的根本分歧)
这是GRPO与GSPO最本质的差异:
| 算法 | 优化粒度 | 重要性比率形式 | 方差特征 |
|---|---|---|---|
| PPO | Token级 | ri,t(θ)=πθ(ot)/πold(ot) | 方差随序列长度线性累积 |
| DPO | 序列级 | 不涉及比率,直接优化似然差异 | 序列级分类损失,方差较低 |
| GRPO | Token级 | 同PPO | 高方差,单次采样无法有效分布校正 |
| DAPO | Token级(但用Token-Level Loss聚合) | 同GRPO | 通过动态采样和Clip-Higher缓解,但本质未变 |
| GSPO | 序列级 | si(θ)=(πθ(yi)/πold(yi))1/∥yi∥ | 低方差,误差在几何平均中相互抵消 |
深度分析:GRPO/DAPO坚守Token级优化,是希望做细粒度信用分配。但问题在于,当每个Token只被采样一次时,这种”细粒度”只是一种幻觉——它实际上引入了巨大的噪声。GSPO的序列级优化,本质上是承认了奖励信号在序列级别的稀疏性,用”粗粒度但高信噪比”的优化替代了”细粒度但低信噪比”的优化。
维度4:裁剪机制(稳定性的”刹车”设计)
| 算法 | 裁剪方式 | 裁剪区间 | 设计哲学 |
|---|---|---|---|
| PPO | Token级对称裁剪 | [1−ϵ,1+ϵ],ϵ=0.2 | 保守的等距约束 |
| DPO | 无裁剪(监督学习) | 不适用 | 无需稳定性刹车 |
| GRPO | Token级对称裁剪(同PPO) | [1−ϵ,1+ϵ] | 继承PPO的保守设计 |
| DAPO | Token级非对称裁剪 | [1−ϵlow,1+ϵhigh],ϵhigh>ϵlow | Clip-Higher:给探索token留出更大空间 |
| GSPO | 序列级对称裁剪 | [1−ϵ,1+ϵ](作用于整个序列) | “一刀切”:整个序列出格则全部抑制 |
深度分析:裁剪机制从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) | 高(数据质量决定上限) |
| GRPO | 是 | 标量奖励 | 高(组内归一化不能消除RM偏差) |
| DAPO | 是(或规则验证) | 标量奖励(或0/1正确性) | 中等(动态采样可过滤部分噪声) |
| GSPO | 是(或规则验证) | 标量奖励 | 中等(稳定的梯度对RM偏差更鲁棒) |
维度7:序列长度处理(长CoT场景的适应性)
| 算法 | 长度处理机制 | 长序列适应性 | 核心问题 |
|---|---|---|---|
| PPO | GAE + 价值函数 | 差 | Critic误差随序列长度指数增长 |
| DPO | 监督损失 | 一般 | 长度偏差问题突出 |
| GRPO | 硬截断 | 差 | 熵崩塌 + 方差累积 |
| DAPO | 渐进式惩罚(Overlong Reward Shaping) | 优 | 用软约束替代硬截断 |
| GSPO | 长度归一化(几何平均) | 优 | 几何平均天然消减长序列方差 |
维度8:MoE架构兼容性
| 算法 | MoE兼容性 | 是否需要特殊stabilization | 根本原因 |
|---|---|---|---|
| PPO | 差 | 需复杂策略 | Critic + MoE路由双重不稳定 |
| DPO | 中等 | 相对稳定 | 离线监督,不涉及在线路由波动 |
| GRPO | 差 | 必须依赖Routing Replay | Token级优化导致专家震荡 |
| DAPO | 差(同GRPO) | 仍需Routing Replay | 未改变GRPO的Token级本质 |
| GSPO | 优 | 完全无需 | 序列级优化对单Token路由不敏感 |
深度分析:这是GSPO在MoE时代最具战略价值的优势。随着MoE成为千亿参数模型的主流架构(如Qwen3、Grok),GRPO的”专家震荡”问题成了致命伤。GSPO仅通过将优化粒度从Token提升到序列,就彻底规避了这个问题——这是算法设计层面的四两拨千斤。
维度9:超参数敏感度与调优难度
| 算法 | 关键超参数 | 敏感度 | 调优难度 |
|---|---|---|---|
| PPO | ϵ,βKL,γ,λ,lr | 极高 | 地狱级,多参数相互耦合 |
| DPO | β | 中等 | 简单(仅需调β) |
| GRPO | ϵ,βKL,G | 高 | 较难(G与ϵ耦合) |
| DAPO | ϵlow,ϵhigh,G,overlong_params | 中高 | 较难(非对称裁剪增加调参维度) |
| GSPO | ϵ,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等)保留探索 |
| GRPO | Token级单次采样方差爆炸 + 熵崩塌 | 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的不稳定性,为千亿稀疏模型铺平了道路。
Some information may be outdated