Direct Preference Optimization: Your Language Model is Secretly a Reward Model

作者: Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, Chelsea Finn 年份: 2023 会议: NeurIPS 2023 分类: 训练优化

论文笔记:Direct Preference Optimization: Your Language Model is Secretly a Reward Model

元信息

项目内容
机构Stanford University
日期May 2023
对比基线PPO-based RLHF, Best-of-nn Sampling, SLiC-HF
链接arXiv

一句话总结

证明 RLHF 中的奖励模型可以被解析地转化为最优策略的闭式表达,从而绕过显式奖励建模和 PPO 强化学习,直接用一个简单的分类损失在人类偏好数据上优化语言模型策略。

核心贡献

理论突破: 推导出 Bradley-Terry 偏好模型下奖励函数与最优策略之间的闭式映射,证明奖励可以用策略和参考策略的对数概率比精确表示

简化 RLHF 流水线: 将三阶段流水线(SFT → 奖励模型训练 → PPO 优化)简化为两阶段(SFT → DPO 损失直接优化),消除了奖励模型拟合和 PPO 采样/训练的复杂性

稳定高效: 无需奖励模型推理、无需在线生成样本、无需 PPO 的 value function 和 clipping 机制,训练稳定性和效率大幅提升

性能持平或超越 PPO: 在摘要、对话等任务上,DPO 以更少的计算达到与 PPO-based RLHF 相当或更优的结果

问题背景

要解决的问题

如何高效地将人类偏好注入大语言模型,使其生成符合人类价值观和需求的回答(alignment),同时避免标准 RLHF 流水线的复杂性和不稳定性?

现有方法的局限

标准 RLHF(Ouyang 2022, InstructGPT): 三阶段流水线——(1) SFT 监督微调 → (2) 训练奖励模型 → (3) 用 PPO 最大化奖励同时约束与 SFT 模型的 KL 散度

  • 奖励模型的泛化能力有限,可能被策略”exploited”
  • PPO 是在线 RL 算法,需要不断从当前策略采样、计算奖励、估计优势函数,计算开销大
  • PPO 有大量超参数(clipping ratio, value function coefficient, GAE lambda 等),调参困难
  • 需要同时维护 4 个模型(策略、参考策略、奖励模型、价值网络)的显存开销

本文的动机

核心洞察:在 KL 约束的奖励最大化目标下,最优策略有闭式解——这意味着可以把奖励函数”反解”为策略的函数,从而绕过显式的奖励建模

方法详解

从 RLHF 目标出发

标准 RLHF 的目标函数:

maxπθExD,yπθ(x)[rϕ(x,y)]βDKL[πθ(yx)πref(yx)]\max_{\pi_\theta} \mathbb{E}_{x \sim \mathcal{D}, y \sim \pi_\theta(\cdot|x)} \left[ r_\phi(x, y) \right] - \beta \, D_{\text{KL}} \left[ \pi_\theta(y|x) \| \pi_{\text{ref}}(y|x) \right]

其中 rϕr_\phi 为奖励模型,πref\pi_{\text{ref}} 为 SFT 后的参考策略,β\beta 控制偏离参考策略的惩罚

闭式最优策略

对上述目标求解(类似控制理论中的 KL-regularized RL),得到最优策略的闭式表达:

π(yx)=1Z(x)πref(yx)exp(1βr(x,y))\pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left(\frac{1}{\beta} r(x, y)\right)

其中 Z(x)=yπref(yx)exp(r(x,y)/β)Z(x) = \sum_y \pi_{\text{ref}}(y|x) \exp(r(x,y)/\beta) 为配分函数

反解奖励函数

从闭式策略中反解出奖励:

r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)

关键: 奖励可以用策略与参考策略的对数概率比精确表示(配分函数 Z(x)Z(x) 只依赖于 xx,在偏好比较中会被消去)

Bradley-Terry 模型 + 奖励代入

人类偏好遵循 Bradley-Terry 模型:P(ywylx)=σ(r(x,yw)r(x,yl))P(y_w \succ y_l | x) = \sigma(r(x, y_w) - r(x, y_l))

将奖励的策略表达代入,βlogZ(x)\beta \log Z(x) 项在减法中消去,得到 DPO 损失

关键公式

公式1: Bradley-Terry 偏好模型

P(ywylx)=σ(r(x,yw)r(x,yl))P(y_w \succ y_l | x) = \sigma\left(r(x, y_w) - r(x, y_l)\right)

含义: 人类偏好被选择回答 ywy_w 优于 yly_l 的概率,由两者奖励之差的 sigmoid 函数决定

符号说明:

  • ywy_w: 人类偏好的(winning)回答
  • yly_l: 人类不偏好的(losing)回答
  • σ()\sigma(\cdot): sigmoid 函数
  • r(x,y)r(x, y): 奖励函数

公式2: 闭式最优策略

π(yx)=1Z(x)πref(yx)exp(1βr(x,y))\pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left(\frac{1}{\beta} r(x, y)\right)

含义: KL 约束下最优策略的解析表达——参考策略按奖励的指数进行重加权

