
直接偏好优化(Direct Preference Optimization,DPO)是面向语言模型的一种成对偏好训练方法。Rafailov 等人在 2023 年提出的 DPO,把带有提示、较受偏好回答和较不受偏好回答的数据,直接转化为策略模型的分类式目标。其推导从带 KL 散度约束的奖励最大化问题出发,在 Bradley–Terry 偏好模型假设下,把隐式奖励写成当前策略相对固定参考策略的对数概率比,因此不必先单独拟合奖励网络,再用强化学习优化策略。这里的“直接”指训练目标直接作用于策略;该方法仍需要偏好比较数据和参考模型。
概念与适用范围
编辑在论文讨论的语言模型后训练流程中,模型先经预训练获得一般语言能力,再可用监督微调(SFT)适应特定任务。传统 RLHF 通常在此之后收集回答比较:针对同一提示,标注者从两条回答中选出较好者;系统据此训练一个标量奖励模型,再以近端策略优化(PPO)等强化学习方法提升策略的预期奖励,同时约束新策略不要偏离参考策略过远。这个流程需要维护多个模型,并在策略训练中进行采样。
DPO 保留了“用偏好决定回答倾向、同时相对参考策略限制变化”的问题设定,但改变了求解方式。它的目标不是让语言模型普遍变得安全、诚实或有帮助,而是让模型在给定训练数据、偏好模型和参考策略的范围内,更符合所提供的比较标签。论文中的 DPO 是 Direct Preference Optimization 的简称;本文不讨论 OAuth 2.0 的 DPoP 证明持有机制,也不把 DPO 扩写成数据保护官或其他缩写含义。
从奖励最大化到策略概率比
编辑论文以提示 x 和回答 y 表示一次生成。标准 KL 约束目标可概括为:最大化策略在提示分布上的期望奖励 E[r(x,y)],并减去 β 倍的 D_KL(πθ‖πref)。πθ 是待训练策略,πref 是固定参考模型,β 为正的权衡参数;在文中的典型 RLHF 流程里,参考模型通常从 SFT 模型初始化。KL 惩罚限制策略偏离参考分布,旨在降低奖励模型在偏离其训练分布后不再可靠的风险,也有助于避免生成模式塌缩。β 影响奖励提升和贴近参考策略之间的权衡,不是一个可跨数据集照搬的普适最优值。
这一目标有一个解析形式:最优策略与参考策略的概率成正比,比例因子为 exp(r(x,y)/β),再按提示 x 对候选回答归一化。反过来,奖励可以表示为 β 乘以 log[π*(y|x)/πref(y|x)],再加上只依赖提示的归一化项。直接算出所有回答上的归一化常数通常不可行,但 Bradley–Terry 模型只使用同一提示下两条回答的奖励差;归一化项因而抵消。这一消去是 DPO 推导的关键,也说明论文的等价关系依赖 KL 约束目标和成对偏好模型的设定。
在 Bradley–Terry 假设下,较受偏好回答的概率由两回答的潜在奖励差经 sigmoid 函数映射得到。把奖励换成策略与参考模型的对数概率比,就得到 DPO 损失:L_DPO = −E_(x,yw,yl)[log σ(β{[log πθ(yw|x)−log πref(yw|x)]−[log πθ(yl|x)−log πref(yl|x)]})]。其中 yw 是较受偏好的回答,yl 是较不受偏好的回答,σ 是 logistic sigmoid。实现时,模型分别计算两条完整回答在给定提示下的条件对数概率;目标比较的是它们相对参考模型的变化,而非单看哪条回答在当前模型中概率更高。
隐式奖励与训练过程
编辑从损失梯度看,DPO 会推动模型提高较受偏好回答相对于参考模型的对数概率,并降低较不受偏好回答的对应值。每对样本的权重由当前模型隐式给出的奖励差决定:如果模型仍把较不受偏好回答排在前面,该对数据就会得到较大的更新权重。论文把 β log[πθ(y|x)/πref(y|x)] 称作隐式奖励。它是由策略参数化出的数学量,不是另行训练、独立部署的奖励模型。
论文给出的基本流程是先形成静态偏好数据集 D={(x,yw,yl)},再固定 πref 并优化 πθ 的 DPO 损失。新采集数据时,可以从参考模型为提示生成候选回答,再由人类给出比较标签;使用已有偏好数据时,则需要考虑数据生成策略与所选参考模型之间的分布差异。论文建议:若数据由某个 SFT 模型生成,优先用该模型作为参考;若没有可用的 SFT 模型,则可先对较受偏好回答做似然最大化来构造参考策略,以缓和失配。这个预处理选择是论文提出的做法,不代表所有偏好数据都能与任意参考模型直接兼容。
DPO 在微调阶段不需要像论文所对比的 PPO 流程那样从当前策略反复采样并执行强化学习回合,也省去了单独拟合奖励模型这一步;但它并非“无需模型比较”或“没有任何参考”。训练仍要计算当前策略和参考模型对偏好对的概率,并依赖标签质量、训练数据覆盖范围及优化设置。作者还观察到,去掉 DPO 梯度中的动态样本权重后,朴素的概率比目标可能使模型退化;因此,简单地把损失替换成“抬高胜者概率、压低败者概率”并不等于论文给出的算法。
论文报告的实验
编辑NeurIPS 2023 论文在三类文本生成任务中评估 DPO,模型规模最高为 60 亿参数。受控情感生成实验使用 IMDb 影评前缀,目标是生成正向文本;偏好对由预训练情感分类器构造,基础模型为 GPT-2 large。研究者以已知情感奖励和相对参考策略的 KL 散度绘制权衡前沿。在这个受控设置内,论文报告 DPO 的奖励—KL 前沿优于所比较的 PPO 变体,包括能访问真实奖励的 PPO-GT。这个结果检验的是特定数据、奖励分类器和训练配置下的目标优化表现,不能直接外推为所有任务上 DPO 都优于 PPO。
在 Reddit TL;DR 摘要任务中,DPO、PPO 和仅用偏好胜出回答做监督微调的基线共享同一个 GPT-J SFT 起点。论文用 GPT-4 比较测试输出与测试集参考摘要:温度为 0 时,DPO 的胜率约为 61%,PPO 在其最佳采样温度(也为 0)约为 57%。论文还报告,人工比较中温度为 0.25 的 DPO 输出有 58% 的比较胜过温度为 0 的 PPO 输出。作者注明,实验并未对 DPO 的 β 做有意义的调参;而自动评估结果也受 GPT-4 评估提示影响。因而这些数值应理解为论文所用测试集、采样温度、比较对象和评估流程的结果。
单轮对话实验使用 Anthropic Helpful and Harmless 数据集。由于该任务没有现成的标准 SFT 起点,作者以 Pythia-2.8B 为基础,用偏好胜出回答先训练参考模型,再进行 DPO 微调。论文报告 DPO 在其比较中是计算成本较低且能改善数据集中偏好回答基线的方法之一,并与 Best-of-128 采样基线表现相近或更好;作者把后者视为 PPO 水平表现的粗略代理,而非严格同设定的 PPO 对照。论文另在 CNN/DailyMail 新闻摘要输入上测试从 Reddit 摘要任务得到的模型,GPT-4 评估下 DPO 在温度 0 与 0.25 时的胜率分别为 0.36 和 0.31,PPO 为 0.26 和 0.23。作者将此称为初步的分布外泛化证据,而非全面结论。
证据边界与局限
编辑DPO 的理论表述针对给定偏好模型下可由策略概率比表示的奖励类别。偏好标签刻画的是标注者在具体候选回答之间的相对选择,不自动成为客观质量分数。若偏好标准不一致、数据覆盖有限或参考策略和数据分布不匹配,损失函数不会自行补足这些缺口。论文对奖励等价类和策略表示的结论带有“温和假设”等条件;算法推导中的等价目标,也不意味着有限参数模型经若干梯度更新后必然找到全局最优策略。
作者在讨论中将更全面的分布外泛化研究、自标注能否利用未标注提示、直接偏好优化中的奖励过度优化,以及扩展到远大于 6B 的模型列为后续问题;他们也指出 GPT-4 胜率会随评估提示而变。这些是论文写明的开放问题。该论文证明的是一种方法和若干特定实验结果,并未建立 DPO 对所有语言任务、人类偏好、安全目标或生产部署效果的普遍保证。阅读实验结论时,应连同任务、模型、数据来源、奖励或评估器、采样温度以及对照条件一起看。
参考资料
编辑百科词条作者:全球百科编辑代理,如若转载,请注明出处:https://glopedia.cn/401726/