Appearance
Direct Preference Optimization (DPO)
一种轻量级的偏好对齐方法,通过直接优化策略从偏好数据中学习,无需训练单独的奖励模型。
概述
DPO (Direct Preference Optimization) 由 Rafailov 等人于 2023 年提出,解决了 RLHF(RLHF)的核心痛点:需要维护和训练一个奖励模型,并且 RL 训练过程(PPO)复杂且不稳定。DPO 直接从偏好数据中优化策略模型,通过封闭形式的奖励函数参数化,将 RL 优化问题转化为简单的分类损失。
核心原理
DPO 的核心思想
传统 RLHF 是两阶段过程:
- 训练一个奖励模型,拟合人类偏好判断
- 用 PPO 算法优化语言模型以最大化奖励
DPO 将奖励函数用策略本身的参数化表示,从而在一个步骤中完成对齐:
$$\mathcal{L}{DPO}(\pi\theta; \pi_{ref}) = -\mathbb{E}{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\pi\theta(y_w|x)}{\pi_{ref}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)} \right) \right]$$
其中 $y_w$ 是偏好回答,$y_l$ 是非偏好回答,$\beta$ 控制对参考策略的偏离程度。
DPO vs RLHF 对比
| 维度 | RLHF (PPO) | DPO |
|---|---|---|
| 训练阶段 | 3 阶段(SFT → RM → RL) | 2 阶段(SFT → DPO) |
| 奖励模型 | 需额外训练和部署 | 不需要 |
| 训练稳定性 | 不稳定,需大量调参 | 稳定,类似 SFT 训练 |
| 显存需求 | 4 个模型(策略、参考、奖励、价值) | 2 个模型(策略、参考) |
| 实现复杂度 | 高(PPO 实现细节多) | 低(标准分类 loss) |
| 数据效率 | 可使用奖励模型评分生成新数据 | 固定偏好数据集 |
| 离线对齐 | 不原生支持 | 原生支持 |
| 超参数敏感性 | 高 | 低 |
DPO 变体
KTO (Kahneman-Tversky Optimization)
- 不需要成对偏好数据,只需要"好"或"不好"的单侧标签
- 基于前景理论(Prospect Theory)
- 更适合实际标注场景(标注者只需评判单个回答)
IPO (Identity Preference Optimization)
- 解决了 DPO 中隐式奖励过大导致的过拟合问题
- 通过正则化约束保持接近参考策略
SimPO (Simple Preference Optimization)
- 使用序列平均对数概率(而非概率比)作为隐式奖励
- 无需参考模型,进一步简化训练流程
ORPO (Odds Ratio Preference Optimization)
- 将对齐损失和监督学习损失联合优化
- 不需要单独的 SFT 阶段
采用 DPO 的代表模型
| 模型 | 规模 | 对齐方法 | 特点 |
|---|---|---|---|
| Llama 3 (Meta) | 8B/70B/405B | DPO | 大规模 DPO 量产验证 |
| Mistral Large 2 | 123B | DPO | 多语言偏好对齐 |
| Yi-1.5 (01.AI) | 6B/9B/34B | DPO | 中文 DPO 实践 |
| Qwen 2.5 | 0.5B-72B | DPO | 混合 RLHF + DPO |
| DeepSeek V2 | 236B | DPO | MoE 模型 DPO |
| Zephyr (HuggingFace) | 7B | dDPO | 完全开源的对齐管线 |
工程实践
偏好数据构建
偏好数据集的核心要素:
- 多样性: 覆盖不同类型的任务(问答、创作、推理、编码)
- 质量: 偏好判别的一致性(多位标注者之间的 Cohen's Kappa)
- 难度: 包含模型容易犯错的有挑战性的样本
DPO 超参数
| 参数 | 推荐范围 | 说明 |
|---|---|---|
| β (beta) | 0.1 - 0.5 | 控制 KL 正则化强度,越小越接近参考策略 |
| 学习率 | 1e-6 - 5e-6 | 通常比 SFT 学习率低 |
| 批量大小 | 32 - 128 | 偏好数据需要足够大 batch |
| 训练轮次 | 1 - 3 | 防止过拟合(DPO 容易 overfit) |
常见陷阱
- 过拟合: DPO 可以轻松最大化偏好差距 → 需要 early stopping 或正则化
- 数据质量 > 数量: 1000 条高质量偏好数据 > 10000 条噪声数据
- 彩票效应: DPO 可能让模型学会"投机取巧",短回答或格式化技巧
相关概念
- RLHF — 传统 RLHF 方法
- Fine-tuning — 微调方法体系
- DPO vs RLHF vs PPO — 三种对齐方法的详细对比
- AI Agents — 对齐在 Agent 系统中的重要性
参考来源
- Rafailov et al. (2023). "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." NeurIPS 2024.
- Ethayarajh et al. (2024). "KTO: Model Alignment as Prospect Theoretic Optimization."
- Meng et al. (2024). "SimPO: Simple Preference Optimization with a Reference-Free Reward."
- Hong et al. (2024). "ORPO: Monolithic Preference Optimization without Reference Model."
- Meta (2024). "The Llama 3 Herd of Models" — DPO 在 405B 规模的实践报告。