DPO

📌 核心贡献

提出 Direct Preference Optimization (DPO),通过数学推导证明 RLHF 中的最优策略可以用闭式解表达,从而将偏好对齐问题转化为一个简单的分类损失,完全消除了显式奖励模型训练和强化学习的需要。

📖 摘要

While large-scale unsupervised language models (LMs) learn broad world knowledge and some reasoning skills, achieving precise control of their behavior is difficult due to the completely unsupervised nature of their training. Existing methods for gaining such steerability collect human labels of the relative quality of model generations and fine-tune the unsupervised LM to align with these preferences, often with reinforcement learning from human feedback (RLHF). However, RLHF is a complex and often unstable procedure, first fitting a reward model that reflects the human preferences, and then fine-tuning the large unsupervised LM using reinforcement learning to maximize this estimated reward without drifting too far from the original model. In this paper we introduce a new parameterization of the reward model in RLHF that enables extraction of the corresponding optimal policy in closed form, allowing us to solve the standard RLHF problem with only a simple classification loss. The resulting algorithm, which we call Direct Preference Optimization (DPO), is stable, performant, and computationally lightweight, eliminating the need for sampling from the LM during fine-tuning or performing significant hyperparameter tuning. Our experiments show that DPO can fine-tune LMs to align with human preferences as well as or better than existing methods. Notably, fine-tuning with DPO exceeds PPO-based RLHF in ability to control sentiment of generations, and matches or improves response quality in summarization and single-turn dialogue while being substantially simpler to implement and train.

🔍 关键信息

字段内容
机构Stanford University
发表2023-05-29
分类cs.LG, cs.AI, cs.CL
链接arXiv

📝 我的笔记

方法总览

DPO 方法与 RLHF 流程对比:DPO 跳过显式奖励模型训练,直接从偏好数据优化策略

动机与问题定义

传统 RLHF 流程包含三个阶段:(1) SFT 微调;(2) 训练奖励模型;(3) 用 PPO 等 RL 算法优化策略。这一流程存在多个痛点:

  • 复杂度高:需要分别训练奖励模型和策略模型,涉及多个模型的协调
  • 训练不稳定:PPO 对超参数敏感,训练过程中容易出现奖励 hacking
  • 计算开销大:RL 阶段需要反复从策略中采样并计算奖励

DPO 的核心洞察是:最优策略可以从 KL 约束的奖励最大化目标中直接求得闭式解,因此无需显式训练奖励模型,也无需进行 RL 训练。

Bradley-Terry 偏好模型

RLHF 通常假设人类偏好遵循 Bradley-Terry 模型,即给定提示 和两个回复 ,人类偏好 的概率为:

其中 是潜在的真实奖励函数, 是 sigmoid 函数。

从 RLHF 目标到 DPO 损失函数

第一步:RLHF 目标函数

标准 RLHF 的优化目标是在 KL 散度约束下最大化期望奖励:

第二步:求解最优策略的闭式解

对上述受约束优化问题,可以推导出最优策略的解析形式:

其中 是归一化常数(partition function)。

第三步:重参数化——隐式奖励函数

将上式取对数并整理,可以将奖励表示为策略的函数:

这就是 DPO 的核心发现:奖励函数可以隐式地由策略和参考策略的对数比率表达。

第四步:代入 Bradley-Terry 模型得到 DPO 损失

将重参数化的奖励代入 Bradley-Terry 偏好模型,partition function 在求差时恰好抵消:

最终 DPO 损失函数为:

这是一个简单的二元交叉熵分类损失,无需采样、无需奖励模型、无需 RL。

梯度分析

DPO 损失的梯度具有直观的含义:梯度中的权重项 反映了隐式奖励模型对偏好对排序的错误程度。当模型已经正确地给予 更高的隐式奖励时,该样本的梯度权重较小;当排序错误时,权重较大。这种自适应加权机制是 DPO 稳定性的关键来源。

关键实验结果

奖励-KL 前沿曲线:DPO 与 PPO 在不同 KL 散度下的奖励对比

情感控制(IMDb 评论)

方法奖励-KL 前沿表现
DPO在所有 KL 值下均达到最高期望奖励
PPO(真实奖励)低于 DPO 的前沿
PPO(学习奖励)更差,存在奖励 hacking 风险

摘要生成(TL;DR Reddit)

方法对参考摘要胜率 (T=0.0)对参考摘要胜率 (T=0.25)
DPO61%稳健
PPO57%温度敏感

DPO 在不同采样温度下表现更加稳健。

对话(Anthropic HH)

方法表现
DPO唯一在计算高效方法中超越偏好数据中优选回复的方法
Best of 128匹配或略低于 DPO(但计算开销巨大)
PPO表现不及 DPO

对话任务胜率对比

重要发现

  • 无需朴素版本中的加权:消融实验表明,如果去掉梯度中的重要性加权系数 ,语言模型会退化(附录 Table 3)
  • 分布外泛化:在 CNN/DailyMail 数据集上评估(训练在 TL;DR 上),DPO 显著优于 PPO,表明其泛化能力相当甚至更好
  • 评估验证:人类评估者之间的一致性与人类和 GPT-4 之间的一致性相当,验证了自动化评估方法的有效性

总结与影响

DPO 的贡献在于将 RLHF 的复杂多阶段流程简化为一个优雅的分类问题,同时保持甚至超越了 PPO 的性能。其核心数学洞察——“你的语言模型本身就是一个奖励模型”——深刻地改变了偏好对齐领域的研究方向。

DPO 发表后催生了大量后续工作:

  • IPO (Identity Preference Optimization):不依赖 Bradley-Terry 假设,使用更通用的偏好模型
  • KTO (Kahneman-Tversky Optimization):只需要单条回复的好/坏标签,无需成对偏好数据
  • ORPO (Odds Ratio Preference Optimization):将 SFT 和偏好对齐合并为一步
  • SimPO:简化 DPO 中的参考模型依赖

这些变体进一步验证了 DPO 开创的”无需 RL 的偏好对齐”范式的生命力。

🔗 相关论文

基于/改进自: InstructGPT

同方向: RM-Survey, RM-R1