DPO(Direct Preference Optimization,直接偏好优化)是一种模型对齐方法。训练数据不是单个标准答案,而是同一提示下的一对回答:哪个更符合偏好、哪个相对较差。DPO 直接提高模型生成偏好回答的相对概率,不需要先单独训练奖励模型,再用 PPO 进行强化学习优化。
一条偏好数据长什么样
最基本的样本包含提示、胜出回答和落选回答。标注者比较的是有帮助程度、事实性、风格或安全边界。训练时,模型学习在相同上下文中拉开两者的概率差距,同时借助参考模型约束变化,避免为了迎合偏好而偏离原模型太远。
这也解释了 DPO 为何常被认为比经典 RLHF 流程更简单:它把奖励建模和策略优化转化为一个类似二分类的目标,省掉在线采样、奖励模型服务和复杂的强化学习循环。它仍属于后训练阶段,不能替代预训练获得的基础知识。
DPO、SFT 与 RLHF 各自学什么
| 方法 | 主要数据 | 核心作用 | 常见限制 |
|---|---|---|---|
| SFT | 提示与理想回答 | 模仿目标示范 | 难表达两个可用回答之间的细微偏好 |
| DPO | 偏好与非偏好回答对 | 直接学习相对偏好 | 高度依赖比较数据质量与覆盖范围 |
| 经典 RLHF | 偏好数据、奖励模型与策略采样 | 用奖励信号持续优化策略 | 流程复杂,训练稳定性和成本更难控制 |
三者不是简单替代关系。常见做法是先用 SFT 建立可用行为,再用 DPO 或其他偏好优化方法校准语气、拒答边界和回答质量。
“训练更简单”不等于结果自动更好
如果胜出回答只是更长、更会迎合标注者,模型可能学到表面风格而非真正质量。偏好对过于相似,训练信号会很弱;覆盖不足,则可能让模型只在少数任务上表现改善。
DPO 最适合目标能够通过成对比较表达、又希望降低 RLHF 工程复杂度的场景。团队仍要保留独立评测集,检查事实性、安全性、长度偏差和不同人群偏好;不能把一次“更喜欢哪个”直接当成普遍正确。