DPO 与 RLHF
DPO 直接优化策略,因此不再需要单独的奖励模型。它比经典 RLHF 更简单、更便宜,但要求基座模型已经与偏好数据同分布。
一、DPO 损失
损失函数公式
·πθ — 正在训练的当前策略
·πref — 参考模型(冻结,通常是 DPO 之前的检查点)
·β — 控制偏好强度(越大越保守)
DPO: 偏好数据 chosen 与 rejected→参考策略π_ref(冻结)→DPO 损失β 加权→对齐后的模型π_θ
二、可用数据集
| 数据集 | 来源 | 说明 |
| hhh | Anthropic | Helpful-Harmless-Honest 成对偏好数据 |
| helpsteer3 | NVIDIA | HelpSteer3 偏好数据集 |
| ultrafeedback | UltraFeedback | 二值化的偏好比较 |
三、关键超参数
·dpo_beta:从 0.1 开始。取值越大越保守。
·learning_rate:比 SFT 更低,通常取 1e-5 到 1e-6。
·基座模型:应与偏好数据同分布。可以先做一轮轻量 SFT,或收集 on-policy 的偏好数据。
四、训练指标
·dpo_loss:分类损失(应下降)
·accuracy:模型偏好 chosen 回复的频率
·margin:chosen 与 rejected 之间的平均奖励差
·chosen_reward / rejected_reward:平均隐式奖励
五、延伸阅读
·DPO 与偏好教程:动手实践、可交互的演练
·RLHF 流程教程:带奖励模型的完整三阶段 RLHF
·DPO Recipe:生产环境训练脚本