04 RLHF 变体:DPO、RRHF、GRPO

Lingfeng2026-04-03

04 RLHF 变体:DPO、RRHF、GRPO

PPO-RLHF 虽然有效,但需要训练多个模型(奖励模型、价值函数),实现复杂。近年来出现了多种简化方法:DPO 直接从偏好数据优化,RRHF 用排序替代强化学习,GRPO 用组内相对奖励替代单独的奖励模型。本文详细推导这些方法的数学原理。

1. DPO:Direct Preference Optimization

1.1 动机:绕过奖励模型

PPO-RLHF 的痛点

  1. 需要先训练奖励模型
  2. 需要在 PPO 训练中使用奖励模型
  3. 奖励模型可能成为"中间瓶颈"

问题:能否直接从偏好数据优化策略,不需要显式的奖励模型?

DPO 的核心洞察:我们可以从最优策略反推奖励函数,然后直接优化策略。

1.2 从 KL 约束的奖励最大化推导

原始问题

问题:最优策略 是什么?

1.3 最优闭式解推导

Step 1:展开目标函数

Step 2:引入拉格朗日乘子(归一化约束)

策略必须满足

拉格朗日函数:

Step 3:对 求导

对每个

Step 4:令导数为 0

解出 :

其中 是常数。

Step 5:利用归一化确定常数

是配分函数,记

Step 6:最优策略表达式

1.4 从最优策略反推奖励

关键推导:从 的表达式可以得到 的表达式。

的表达式:

两边取对数:

整理得到奖励函数:

注意: 只依赖于 ,对于固定的 是常数(不依赖 )。

1.5 DPO 目标函数推导

核心洞察:在 Bradley-Terry 模型中,重要的是奖励差值,而不是绝对值。

从 Bradley-Terry 模型:

将奖励表达式代入:

关键:配分函数 在差值中抵消了!

1.6 DPO 最终目标函数

偏好概率:

DPO 损失函数

1.7 DPO 的梯度分析

梯度形式

直观理解

  • 增大 (chosen 的概率)
  • 减小 (rejected 的概率)
  • 权重由模型"判断错误程度"决定

1.8 DPO vs PPO-RLHF 对比

特性PPO-RLHFDPO
奖励模型需要不需要
参考模型需要(用于 KL 惩罚)需要(用于计算目标)
训练过程强化学习(复杂)监督学习(简单)
KL 约束显式惩罚隐式(通过目标函数)
稳定性需要调参更稳定
效果通常更好通常略差但够用

2. RRHF:Rank Responses to Align

2.1 核心思想

问题:PPO 和 DPO 都需要参考模型,能不能更简单?

RRHF 思路:直接学习对多个回复排序,不需要显式的奖励模型或参考模型。

2.2 数据格式

给定 prompt 和一组回复 ,人类标注从好到坏的排序:

2.3 RRHF 损失函数

RRHF 使用 List-wise 排序损失

其中 是模型对 的打分。

简化理解:对于每对 (其中 优于 ),最大化模型正确排序的概率。

2.4 与 DPO 的关系

RRHF 可以看作 DPO 的多回复扩展:

  • DPO:只考虑一对
  • RRHF:考虑所有排序对

3. Rejection Sampling Fine-Tuning (RFT)

3.1 核心思想

最简单的对齐方法:用奖励模型筛选好回复,然后 SFT。

3.2 算法流程

Rejection Sampling:
1. 用当前模型生成多个候选回复 {y_1, ..., y_k}
2. 用奖励模型打分:s_i = r_φ(x, y_i)
3. 选择最高分回复 y* = argmax_i s_i
4. 用 (x, y*) 进行 SFT

3.3 数学分析

等价于以下目标:

局限:只能在当前策略能生成的回复中选择,可能错过全局最优。

4. GRPO:Group Relative Policy Optimization

4.1 动机:DeepSeek 的需求

DeepSeek R1 的挑战

  • 需要对齐推理模型
  • 训练单独的奖励模型成本高
  • PPO 的价值函数训练不稳定

GRPO 创新:用组内相对比较替代绝对奖励,不需要单独的奖励模型。

4.2 GRPO 核心思想

对于每个 prompt

  1. 生成一组回复 (组大小
  2. 用某种规则(如规则奖励或弱奖励模型)对每个回复打分
  3. 在组内标准化分数得到优势

4.3 组内标准化

计算组内均值和标准差

标准化后的优势

直观理解

  • :这个回复在组内平均以上
  • :这个回复在组内平均以下

4.4 GRPO 目标函数

结合 PPO 的 Clip 目标:

4.5 GRPO 的优势

特性PPO-RLHFGRPO
奖励模型需要单独训练不需要(或弱的规则奖励)
价值函数需要训练不需要
组内比较核心机制
计算效率中等更高
稳定性需要调参更稳定

4.6 GRPO 与 PPO 的关键区别

PPO:需要单独的价值函数估计优势

GRPO:用组内相对排名估计优势

好处

  • 不需要训练价值函数(减少一个模型)
  • 组内比较更稳定(减少奖励模型的误差影响)

5. 方法对比总结

方法奖励模型价值函数参考模型训练方式复杂度
PPO-RLHF需要训练需要训练需要RL
DPO不需要不需要需要监督学习
RRHF不需要不需要不需要排序学习
RFT需要(筛选用)不需要不需要SFT最低
GRPO不需要/弱规则不需要需要(KL)RL

6. 选择指南

场景推荐方法
追求最佳效果PPO-RLHF(如果有资源)
资源有限,追求简单DPO
只有排序标签RRHF
推理模型/需要不使用单独奖励模型GRPO
快速迭代/原型RFT

7. 未来趋势

  1. 更简单的对齐方法:DPO 和 GRPO 展示了"更简单也能有效"的方向
  2. 过程奖励:不仅看最终回复,还看推理过程
  3. 迭代式对齐:多轮生成-偏好-优化循环
  4. 弱奖励信号:用规则或弱模型替代强奖励模型

8. 参考文献

  1. Rafailov, R., et al. (2023). "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." NeurIPS.
  2. Yuan, W., et al. (2023). "RRHF: Rank Responses to Align Language Models with Human Feedback." arXiv.
  3. Dong, H., et al. (2023). "RAFT: Reward Ranked Fine-Tuning for Generative Foundation Model Alignment." arXiv.
  4. DeepSeek-AI. (2025). "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning." arXiv.
  5. Wang, Z., et al. (2024). "HelpSteer2: Open-source dataset for training helpfulness and harmless reward models." arXiv.
Last Updated 4/3/2026, 4:40:46 PM