Alignment · 面试核心

RLHF 与 DPO 对齐详解

预训练让模型「懂语言」,对齐让模型「听话、有用、无害」。面试官必问:RLHF 三步分别干嘛?奖励模型怎么训?DPO 为什么不用 RL 也能对齐?

01什么是对齐(Alignment)

大模型基座经过预训练 + SFT 后已能续写,但未必符合人类偏好(可能冗长、有害、不按要求)。对齐就是把模型输出分布调整到「人类真正想要的」:有用(Helpful)、诚实(Honest)、无害(Harmless),即 3H 原则。

与 RL 的关系:RLHF 本质上是把「强化学习」用到语言模型上——把生成文本当作「动作」,把人类偏好当作「奖励信号」来优化策略(即 LLM 本身)。

02RLHF 经典三步法

① SFT 监督微调得到初始策略 π_SFT ② 训练奖励模型 RM学人类偏好打分 ③ PPO 强化学习用 RM 优化策略
  1. SFT:用人工示范数据让模型学会按指令回答(见 fine-tuning 目录)。
  2. 奖励模型(RM):收集人类对同一提示多个回答的好坏排序,训出一个给回答打分的模型。
  3. RL 优化(PPO):用 RM 当奖励,在「拿高分」与「别偏离 SFT 太远」之间优化策略。

03奖励模型怎么训

用成对偏好数据 (x, y_w, y_l)(x 是提示,y_w 好回答、y_l 差回答),训练 RM 输出标量分 r:

L_RM = −E[ log σ( r(x, y_w) − r(x, y_l) ) ]

即让「好回答分 − 差回答分」越大越好。训练好了,RM 就把「人类偏好」压缩成一个可微分数,供 PPO 优化。

04PPO 优化目标

max_π  E[ r_φ(x, y) ]  −  β·KL( π(y|x) ‖ π_ref(y|x) )

第一项用奖励模型给高分,第二项(KL 惩罚)约束新策略不要偏离参考模型 π_ref(通常是 SFT 模型)太远,防止乱套、保持语言能力。

PPO 工程很重:同时挂着策略、参考、奖励、价值四个模型,显存大、超参敏感、易训练不稳。这也是后来 DPO 流行的原因。

05DPO:不用 RL 也能对齐

DPO 证明:在 KL 约束下的最优策略可以解析写成偏好数据的损失,从而跳过 RM 和 RL,直接用偏好对训练:

L_DPO = −E[ log σ( β·log(π(y_w|x)/π_ref(y_w|x)) − β·log(π(y_l|x)/π_ref(y_l|x)) ) ]

它等价于在训练一个「隐式奖励」r(x,y)=β·log(π(y|x)/π_ref(y|x))。只要让好回答的相对概率高于差回答即可。

RLHF / PPO

需 RM + RL + 四模型,强但重、不稳。

DPO

单阶段、只需策略+参考两模型,稳定好实现,已成主流。

面试加分点:DPO 并非「没有奖励」,而是把奖励吸收进策略与参考模型的概率比里——省去了显式 RM 和 RL 循环。

06对齐的关键坑

奖励黑客

模型钻 RM 空子(如变谄媚/冗长)骗高分,而非真变好。需 KL 约束 + 迭代更新 RM。

对齐税

对齐提升安全/有用的同时,可能略微损伤原有能力(基准掉点)。靠数据覆盖与控 KL 缓解。

Constitutional AI

用「宪法原则」让模型自我批评自我修正,减少人工标注依赖(Anthropic 提出)。

07面试速记卡

三步

SFT → 奖励模型 → PPO;RM 学偏好、PPO 用奖励优化。

RM 损失

成对偏好 + Bradley-Terry,让好答案分更高。

PPO 目标

最大化奖励 − β·KL(策略‖参考),防偏离。

DPO 优势

免 RM/RL,单阶段直接训偏好,稳定易实现。

关联:强化学习基础见《大模型强化学习 RL》;偏好数据构建与 SFT 见 fine-tuning 目录。