Skip to content

RLHF / DPO 对齐

对齐(Alignment)让模型输出更符合人类偏好,是 ChatGPT 之所以「好用」的关键一步,也是高频考点。本文深入 RLHF 三阶段、奖励模型、PPO 的复杂性、DPO 的推导直觉,以及 RLAIF/Constitutional AI/KTO/ORPO/GRPO 等方法谱系与工程坑。

一、为什么需要对齐?

预训练 让模型「有知识」,SFT 让它「会听指令」,但 SFT 后的模型不一定输出人类最偏好的回答(可能啰嗦、不安全、回避、不够有用)。对齐阶段用「人类偏好」信号进一步优化,使行为符合 3H 原则

  • Helpful(有用):真正解决用户问题。
  • Honest(诚实):不编造、不确定时坦诚。
  • Harmless(无害):拒绝有害请求、无偏见。

为什么 SFT 不够,还要 RLHF? SFT 是「模仿」标准答案(监督学习),上限受限于示范数据,且只能教「做什么」,难以教「不要做什么」。RLHF 基于「比较/打分」优化,能学到超越示范的策略,也能压制不想要的行为——这是 RLHF 的独特价值。

二、RLHF 经典三阶段

① 预训练 ──▶ ② SFT ──▶ 指令模型(策略初始值)

       同一 prompt 多个回答 ├──▶ 人类两两排序偏好 ──▶ ③ 训练奖励模型 RM
                          │                                    │
                          └──────────▶ ④ PPO 强化学习 ◀──── RM 打分
                                            │     ▲
                                    KL 惩罚 │     │(约束别偏离 SFT 太远)
                                            ▼     │
                                      对齐后的模型 ─┘

阶段 1:SFT

先用「指令-回答」对监督微调,得到一个会遵循指令的基础策略模型。

阶段 2:训练奖励模型(Reward Model, RM)

  • 对同一 prompt,让模型生成多个回答,由人类标注「哪个更好」(两两比较/排序,而非打绝对分)。
  • 用这些偏好数据训练一个 RM:输入「prompt + 回答」,输出一个标量分数,拟合人类偏好。
  • RM 常用 Bradley-Terry 模型建模偏好概率,损失让「更好回答」的得分高于「更差回答」:

$$\mathcal{L}_{RM} = -\log \sigma\big(r(x,y_w) - r(x,y_l)\big)$$

为什么用排序而非绝对打分? 人类对「打几分」的绝对评分主观、不一致、难校准;而「A 和 B 哪个更好」的相对判断稳定可靠得多。

阶段 3:强化学习优化(通常用 PPO)

  • 把语言模型当作策略(policy),生成回答;
  • 用 RM 给回答打分作为奖励
  • PPO 更新策略,让它倾向于产生高奖励的回答;
  • KL 散度惩罚,约束新策略不要偏离 SFT 模型太远。

奖励实际形式:reward = RM 分数 − β·KL(policy ‖ SFT)。KL 项防止模型为迎合 RM 而过度漂移、语言退化或钻空子。

三、PPO 为什么复杂?

PPO(Proximal Policy Optimization)训练时需要同时维护 4 个模型

模型作用
策略模型(Actor)被训练的主模型,生成回答
参考模型(Ref)SFT 模型的冻结副本,算 KL 惩罚
奖励模型(RM)给回答打分
价值模型(Critic)估计每步的价值/优势(advantage)

4 个模型 → 显存翻倍、工程复杂、训练不稳定、对超参敏感、调起来痛苦。这正是 DPO 和 GRPO 等出现的动机。

四、DPO(Direct Preference Optimization)

DPO 的核心洞见:可以跳过显式训练 RM 和 RL,直接用偏好数据优化策略

数学上,RLHF 的最优策略与奖励之间存在闭式关系,于是可把奖励「隐式」表达为「策略与参考模型的对数概率比」,把整个 RLHF 目标改写成一个直接在 (prompt, 好回答 y_w, 坏回答 y_l) 三元组上的二分类式损失

$$\mathcal{L}{DPO} = -\log \sigma\left(\beta \log\frac{\pi(y_w|x)}{\pi(y_w|x)} - \beta \log\frac{\pi(y_l|x)}{\pi_{ref}(y_l|x)}\right)$$

直觉:提高「好回答」相对参考模型的概率、降低「坏回答」的概率。

  • 优点:只需 2 个模型(策略 + 参考),无需 RM 和 RL 循环,稳定、简单、省资源,效果常可比肩 PPO。
  • 是开源社区主流对齐方法
  • 局限:离线方法,依赖固定偏好数据集,无在线探索;对分布外数据和数据质量敏感。

