PPO

https://arxiv.org/abs/1707.06347

共有四个模型:

  1. Policy model (Actor model)
    1. 一般由 SFT 模型初始化,不断进行参数更新
  2. Reference model
    1. SFT 模型初始化,参数冻结
  3. Reward model
    1. 使用 SFT 模型初始化并添加一个回归输出层,然后微调得到
    2. 在 RL 训练中被冻结
    3. 对 policy model 输出的 token 进行奖励评分
  4. Critic Model (Value model)
    1. 对当前 policy model 输出的 token 估计其未来奖励期望
    2. 尽可能地使得策略模型能够生成不仅即时奖励高,而且对未来奖励收益高的 token,本质就是给出广义优势估计
    3. 在强化学习过程中需要参与参数更新

技巧:

  1. 重要性采样:
  2. Clip 机制: 时,需要 更大,通过 约束;反之类似。 用于采纳更保守的一项作为优化目标

优点:

  1. 稳定性高:clip、KL penalty
  2. 易于实现,超参数相对少(相较于 TRPO)

缺点:

  1. 训练成本大
  2. Clip 机制丢弃大量梯度信息
  3. 样本数据利用率低:on policy 架构,引入 off policy 技巧
  4. 超参数敏感

DPO

https://arxiv.org/pdf/2305.18290

直接偏好对齐,用于解决 PPO 训练难度大、不容易收敛、资源消耗大的问题。方法为:通过二元交叉熵直接拟合人类偏好数据。

公式:

优点:

  • off policy:直接拟合预先准备好的人类偏好数据
  • 资源消耗低:只需要 policy model 和 reference model,无需 reward model 和 value model。甚至可以提前录好 reference model 的结果进一步减小资源消耗。
  • 有监督学习:通过概率匹配直接优化策略,因此稳定性高、训练难度低(只需关注学习率和偏好权重

缺点:

  • 容易过拟合:缺少了 reward model 的泛化
  • 更依赖数据标注量,从而还导致多任务适配较难(需要给每一个任务进行大量标注)

GRPO

目标函数:

优点:

  1. 没有价值函数的依赖,提升稳定性
  2. 更低的训练难度和训练成本:不需要 PPO 中的 critic model (value model),reward model 也能够被替代
  3. 更强的探索能力:一组策略就是在并行探索不同区域,避免单个策略陷入局部最优
  4. 实现简单且易于并行训练

缺点:

  1. 计算复杂度高,有新的超参
  2. 高方差和训练不稳定:在 token 级别上进行重要性采样,但是每个 token 只会被采样一次,很难做到有效的分布校正,引入了高方差的噪声
  3. 奖励函数目标和优化的目标不一致问题 是通过序列级优势计算出的,但是却用在了 token 级别的优势上。例如如果一个 token 是非常错误的,在 上的概率只有 ,但是却被 的概率采样到了,这会导致 的量级在 级别,极大的引入了噪声。后续 GSPO 在此基础上进行了优化

DAPO

https://arxiv.org/abs/2503.14476

这篇文章讲得很详细了:https://zhuanlan.zhihu.com/p/31157035727.主要有这几个 trick:

  1. Clip higher:提高 的值
    1. 原因是训练中熵会迅速降低,且低概率的 token 受 的影响更大( 时,更新前后概率 ,显然低概率 token 的最大可能概率几乎没有变化,从而限制了模型的探索
  2. Dynamic sampling
    1. 当一组回复的值全相等的时候,优势为 0,而根据 ,可知该组对应的梯度也为 0,所以不如直接舍弃这部分样本
  3. Token 级策略梯度损失:同 Dr.GRPO
  4. Overlong Reward Shaping:如下面的公式所示
  5. 移除 KL 散度

Lite PPO

https://arxiv.org/abs/2508.08221v1

做了大量实验,然后归纳出如下两个有效 trick,从而得到 Lite PPO 算法:

  1. 组级别均值 + 批次级别标准差
  2. Token 级别损失聚合:同 Dr.GRPO

Dr.GRPO

https://arxiv.org/abs/2503.20783

目标函数:

这里 . 相较于 GRPO 有两个变化:

  1. 去除了 GRPO 序列的归一化(),这是因为虽然这样会使每一个序列的 loss 归一化,但是在进行更新时,梯度也会被除以 ,导致正确的()且较短的样本,以及错误的()且较长的样本的每一个 token 的梯度更大
  2. 去除了优势中的分母 。原因是作者认为 的存在会使较难和较简单的样本的优势过于放大

GSPO

相较于 GRPO,计算的是整个序列的重要性采样比率:

相应的损失为:

注意剪裁也变成了序列级的剪裁。

优点:

  1. 对 MoE 架构的模型友好:同一批样本输入 MoE 模型,激活的专家网络都可能不一致,导致计算出的 有较大波动,触发 clip 机制损失梯度信息,又本身噪声很大。GSPO 在序列角度计算重要性采样,对 token 级的重要性比值波动不敏感
  2. 训练稳定性高:在 GRPO 中讨论过

缺点:代码实现稍显复杂

其他面经

Reference

  1. 大模型强化学习-PPO/DPO/GRPO区别对比
  2. PPO、DPO、GRPO、GSPO算法的万字详解
  3. DAPO:字节完整开源全部复现RL细节
  4. [2305.18290] Direct Preference Optimization: Your Language Model is Secretly a Reward Model
  5. [1707.06347] Proximal Policy Optimization Algorithms
  6. [2402.03300] DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
  7. [2507.18071] Group Sequence Policy Optimization
  8. [2503.14476] DAPO: An Open-Source LLM Reinforcement Learning System at Scale
  9. [2508.08221v1] Part I: Tricks or Traps? A Deep Dive into RL for LLM Reasoning
  10. [2503.20783] Understanding R1-Zero-Like Training: A Critical Perspective
  11. [面经记录]LLM+RL 50问