符号说明:

  • Z(x)=yπref(yx)exp(r(x,y)/β)Z(x) = \sum_y \pi_{\text{ref}}(y|x) \exp(r(x,y)/\beta): 配分函数(不可计算但在 DPO 推导中消去)
  • β\beta: 温度参数,控制策略偏离参考策略的程度

公式3: 奖励的策略表达(核心推导)

r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)

含义: 奖励函数被精确地表示为策略与参考策略的对数概率比(加上一个仅依赖 xx 的常数项)

意义: 这意味着语言模型本身就隐含了一个奖励模型——无需单独训练

公式4: DPO 损失函数

LDPO(πθ;πref)=E(x,yw,yl)D[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} \right) \right]

含义: 直接在偏好数据上优化策略,使得偏好回答相对于参考策略的对数概率提升幅度大于非偏好回答

符号说明:

  • πθ\pi_\theta: 待优化的策略(语言模型)
  • πref\pi_{\text{ref}}: 冻结的参考策略(通常为 SFT 模型)
  • β\beta: 温度参数(控制 KL 正则化强度)
  • D\mathcal{D}: 人类偏好数据集 {(x,yw,yl)}\{(x, y_w, y_l)\}

公式5: DPO 梯度分析

θLDPO=βE[σ(r^θ(yl)r^θ(yw))权重:奖励排序错误的程度[θlogπθ(ywx)θlogπθ(ylx)]]\nabla_\theta \mathcal{L}_{\text{DPO}} = -\beta \, \mathbb{E} \left[ \underbrace{\sigma(\hat{r}_\theta(y_l) - \hat{r}_\theta(y_w))}_{\text{权重:奖励排序错误的程度}} \left[ \nabla_\theta \log \pi_\theta(y_w|x) - \nabla_\theta \log \pi_\theta(y_l|x) \right] \right]

含义: DPO 的梯度有直观解释——当隐式奖励 r^θ\hat{r}_\theta 对偏好排序”搞错”的程度越大,梯度越大,推动策略更强地提升 ywy_w 的概率、降低 yly_l 的概率

符号说明:

  • r^θ(x,y)=βlogπθ(yx)πref(yx)\hat{r}_\theta(x,y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}: 隐式奖励
  • 前面的 sigmoid 项起到了自适应权重的作用——已经正确排序的样本贡献小梯度

实验结果

受控情感生成(IMDB)

使用 GPT-2 在 IMDB 评论数据上训练,目标是生成正面情感的文本

DPO 在 reward-KL 帕累托前沿上匹配或优于 PPO,同时训练更稳定

摘要任务(TL;DR)

方法Win Rate vs SFTWin Rate vs Human
PPO (best)61%
DPO64%48%
Best-of-12865%

DPO 以 64% 的胜率超过 PPO(61%),仅略低于 Best-of-128 采样(65%,但需要 128 倍推理成本)

DPO 生成的摘要与人类参考摘要的胜率接近 50%——接近人类水平

对话任务(Anthropic-HH)

方法Win Rate vs Preferred
Preferred (人类偏好)50%
SFT29%
PPO44%
DPO52%

DPO 在 Anthropic-HH 数据集上超过人类偏好回答的胜率基线,显著优于 PPO

计算效率对比

DPO 仅需前向传播和反向传播策略模型和参考模型,无需在线采样和奖励模型推理

相比 PPO,训练所需显存降低约 50%(不需要 value network 和 reward model 的梯度)

超参数仅有 β\beta 和学习率,远少于 PPO 的数十个超参数

局限性

离线数据依赖: DPO 使用离线偏好数据训练,无法像 PPO 那样从当前策略的在线生成中获益——当偏好数据与当前策略分布偏差较大时可能出现分布偏移(distribution shift)问题

Bradley-Terry 假设: 假设偏好遵循 Bradley-Terry 模型(标量奖励的函数),无法建模不可传递偏好或多维偏好

β\beta 敏感性: 温度参数 β\beta 对最终效果影响较大,过大导致策略过于保守,过小导致偏离参考策略过多

参考策略质量: DPO 的性能上界受限于参考策略 πref\pi_{\text{ref}} 的质量——如果 SFT 模型很差,DPO 难以学到好的策略

缺乏在线探索: 无法发现偏好数据中未覆盖的高质量回答模式,后续 online DPO / iterative DPO 方法试图解决此问题

相关概念

RLHF: DPO 的前身范式,使用显式奖励模型 + PPO 进行人类偏好对齐

PPO: Proximal Policy Optimization,标准 RLHF 中使用的 RL 算法,DPO 的主要替代目标

Bradley-Terry: 配对比较概率模型,DPO 推导的数学基础

KL散度: DPO 目标中的隐式正则化项,约束策略不偏离参考策略太远

InstructGPT: OpenAI 基于 RLHF 的对齐方法,DPO 的直接改进对象

IPO: Identity Preference Optimization,DPO 的后续改进,去除 Bradley-Terry 假设

KTO: Kahneman-Tversky Optimization,仅需要单条回答的好/坏标签而非配对偏好数据

笔记创建时间: 2026-04-03