Skip to content
🔗 分享本题
查看我的学习进度 →

DPO 直接偏好优化与 RLHF 奖励模型强化学习路径对比图

🧠 记忆锚点:RLHF 先学评分器再做强化学习;DPO 把偏好关系直接写进损失,省掉奖励模型与 PPO。

💡 答案要点

DPO = Direct Preference Optimization(直接偏好优化)

核心思想: 跳过奖励模型,直接从偏好数据优化策略。

RLHF vs DPO:

维度RLHFDPO
流程复杂度三阶段(SFT→RM→PPO)两阶段(SFT→DPO)
训练稳定性不稳定(PPO 难调)稳定(监督学习)
计算成本高(需训练 RM + PPO)低(只需一次微调)
效果接近甚至超越 RLHF
显存占用需同时加载多个模型只需一个模型

DPO 工作原理:

输入数据:{问题, 好答案, 差答案}

损失函数:
L = -log(σ(β·log(π_θ(y_好|x)/π_ref(y_好|x))
          - β·log(π_θ(y_差|x)/π_ref(y_差|x))))

核心思想:
- 增加"好答案"的概率
- 降低"差答案"的概率
- 不偏离参考模型太远

简化理解:

RLHF:
  问题 → 生成答案 → 奖励模型打分 → PPO优化 → 更新模型

DPO:
  问题 + 好/差答案对 → 直接优化概率 → 更新模型

对比示例(Llama 2 7B,Helpfulness 数据集):

方法训练时间GPU 显存Win Rate
RLHF12h80GB(4卡)68.5%
DPO4h40GB(2卡)69.8%

面试话术:

"DPO 直接从偏好对优化策略,省去了在线采样和显式奖励模型,工程链路通常比经典 PPO 式 RLHF 简单。但它不保证效果不下降:结果取决于偏好数据质量、参考策略、分布外泛化和目标任务,应与 SFT、PPO/GRPO 等基线在同一评测集上比较。"

📚 参考:Direct Preference Optimization(DPO 原论文)