适配与对齐模块六 · 非强化学习的对齐方法公式约 16 分钟
DPO:不用强化学习的对齐
把 RLHF 的两阶段合成一个简单损失
学完这节你能:
- 理解 DPO 的动机
- 读懂 DPO 损失公式
- 对比 DPO 与 RLHF
RLHF 要单独训奖励模型、再跑 PPO,工程复杂、易不稳。DPO(直接偏好优化)证明:可以跳过显式奖励模型和 RL,直接用一个监督式损失在偏好对上优化策略。
π_θ=待训练策略,π_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 更稳更简单。
独立练习
做到这些,才算完成本节
- 给定 chosen/rejected 的策略与参考 log-prob,手算一个 DPO 样本损失。
- 交换 chosen 与 rejected 后重新计算,检查损失方向是否符合偏好。
- 不看正文重写公式,并逐项说明符号、形状和单位。
- 改变一个条件,判断公式结果应增大、减小还是不变。
学习记录
记录本节阅读进度
建议先独立回答自测。读完记录不等于已经掌握。