← 课程库
适配与对齐模块六 · 非强化学习的对齐方法公式16 分钟

DPO:不用强化学习的对齐

把 RLHF 的两阶段合成一个简单损失

学完这节你能:
  • 理解 DPO 的动机
  • 读懂 DPO 损失公式
  • 对比 DPO 与 RLHF

RLHF 要单独训奖励模型、再跑 PPO,工程复杂、易不稳。DPO(直接偏好优化)证明:可以跳过显式奖励模型和 RL,直接用一个监督式损失在偏好对上优化策略。

LDPO=logσ ⁣(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))L_{\text{DPO}} = -\log \sigma\!\left( \beta\log\dfrac{\pi_\theta(y_w\mid x)}{\pi_{\text{ref}}(y_w\mid x)} - \beta\log\dfrac{\pi_\theta(y_l\mid x)}{\pi_{\text{ref}}(y_l\mid x)} \right)
π_θ=待训练策略,π_ref=参考(SFT)模型,β 控制偏离参考的强度。
括号内在算什么
设 β=1;chosen 的对数概率比 log[π_θ/π_ref](y_w) = +0.5
rejected 的对数概率比 log[π_θ/π_ref](y_l) = −0.3
括号内 = 1×(0.5 − (−0.3)) = 0.8 → σ(0.8) ≈ 0.69,损失 = −log 0.69 ≈ 0.37
→ 策略越把概率从 rejected 挪向 chosen,括号越正、损失越小
  • 核心洞察:最优 RLHF 策略与奖励之间有闭式关系,于是「奖励差」可用「策略/参考的对数概率比」直接表示。
  • 结果:不用训 RM、不用 PPO,一个类似分类的损失就能把偏好灌进模型,更稳更简单。
  • β 的作用:类似 RLHF 的 KL 系数,控制别偏离参考模型太远。
RLHF(PPO)DPO
奖励模型要单独训不需要(隐式)
优化方式强化学习(PPO)监督式损失
工程复杂度/稳定性高/较难调低/更稳
自测DPO 相比 RLHF 的最大区别是:
自测变式(换数字再算):β=1,chosen 的对数概率比 log(π_θ/π_ref)=+0.5、rejected=−0.5,则 DPO 损失 −logσ(括号内) 约为:
// 带走一句话

DPO=用「策略/参考的对数概率比」直接优化偏好,免奖励模型免 PPO,β 控偏离;比 RLHF 更稳更简单。

独立练习

做到这些,才算完成本节

  1. 给定 chosen/rejected 的策略与参考 log-prob,手算一个 DPO 样本损失。
  2. 交换 chosen 与 rejected 后重新计算,检查损失方向是否符合偏好。
  3. 不看正文重写公式,并逐项说明符号、形状和单位。
  4. 改变一个条件,判断公式结果应增大、减小还是不变。
学习记录

记录本节阅读进度

建议先独立回答自测。读完记录不等于已经掌握。

继续下一课
← 上一课
奖励模型训练:打分/对比/排序损失
下一课 →
幻象:为什么模型会一本正经地胡说

学完不要急着赶进度:去练习自测,或完成对应的阶段实验