资料摘要: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 的关键推导:

  1. RLHF 的最优策略有闭式解:π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β)
  2. 反解出奖励:r(x,y) = β·log(π(y|x)/π_ref(y|x)) + β·log Z(x)
  3. 代入 Bradley-Terry 偏好模型后,Z(x) 神奇地抵消
  4. 最终损失: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 等)。“你的语言模型暗含了一个奖励模型”成为对齐领域的新范式。

相关