能不能不用强化学习#
RLHF + PPO 的流程是:先训练奖励模型,再用 PPO 优化策略。它需要同时维护策略、评论、奖励、参考四个模型,采样成本高,训练也不稳定。
DPO(Direct Preference Optimization)观察到一个关键事实:带 KL 约束的 RLHF 最优策略,可以写成奖励函数的闭式解。把奖励用策略表示出来后,奖励模型就被消掉了,偏好对齐可以直接转化成一个类似分类的监督学习问题。
从 RLHF 目标出发#
RLHF 的目标是
πθmaxEx,y∼πθ[r(x,y)]−βKL(πθ(⋅∣x)∥πref(⋅∣x))在固定 x 时,这个优化问题的最优解为
π∗(y∣x)=Z(x)1πref(y∣x)exp(βr(x,y))其中 Z(x)=∑yπref(y∣x)exp(r(x,y)/β) 是配分函数。反过来解出奖励:
r(x,y)=βlogπref(y∣x)π∗(y∣x)+βlogZ(x)这个式子说明:最优策略本身就隐含了奖励,奖励等于策略相对参考模型的 log-ratio(再加上一个只与 x 有关的常数)。
用 Bradley–Terry 消掉奖励#
偏好数据形式为 (x,yw,yl),yw 是更受偏好的回答。Bradley–Terry 模型假设
P(yw≻yl∣x)=σ(r(x,yw)−r(x,yl))把上面的隐式奖励代入,Z(x) 在相减时抵消:
P(yw≻yl∣x)=σ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))于是可以直接用偏好数据训练策略,不需要显式的奖励模型。DPO 的损失为
LDPO=−E(x,yw,yl)logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))β 控制允许策略偏离参考模型的程度:β 越大,约束越强;β 越小,越激进地拟合偏好数据。
梯度直觉#
对损失求梯度,可以得到
∇θLDPO=−βσ(−(Δw−Δl))[∇θlogπθ(yw∣x)−∇θlogπθ(yl∣x)]其中:
- Δw:偏好回答的隐式奖励;
- Δl:较差回答的隐式奖励。
梯度做两件事:
- 提高偏好回答 yw 的似然;
- 降低较差回答 yl 的似然。
进一步看:
- 样本权重:σ(−(Δw−Δl)) 表示模型当前判断错得越离谱,梯度越大;如果模型已经把 yw 排得远高于 yl,这个样本的权重就很小;
- 隐式 KL 约束:πref 出现在 log-ratio 中,策略偏离参考模型越远,更新越受抑制。
与 PPO 的对比#
| 方面 | PPO + RLHF | DPO |
|---|
| 是否需要奖励模型 | 需要 | 不需要 |
| 是否需要在线采样 | 需要,每轮生成回答 | 不需要,离线偏好数据 |
| 训练形式 | 强化学习 | 二分类式监督学习 |
| 需要维护的模型 | 策略、评论、奖励、参考 | 策略、参考 |
| 稳定性 | 较低,调参敏感 | 较高,接近普通 SFT |
| 计算成本 | 高 | 低 |
| 约束方式 | 显式 KL / 裁剪 | 隐式 KL(log-ratio) |
DPO 的优点是简单、稳定、便宜,适合在固定偏好数据集上做对齐。它也有局限:
- 离线数据:不能像 PPO 那样在训练中探索新回答,偏好数据覆盖不到的行为学不到;
- 对数据质量敏感:偏好标注噪声会直接进入损失;
- 可能过拟合:在训练集上过度降低 yl 的概率,会损害生成多样性;
- 长度与风格偏差:偏好数据中若存在长度偏好,DPO 会学到“更长更好”;
- 参考模型依赖:πref 的选择会影响约束强度和最终行为。
实践中常见做法是先用 SFT 得到参考模型和初始策略,再用 DPO 做偏好对齐;也有工作把 DPO 与在线采样结合,或用 IPO、KTO 等变体缓解过拟合和噪声问题。