【论文阅读笔记-LLM】DPO - Direct Policy Optimization
Direct Preference Optimization (DPO):发现语言模型本身可视为隐式的奖励模型。通过数学变换,将强化学习的约束优化问题转换为直接优化策略的分类问题。
Rafailov, Rafael, et al. “Direct preference optimization: Your language model is secretly a reward model.” Advances in Neural Information Processing Systems 36 (2023): 53728-53741.
背景
大语言模型(如GPT系列)通过海量数据训练获得了广泛的知识和推理能力,但由于训练过程完全无监督,模型可能会生成不符合人类价值观或需求的内容。例如,一个编程助手模型可能知道常见的代码错误,但我们需要它能稳定地生成正确代码,而不是偶尔犯错。
传统方法(如RLHF,基于人类反馈的强化学习)通过以下流程控制模型行为:
- 监督微调(SFT):用高质量数据初步调整模型。
- 奖励建模:收集人类对模型生成结果的偏好(比如比较两个答案哪个更好),训练一个奖励模型来打分。
- 强化学习优化:用奖励模型引导模型生成高分结果,同时防止模型偏离原始能力(通过KL散度约束)。
但这个流程存在以下问题:
- 模型数量多:流程复杂,需要训练奖励模型和策略模型两个模型。
- 算法不稳定:强化学习部分(如PPO算法)不稳定,需要大量超参数调整。
- 计算成本高:生成过程中需多次采样,计算成本高。
主要研究问题
如何直接通过人类偏好数据微调语言模型,同时避免传统方法中复杂的奖励建模和强化学习步骤? 具体挑战包括:
- 如何将人类偏好直接转化为模型优化目标?
- 如何避免强化学习的复杂性和不稳定性?
- 如何确保模型在优化过程中不过度偏离原始能力?
贡献
论文提出Direct Preference Optimization (DPO),核心创新包括:
- 单阶段训练:无需显式训练奖励模型,直接通过偏好数据优化语言模型。
- 数学等价性证明:通过理论推导,将强化学习的优化目标转化为简单的分类问题。
- 高效稳定:实验表明DPO效果优于或持平RLHF,且训练更简单、计算成本更低。
方法
发现语言模型本身可视为隐式的奖励模型。通过数学变换,将强化学习的约束优化问题转换为直接优化策略的分类问题。
理论推导
- 传统RLHF的目标是最大化奖励,同时约束模型不要偏离原始模型(SFT得到的模型)(通过KL散度)。
- 作者证明,最优策略(即调整后的语言模型)与奖励函数之间存在解析关系,即:
最优策略 ∝ 原始模型 × exp ( 奖励函数 / β ) \text{最优策略} \propto \text{原始模型} \times \exp(\text{奖励函数}/\beta) 最优策略∝原始模型×exp(奖励函数/β)
其中β是控制偏离程度的参数。 - 将此关系代入人类偏好的概率模型(如Bradley-Terry模型),发现可以直接通过策略的偏好概率计算损失函数,而无需显式奖励模型。
损失函数设计
DPO的损失函数形式为二元交叉熵,直接比较偏好答案和非偏好答案的模型输出概率差异:
L DPO = − E [ log σ ( β log π ( y w ∣ x ) π ref ( y w ∣ x ) − β log π ( y l ∣ x ) π ref ( y l ∣ x ) ) ] L_{\text{DPO}} = -\mathbb{E} \left[ \log \sigma \left( \beta \log \frac{\pi(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi(y_l|x)}{\pi_{\text{ref}}(y_l|x)} \right) \right] LDPO=−E[logσ(βlogπref(yw∣x)π(yw∣x)−βlogπref(yl∣x)π(yl∣x))]
其中, y w y_w yw 是偏好答案, y l y_l yl是非偏好答案, π ref \pi_{\text{ref}} πref 是参考模型。
总结一下,DPO的核心思想是利用奖励函数和最优策略之间的映射关系,将奖励函数的优化问题转化为策略的优化问题。具体来说,DPO直接优化语言模型的策略,使其更倾向于生成人类偏好的响应,而不是先学习一个奖励函数再通过强化学习优化策略;DPO基于一个理论偏好模型(如Bradley-Terry模型),该模型衡量给定奖励函数与经验偏好数据的一致性;与现有方法不同,DPO通过变量替换,将偏好损失定义为策略的函数,而不是先训练奖励模型再训练策略;给定一组人类对模型响应的偏好数据,DPO可以直接使用简单的二元交叉熵目标函数来优化策略,无需显式学习奖励函数或在训练过程中从策略中采样。
DPO的更新机制会增加偏好响应的相对对数概率,同时引入一个动态的、每个样本的重要性权重,以防止模型退化。这个权重根据模型对偏好和非偏好响应的错误估计程度进行调整,确保模型在优化过程中不会偏离原始分布太远,同时保持生成多样性和避免模式坍塌。
直观解释:
- 通过调整模型对偏好答案的生成概率,隐式对齐奖励函数。
- 动态权重(σ函数)自动平衡不同样本的重要性,防止模型过度优化。
实验
场景
-
情感控制(IMDb 电影评论)
- 目标:让模型生成具有正向情感的内容。
- 数据:用情感分类器自动生成偏好对(正向vs.非正向评论)。
- 在这个任务中,输入是电影评论的前缀,模型需要生成具有积极情感的文本。为了进行控制评估,实验中使用预训练的情感分类器生成偏好对,其中偏好响应的积极情感概率高于非偏好响应。
- DPO在这个任务上的表现优于或至少与现有的基于PPO的RLHF方法相当,显示出其在优化奖励和最小化与参考策略的KL散度方面的优势。
-
摘要任务(Reddit TL;DR 数据集)
- 目标:生成高质量的文章摘要。
- 数据:人类标注的偏好对(比较两个摘要的优劣)。
- 输入是Reddit论坛帖子,模型需要生成帖子主要内容的摘要。
- DPO在这个任务上的表现超过了PPO,其生成的摘要在GPT-4评估下的胜率更高,且对采样温度的变化更为鲁棒。
-
单轮对话(Anthropic Helpful 和 Harmless 数据集)
- 目标:生成有用且无害的回答。
- 数据:人类标注的偏好对(优选助手的回答)。
- 输入是人类的查询,模型需要生成一个有帮助且吸引人的回答。
- DPO在这个任务上是唯一一个能够改进数据集中首选摘要的方法,并且在不同采样温度下都能保持较好的性能。
评估方式
-
自动评估:
- 情感任务:用真实情感分类器计算生成内容的奖励值,同时监控模型偏离原始模型的程度(KL散度)。
- 摘要和对话:用GPT-4作为代理评估生成结果的胜率(对比基线模型)。
-
人工评估:
- 验证GPT-4评估结果与人类判断的一致性(发现二者高度一致)。
实验结果
- DPO在奖励-KL效率曲线上显著优于PPO,即用更小的模型偏离获得更高奖励。
- 在摘要任务中,DPO的GPT-4胜率达到61%,高于PPO的57%。
- 在对话任务中,DPO是唯一显著超越原始偏好数据的方法。
- DPO对生成温度(随机性)的鲁棒性更强,而PPO在高温下性能下降明显。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)