五、对齐方法谱系

方法一句话
PPO经典在线 RL,4 模型,效果好但复杂
DPO跳过 RM/RL,直接用偏好数据,简单稳定
RLAIF用 AI(更强模型)代替人类标注偏好,降低标注成本
Constitutional AI给模型一套「宪法」原则,让它自我批评修正(Anthropic),属 RLAIF
KTO只需「好/坏」二元标签,无需成对比较,数据更易获取
ORPO把 SFT 和偏好优化合并成一步,无需单独参考模型
GRPO去掉价值模型,用组内相对奖励估计优势,DeepSeek 用于推理模型
RLVR可自动验证的奖励(数学对错/代码通过)做 RL,是推理模型的关键
拒绝采样生成多个回答用 RM 选最好的,加入 SFT 再训练

GRPO 与推理模型详见 DeepSeek 专题推理模型

六、PPO vs DPO vs GRPO 对比

维度PPODPOGRPO
需要 RM?否(隐式)是(或可验证奖励)
需要价值模型?(组内相对)
在线/离线在线离线在线
模型数量423
复杂度/成本
典型场景通用对齐开源对齐主流推理模型(可验证奖励)

七、工程坑:reward hacking 与对齐税

  • Reward Hacking(奖励欺骗):模型钻 RM 的空子,输出能骗高分但实际不好的回答(如过度冗长、堆砌讨好词、迎合长度偏好)。防范:KL 惩罚、提升 RM 质量与鲁棒性、限制训练步数、更强偏好数据。
  • 过度优化(Over-optimization):RL 训练越久,RM 分数越高但真实质量先升后降(Goodhart 定律)——RM 只是真实偏好的代理。
  • 对齐税(Alignment Tax):对齐可能让模型在某些基准能力上略降,是「安全/偏好」与「原始能力」之间的权衡。
  • 谄媚(Sycophancy):模型学会迎合用户观点而非说真话,是 RLHF 的常见副作用。

八、高频追问

Q:RLHF 的三个阶段是什么? SFT(学会听指令)→ 训练奖励模型 RM(用人类偏好数据拟合打分)→ PPO 强化学习(用 RM 奖励优化策略,加 KL 约束)。

Q:RLHF 和 SFT 的区别?为什么 SFT 不够? SFT 是模仿标准答案(监督),上限受示范数据限制,只能教「做什么」;RLHF 基于比较/打分优化,能学到超越示范的策略,并能压制不想要的行为(教「不要做什么」)。

Q:奖励模型为什么用排序/比较而非绝对打分? 人类绝对评分主观、不一致、难校准;相对判断(A 和 B 哪个好)稳定可靠。RM 用成对偏好数据(Bradley-Terry)学相对好坏。

Q:PPO 为什么复杂? 需同时加载 4 个模型(策略、参考、奖励、价值),显存翻倍、训练不稳、调参困难。这是 DPO/GRPO 等简化方法出现的动机。

Q:KL 惩罚的作用? 约束新策略别偏离 SFT 太远,防止为迎合 RM 而过度漂移、语言能力退化或 reward hacking。是控制「对齐税」的关键旋钮。

Q:DPO 为什么能跳过奖励模型? 数学上 RLHF 最优策略与奖励有闭式关系,可把奖励隐式表达为「策略与参考模型的对数概率比」,从而把目标改写成直接在偏好三元组上的二分类损失,无需显式 RM 和 RL 循环。

Q:DPO 相比 PPO 的优劣? DPO 简单、稳定、省资源(2 模型、无 RL),是开源主流;但它是离线的,依赖固定偏好数据、无在线探索,PPO 的在线探索在复杂奖励场景上限更高。

Q:GRPO 相比 PPO 的关键改进? 去掉价值模型(Critic),对同一问题采样一组回答、用组内相对得分估计优势,显存/成本几乎减半,特别适合有可验证奖励的推理任务。

Q:什么是 reward hacking 和对齐税? reward hacking 是模型钻 RM 空子骗高分(如冗长讨好);对齐税是对齐导致部分原始能力下降。二者都源于「RM 是真实偏好的代理」这一本质,需 KL 约束、好 RM、适度训练来缓解。

Q:RLAIF 和 Constitutional AI 是什么? RLAIF 用 AI 代替人类标注偏好以降本;Constitutional AI 是其代表——给模型一组「宪法」原则,让它自我批评并修正输出,再用 AI 反馈做 RL,减少对大量人工有害样本标注的依赖。

基于 MIT 许可发布