DPO vs PPO
两种主流对齐方法对比
方法对比
| 特性 | DPO | PPO |
|---|---|---|
| 奖励模型 | 不需要 | 需要 |
| 训练稳定性 | 高 | 中 |
| 实现复杂度 | 简单 | 复杂 |
| 计算资源 | 少 | 多 |
| 灵活性 | 中 | 高 |
| 最终效果 | 接近 | 优 |
DPO原理
DPO通过数学变换将奖励模型优化转化为策略优化:
# DPO损失函数
L = -log σ(β * (log π(y_win|x)/π_ref(y_win|x)
- log π(y_lose|x)/π_ref(y_lose|x)))
适用场景
推荐DPO
- • 资源有限
- • 快速迭代
- • 已有成对偏好数据
- • 小到中等规模模型
推荐PPO
- • 大规模生产
- • 需要精细控制
- • 有奖励模型基础设施
- • 追求最佳效果
组合使用
实践中可以先DPO快速迭代,最后用PPO精细调优:
1SFT微调基础模型
2DPO快速对齐(多轮迭代)
3PPO精细调优(可选)
----