资料摘要:DPO
Stanford 提出的 Direct Preference Optimization,将 RLHF 的复杂两步流程(训练 RM + PPO)简化为单一分类损失,仅需几行 PyTorch 代码即可实现对齐训练。 DPO - Direct Preference Optimization
核心要点
- 核心洞察:语言模型本身就隐含了奖励模型。通过重参数化 r(x,y) = β·log(π/π_ref),可以从 RLHF 目标函数中解析地解出最优策略
- 算法简化:不需要显式训练 RM、不需要 PPO 采样循环、不需要 value function
- 效果超越 PPO:在 TL;DR 摘要和 Anthropic HH 对话任务上,DPO 达到或超越 PPO 的对齐效果
- 代码仅 5 行:
loss = -F.logsigmoid(beta * (pi_logratios - ref_logratios))
详细笔记
数学核心
DPO 的关键推导:
- RLHF 的最优策略有闭式解:π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β)
- 反解出奖励:r(x,y) = β·log(π(y|x)/π_ref(y|x)) + β·log Z(x)
- 代入 Bradley-Terry 偏好模型后,Z(x) 神奇地抵消
- 最终损失:L_DPO = -E[log σ(β·log(π_θ(y_w)/π_ref(y_w)) - β·log(π_θ(y_l)/π_ref(y_l)))]
定理 1: 所有与 Bradley-Terry/Plackett-Luce 一致的奖励等价类都可以用 DPO 重参数化表达,无信息损失。
关键结果
情感控制(IMDb): DPO 在所有 KL 预算下严格优于 PPO、PPO-GT(ground-truth reward)、Preferred-FT、Unlikelihood
TL;DR 摘要(GPT-4 评估):
- DPO temp 0.0 win rate ~61% vs PPO temp 0.0 ~57%
- DPO 对采样温度变化远更鲁棒,PPO 在高温下退化至基础模型水平
- 人类评估:DPO 58% 胜率 vs PPO
Anthropic HH 对话:
- DPO 是唯一在 chosen responses 基础上持续改进的方法
- PPO 在相同数据集上无法找到合适的 prompt/温度组合
- DPO 收敛快速(~1500-2000 步),稳定
OOD 泛化(CNN/DailyMail → TL;DR 分布): DPO win rate 0.36 vs PPO 0.26
为什么 DPO 比 PPO 更稳定
论文解释了 PPO 不稳定的根本原因:标准 RLHF 中的归一化项(软价值函数)难以估计,产生高方差梯度。DPO 通过重参数化解析地”吸收”了这项。
超参数
- 情感 β=0.1、摘要 β=0.5
- RMSprop optimizer、LR 1e-6、batch size 64、linear warmup 150 步
- 训练期间无需从策略采样(vs PPO 每步都需要采样)
影响
DPO 彻底改变了对齐训练的格局。它成为开源模型对齐的首选方法(Llama 2/3、Zephyr、Mistral 微调系列等),催生了大量变体(IPO、KTO、ORPO、SimPO 等)。“你的语言模型暗含了一个奖励模型”成为对齐领域的新范式。