简介:本文系统对比大模型强化学习五类主流算法:PPO、DPO、GRPO、DAPO与GSPO。从算法定位、优势估计方式、损失函数设计、KL处理策略、工程实现复杂度与典型适用场景等维度展开分析,帮助读者理解各算法的核心差异与选型依据,并给出迁移与落地时的注意事项。
大模型对齐训练已经从“单一算法包打天下”走向“按场景选算法”的阶段。早期以 PPO 为代表的在线强化学习奠定了人类反馈对齐的基本范式,随后 DPO 用监督学习的形式简化了流程,GRPO 通过去掉 Critic 降低了资源开销,DAPO 针对推理任务打补丁,GSPO 则把优化粒度从 token 级提升到序列级以适配混合专家结构。
这些算法并非简单的“新替代旧”,而是在样本效率、训练成本、实现复杂度、任务适配性上各有权衡。市面上的资料常走向两个极端:要么公式堆砌不谈工程实现,要么只给调包示例不讲原理。本文尝试在两者之间取平衡:先讲清每个算法解决什么问题,再落到工程骨架上看它如何被组织为可插拔组件,最后给出对比与选型建议。
需要说明的是,本文对比的是算法层面的通用技术方案,不绑定任何特定平台或框架品牌。文中提到的“训练框架”均指业界常见的通用强化学习训练工程结构。
PPO(近端策略优化):经典在线策略梯度算法。通过 Actor 采样、Critic 估计价值、GAE 递推计算优势,再用 Clip 机制限制策略更新幅度,配合 KL 正则约束与参考模型的偏离程度。它是“完整 RL 流程”的代表,能力强但组件多、成本高。
DPO(直接偏好优化):把 RL 问题转化为监督学习形式的偏好优化。它跳过显式的奖励模型与在线采样,直接用偏好对数据构造损失,使策略模型相对参考模型的似然比朝着偏好方向调整。工程上更接近“带参考模型约束的监督微调”。
GRPO(组相对策略优化):在 PPO 基础上移除 Critic,改为对同一问题采样一组回答,用组内奖励的统计量(均值、标准差)构造相对优势。显著降低显存与计算开销,是“省钱型”在线 RL 的代表。
DAPO:面向推理任务的 GRPO 改良方案,针对长链推理中的优势估计偏差、样本利用效率、长度偏置等问题引入若干工程补丁,属于“在 GRPO 框架内做精细化修正”的思路。
GSPO:将重要性采样与策略优化的粒度从 token 级提升到序列级,用序列级似然比替代逐 token 比值的连乘,缓解长序列下比值方差爆炸与 MoE 结构中路由不稳定带来的训练不收敛问题。
尽管形态差异明显,这几类算法在目标与工程逻辑上有明显共性:
PPO 的 Clip 机制是其精髓:用概率比值的截断避免单次更新过大。GRPO 与 DAPO 沿用 Clip 思路但简化了价值项。GSPO 的关键差异在于把 token 级比值的连乘改为序列级似然比,避免长序列下连乘导致的数值方差过大。DPO 的损失则完全不含采样与 Clip,是偏好对上的对数似然比较。
更新粒度差异带来的直接影响是:token 级方法对局部 token 概率变化敏感,序列级方法更关注整体回答的相对概率,后者在长输出与 MoE 结构中通常更稳定。
PPO 系列通常在奖励中注入 KL 惩罚(reward shaping),或在损失中加 KL 项;KL 估计有 k1、k2、k3 等不同形式,k1 简单但有偏,k2 无偏但方差大,k3 在两者间折中,选哪个要看训练阶段与数值稳定性要求。DPO 把参考模型放进损失内部,等价于一种“解析化的约束”,无需在线估计 KL。这一差异使得 DPO 的训练流程更接近监督学习,而 PPO/GRPO 系列必须维护在线采样与参考模型前向。
| 维度 | PPO | DPO | GRPO | DAPO | GSPO |
|---|---|---|---|---|---|
| 是否需要 Critic | 需要 | 不需要 | 不需要 | 不需要 | 不需要 |
| 是否需要在线采样 | 需要 | 不需要 | 需要 | 需要 | 需要 |
| 是否需要参考模型 | 需要 | 需要 | 需要 | 需要 | 需要 |
| 数据形态 | prompt + 在线采样 | 偏好对 | prompt + 组采样 | prompt + 组采样 | prompt + 组采样 |
| 显存开销 | 高(四模型) | 低(两模型) | 中(三模型) | 中 | 中 |
| 实现复杂度 | 高 | 低 | 中 | 中高 | 中高 |
| 典型适用 | 通用对齐、奖励信号明确 | 偏好数据充足、快速迭代 | 资源受限的在线 RL | 长链推理任务 | 长序列、MoE 结构 |
表中“四模型/三模型/两模型”指 Actor、Critic、参考模型、奖励模型的数量组合,属于通用工程描述,不代表任何特定产品实现。
选型时应优先回答三个问题:奖励信号是否可在线获得、偏好数据是否已具备、显存与吞吐预算是多少。若奖励可验证且预算中等,可优先评估 GRPO 系;若只有偏好对且希望快速上线,DPO 系更直接;若对训练稳定性要求极高且资源充裕,PPO 仍是可靠基线。
迁移时需注意:从 PPO 迁到 GRPO 系要重新校准组大小与采样成本;从在线方法迁到 DPO 要评估偏好数据覆盖度与分布偏移;切换 KL 估计形式(k1/k2/k3)需重跑小规模消融,因为不同形式的偏差与方差特性不同;loss 聚合方式(token 平均 vs 序列平均)会显著影响长度偏置,属于常被低估却影响巨大的细节。
五类算法的演进主线清晰:PPO 建立完整范式但成本高,DPO 用监督化路径降低门槛,GRPO 去掉 Critic 换取性价比,DAPO 在 GRPO 上做任务特化补丁,GSPO 把优化粒度提升到序列级以适配更复杂的模型结构。它们不是替代关系,而是覆盖不同资源约束与任务形态的工具谱系。理解“优势怎么算、损失怎么写、KL 放在哪、粒度多细”这四个问题,基本就能判断一个算法是否适合自己的场景。