大规模无监督语言模型(LM)虽然学到了广博的世界知识和一些推理能力,但由于其训练完全是无监督的,要精确控制其行为却很困难。现有获得这种可操控性的方法,会收集人类对模型生成结果相对质量的标注,并微调无监督 LM 以对齐这些偏好,通常采用基于人类反馈的强化学习(RLHF)。然而,RLHF 是一个复杂且常常不稳定的流程:先拟合一个反映人类偏好的奖励模型,再用强化学习微调大型无监督 LM,以在不过度偏离原模型的前提下最大化这个估计出的奖励。本文中,我们为 RLHF 中的奖励模型引入一种新的参数化方式,使得对应的最优策略可以闭式抽取出来,从而让我们只用一个简单的分类损失就能求解标准的 RLHF 问题。由此得到的算法,我们称之为直接偏好优化(Direct Preference Optimization,DPO):它稳定、性能好、计算开销轻,无需在微调中从 LM 采样,也无需做大量超参调优。我们的实验表明,DPO 在对齐人类偏好方面,能把 LM 微调得与现有方法持平甚至更好。值得注意的是,在控制生成情感的能力上,DPO 微调超过了基于 PPO 的 RLHF;在摘要和单轮对话上,它在显著更易实现与训练的同时,达到或提升了回复质量。
在超大数据集上训练的大型无监督语言模型(LM)获得了令人惊讶的能力 [11, 7, 42, 8]。然而,这些模型是在由具有各种各样目标、优先级和技能的人类所生成的数据上训练的。其中某些目标和技能可能并不值得模仿;例如,我们或许希望 AI 编程助手理解常见的编程错误以便纠正它们,但在生成代码时,我们却希望把模型偏向其训练数据中(可能稀少的)高质量编程能力。类似地,我们可能希望语言模型知晓某个被 50% 的人相信的常见误解,但我们当然不希望模型在 50% 的相关查询中宣称这个误解是真的!换言之,从模型极其广博的知识与能力中选出其期望的回复和行为,对构建安全、高性能、可控的 AI 系统至关重要 [28]。现有方法通常用强化学习(RL)来引导 LM 匹配人类偏好,
我们将证明:现有方法所用的、基于 RL 的目标,可以用一个简单的二元交叉熵目标精确地优化,从而极大地简化偏好学习的流程。
在高层面上,现有方法用精心整理的人类偏好集合(代表人类认为安全且有帮助的那类行为)把期望的行为灌注到语言模型中。这个偏好学习阶段,发生在对大型文本数据集进行大规模无监督预训练的初始阶段之后。虽然偏好学习最直接的做法是在人类给出的高质量回复示范上做监督微调,但最成功的一类方法是基于人类(或 AI)反馈的强化学习(RLHF/RLAIF;[12, 2])。RLHF 方法先对人类偏好数据集拟合奖励模型,再用 RL 优化语言模型策略,使其在不过度偏离原模型的前提下产出被赋予高奖励的回复。虽然 RLHF 能产出对话和编程能力令人印象深刻的模型,但 RLHF 流程比监督学习复杂得多,涉及训练多个 LM、并在训练循环中从 LM 策略采样,带来可观的计算成本。
本文中,我们展示如何直接优化一个语言模型以遵从人类偏好,而无需显式的奖励建模或强化学习。我们提出直接偏好优化(DPO),一种隐式优化与现有 RLHF 算法相同目标(带 KL 散度约束的奖励最大化)的算法,但它易于实现、训练直接。直观上,DPO 的更新会增大「偏好回复相对于非偏好回复」的对数概率,但它引入了一个动态的、逐样本的重要性权重,以防止我们发现的那种朴素概率比目标会导致的模型退化。与现有算法一样,DPO 依赖一个理论上的偏好模型(如 Bradley-Terry 模型 [5]),用以衡量给定奖励函数与经验偏好数据的契合程度。然而,现有方法是用偏好模型定义一个偏好损失来训练奖励模型、再训练一个优化所学奖励模型的策略;而 DPO 用一次变量替换,把偏好损失直接定义为策略的函数。因此,给定一个关于模型回复的人类偏好数据集,DPO 就能用一个简单的二元交叉熵目标来优化策略,产出对拟合到偏好数据的隐式奖励函数而言的最优策略。
我们的主要贡献是直接偏好优化(DPO)——一种简单、无需 RL 的、从偏好中训练语言模型的算法。我们的实验表明,在情感调节、摘要、对话等从偏好中学习的任务上,使用最多 60 亿参数的语言模型,DPO 至少与现有方法(包括基于 PPO 的 RLHF)一样有效。
∗ 同等贡献;更资浅的作者列在前。第 37 届神经信息处理系统大会(NeurIPS 2023)。
规模不断增大的自监督语言模型,学会了零样本 [33] 或借助少样本 prompt [6, 27, 11] 完成某些任务。然而,它们在下游任务上的表现以及与用户意图的对齐,可以通过在「指令 + 人类撰写的补全」数据集上微调而显著提升 [25, 38, 13, 41]。这种「指令微调(instruction-tuning)」过程使 LLM 能泛化到指令微调集之外的指令,并普遍提升其可用性 [13]。尽管指令微调很成功,但关于回复质量的相对人类判断往往比专家示范更容易收集,因此后续工作用人类偏好数据集微调 LLM,提升了翻译 [20]、摘要 [40, 51]、讲故事 [51] 和指令遵循 [28, 34] 的能力。这些方法先在某种偏好模型(如 Bradley-Terry 模型 [5])下,优化一个神经网络奖励函数以契合偏好数据集,然后用强化学习算法微调语言模型以最大化给定奖励,常用 REINFORCE [47]、近端策略优化(PPO;[39])或其变体 [34]。一条密切相关的工作脉络,利用经人类反馈指令微调过的 LLM,为安全或无害等目标属性生成额外的合成偏好数据 [2],仅以文本评分细则的形式从人类获取弱监督。这些方法代表了两大研究脉络的汇合:一是用强化学习为各种目标训练语言模型 [35, 29, 48],二是从人类偏好中学习的通用方法 [12, 21]。尽管使用相对人类偏好很有吸引力,用强化学习微调大型语言模型仍是一个重大的实践挑战;本工作提供了一种在理论上有依据、无需 RL 即可优化相对偏好的方法。
在语言之外的语境中,从偏好中学习策略已在 bandit 和强化学习设置下被研究,并提出了若干方法。使用动作的偏好或排序(而非奖励)的上下文 bandit 学习,被称为上下文对决 bandit(contextual dueling bandit,CDB;[50, 14])。在缺乏绝对奖励的情况下,CDB 的理论分析用「von Neumann 赢家」替代最优策略的概念——即一个对任何其他策略的期望胜率都至少 50% 的策略 [14]。但在 CDB 设置中偏好标签是在线给出的,而在从人类偏好学习时,我们通常从一个固定的、离线的、带偏好标注的动作对批次中学习 [49]。类似地,基于偏好的 RL(PbRL)从某个未知「打分」函数(而非奖励)生成的二元偏好中学习 [9, 37]。PbRL 有各种算法,包括可复用 off-policy 偏好数据的方法,但一般都涉及先显式估计潜在的打分函数(即奖励模型)、再对其优化 [16, 9, 12, 36, 21]。我们则提出一种单阶段的策略学习方法,直接优化策略以满足偏好。
我们回顾 Ziegler et al.(以及后续 [40, 1, 28])中的 RLHF 流程。它通常包含三个阶段:1)监督微调(SFT);2)偏好采样与奖励学习;3)RL 优化。
SFT:RLHF 通常先用监督学习,在感兴趣的下游任务(对话、摘要等)的高质量数据上微调一个预训练 LM,得到模型 \(\pi^{\text{SFT}}\)。
奖励建模阶段:第二阶段中,用 prompt \(x\) 提示 SFT 模型,产生成对的回答 \((y_1, y_2) \sim \pi^{\text{SFT}}(y \mid x)\)。随后把它们呈现给人类标注者,由其对其中一个回答表达偏好,记为 \(y_w \succ y_l \mid x\),其中 \(y_w\) 和 \(y_l\) 分别表示 \((y_1, y_2)\) 中被偏好和不被偏好的补全。假设这些偏好由某个我们无法访问的潜在奖励模型 \(r^*(y, x)\) 生成。建模偏好有多种方法,Bradley-Terry(BT)[5] 模型是一个流行的选择(若能访问多个排好序的回答,更一般的 Plackett-Luce 排序模型 [32, 23] 也与该框架兼容)。BT 模型规定人类偏好分布 \(p^*\) 可以写成:
假设能访问一个从 \(p^*\) 采样的静态比较数据集 \(\mathcal{D} = \{x^{(i)}, y_w^{(i)}, y_l^{(i)}\}_{i=1}^N\),我们就可以参数化一个奖励模型 \(r_\phi(x, y)\),并通过极大似然估计其参数。把问题表述为二元分类,我们得到负对数似然损失:
其中 \(\sigma\) 是逻辑斯蒂函数。在 LM 语境下,网络 \(r_\phi(x, y)\) 通常从 SFT 模型 \(\pi^{\text{SFT}}(y \mid x)\) 初始化,并在最后一个 transformer 层上加一个线性层,产生表示奖励值的单一标量预测 [51]。为确保奖励函数方差更低,此前工作会对奖励做归一化,使得对所有 \(x\) 都有 \(\mathbb{E}_{x,y\sim\mathcal{D}}[r_\phi(x, y)] = 0\)。
RL 微调阶段:在 RL 阶段,所学奖励函数被用来给语言模型提供反馈。沿用此前工作 [17, 18],优化被表述为
其中 \(\beta\) 是控制相对基准参考策略 \(\pi_{\text{ref}}\)(即初始 SFT 模型 \(\pi^{\text{SFT}}\))偏离程度的参数。实践中,语言模型策略 \(\pi_\theta\) 也被初始化为 \(\pi^{\text{SFT}}\)。这个附加约束很重要,因为它能防止模型偏离奖励模型准确的分布太远,同时保持生成的多样性、防止坍缩到单一的高奖励回答。由于语言生成的离散本质,这个目标不可微,通常用强化学习来优化。标准做法 [51, 40, 1, 28] 是构造奖励函数 \(r(x, y) = r_\phi(x, y) - \beta(\log \pi_\theta(y \mid x) - \log \pi_{\text{ref}}(y \mid x))\),并用 PPO [39] 进行最大化。
受在微调语言模型这类大规模问题上应用强化学习算法所面临挑战的驱动,我们的目标是推导一种直接使用偏好进行策略优化的简单方法。与先学奖励、再用 RL 优化它的此前 RLHF 方法不同,我们的方法利用一种特定的奖励模型参数化选择,使得能闭式抽取其最优策略,而无需 RL 训练循环。正如接下来详述的,我们的关键洞见是:利用一个从奖励函数到最优策略的解析映射,把一个关于奖励函数的损失函数变换成一个关于策略的损失函数。这种变量替换的方法避免了拟合一个显式、独立的奖励模型,同时仍在现有人类偏好模型(如 Bradley-Terry 模型)下进行优化。本质上,策略网络同时表示语言模型和(隐式的)奖励。
推导 DPO 目标。我们从与此前工作相同的 RL 目标(式 3)出发,在一般奖励函数 \(r\) 下进行。沿用此前工作 [31, 30, 19, 15],容易证明:式 3 中带 KL 约束的奖励最大化目标的最优解具有如下形式:
其中 \(Z(x) = \sum_y \pi_{\text{ref}}(y \mid x)\exp\!\big(\tfrac{1}{\beta} r(x, y)\big)\) 是配分函数。完整推导见附录 A.1。即便我们使用真实奖励函数 \(r^*\) 的 MLE 估计 \(r_\phi\),估计配分函数 \(Z(x)\) 仍然代价高昂 [19, 15],这使得该表示在实践中难以利用。然而,我们可以重排式 4,把奖励函数表示为它对应的最优策略 \(\pi_r\)、参考策略 \(\pi_{\text{ref}}\) 和未知配分函数 \(Z(\cdot)\) 的函数。具体而言,我们先对式 4 两边取对数,再经过一些代数运算得到:
我们可以把这个重参数化应用到真实奖励 \(r^*\) 及对应的最优模型 \(\pi^*\) 上。幸运的是,Bradley-Terry 模型只依赖两个补全之间奖励的差值,即 \(p^*(y_1 \succ y_2 \mid x) = \sigma\big(r^*(x, y_1) - r^*(x, y_2)\big)\)。把式 5 中对 \(r^*(x, y)\) 的重参数化代入偏好模型式 1,配分函数相消,于是我们可以只用最优策略 \(\pi^*\) 和参考策略 \(\pi_{\text{ref}}\) 来表示人类偏好概率。因此,Bradley-Terry 模型下的最优 RLHF 策略 \(\pi^*\) 满足偏好模型:
推导见附录 A.2。式 6 用的是 Bradley-Terry 模型,我们同样可以在更一般的 Plackett-Luce 模型 [32, 23] 下推导相应表达式,见附录 A.3。
既然我们已经用最优策略(而非奖励模型)表示了人类偏好数据的概率,我们就能为参数化策略 \(\pi_\theta\) 构造一个极大似然目标。类比奖励建模的做法(即式 2),我们的策略目标变为:
这样,我们就用一种替代的参数化拟合了一个隐式奖励,其最优策略恰好就是 \(\pi_\theta\)。此外,由于我们的过程等价于拟合一个重参数化的 Bradley-Terry 模型,它享有某些理论性质,例如在对偏好数据分布的适当假设下的相合性(consistency)[4]。在第 5 节,我们进一步结合其他工作讨论 DPO 的理论性质。
DPO 的更新做了什么?为从机制上理解 DPO,分析损失函数 \(\mathcal{L}_{\text{DPO}}\) 的梯度很有用。关于参数 \(\theta\) 的梯度可以写成:
其中 \(\hat r_\theta(x, y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}\) 是由语言模型 \(\pi_\theta\) 与参考模型 \(\pi_{\text{ref}}\) 隐式定义的奖励(详见第 5 节)。直观上,损失函数 \(\mathcal{L}_{\text{DPO}}\) 的梯度会增大被偏好补全 \(y_w\) 的似然、减小不被偏好补全 \(y_l\) 的似然。重要的是,各样本会按「隐式奖励模型 \(\hat r_\theta\) 把不被偏好补全评得高出多少」来加权(再乘以 \(\beta\) 缩放),也就是按「隐式奖励模型把补全排错了多少」加权,并计入 KL 约束的强度。我们的实验表明这个加权很重要:去掉加权系数的朴素版本会导致语言模型退化(附录表 3)。
DPO 流程概述。一般的 DPO 流程如下:1)对每个 prompt \(x\) 采样补全 \(y_1, y_2 \sim \pi_{\text{ref}}(\cdot \mid x)\),用人类偏好标注,构造离线偏好数据集 \(\mathcal{D} = \{x^{(i)}, y_w^{(i)}, y_l^{(i)}\}_{i=1}^N\);2)对给定的 \(\pi_{\text{ref}}\)、\(\mathcal{D}\) 和期望的 \(\beta\),优化语言模型 \(\pi_\theta\) 以最小化 \(\mathcal{L}_{\text{DPO}}\)。实践中,人们更愿意复用公开可得的偏好数据集,而非自己生成样本并收集人类偏好。由于偏好数据集是用 \(\pi^{\text{SFT}}\) 采样的,只要可得,我们就初始化 \(\pi_{\text{ref}} = \pi^{\text{SFT}}\)。然而当 \(\pi^{\text{SFT}}\) 不可得时,我们通过最大化被偏好补全 \((x, y_w)\) 的似然来初始化 \(\pi_{\text{ref}}\),即 \(\pi_{\text{ref}} = \arg\max_\pi \mathbb{E}_{x, y_w\sim\mathcal{D}}[\log \pi(y_w \mid x)]\)。这一过程有助于缓解「不可得的真实参考分布」与「DPO 实际使用的 \(\pi_{\text{ref}}\)」之间的分布偏移。与实现和超参相关的更多细节见附录 B。
本节中,我们对 DPO 方法给出进一步解读、提供理论支撑,并把 DPO 的优势与 RLHF 所用 actor-critic 算法(如 PPO [39])的问题联系起来。
DPO 能够仅用一个极大似然目标,就绕过「拟合显式奖励」和「执行 RL 来学策略」这两步。注意优化目标式 5 等价于一个采用奖励参数化 \(r^*(x, y) = \beta \log \frac{\pi^*_\theta(y|x)}{\pi_{\text{ref}}(y|x)}\) 的 Bradley-Terry 模型,而我们优化参数化模型 \(\pi_\theta\),在变量替换下等价于式 2 中的奖励模型优化。本节我们将建立这一重参数化背后的理论,证明它不会约束所学奖励模型的类别,并允许精确恢复最优策略。我们先在奖励函数之间定义一个等价关系。
容易看出这确实是一个等价关系,它把奖励函数的集合划分为若干类。我们可以陈述以下两个引理:
证明很直接,我们推迟到附录 A.5。第一个引理是 Plackett-Luce 一族模型众所周知的欠定(under-specification)问题 [32]。由于这种欠定,我们通常必须施加额外的可辨识性约束,才能对式 2 的 MLE 估计获得任何保证 [4]。第二个引理表明,来自同一类的所有奖励函数都产生相同的最优策略,因此对我们的最终目标而言,我们只关心从最优类中恢复出任意一个奖励函数。我们在附录 A.6 证明如下定理:
算子 \(f\) 仅仅用 \(\pi_r\) 配分函数的对数对奖励函数做归一化。由于新增的归一化项只是前缀 \(x\) 的函数,\(f(r; \pi_{\text{ref}}, \beta)(x, y)\) 是 \(r(x, y)\) 等价类中的一个奖励函数。最后,把 \(r\) 替换为式 5 的右端(对任意奖励函数都成立),我们得到 \(f(r; \pi_{\text{ref}}, \beta)(x, y) = \beta \log \frac{\pi_r(y|x)}{\pi_{\text{ref}}(y|x)}\)。也就是说,投影 \(f\) 产生了 \(r\) 等价类中一个具有所需形式的成员,因此所提出的重参数化没有让我们的奖励模型损失任何一般性。∎
我们也可以换个角度看待定理 1:它精确地指定了 DPO 重参数化在每个等价类中选取的是哪个奖励函数,即满足下式的奖励函数:
即 \(\pi(y \mid x)\) 是一个合法分布(概率为正且和为 1)。然而,沿用式 4 可以看出,式 9 正是由奖励函数 \(r(x, y)\) 诱导的最优策略的配分函数。DPO 算法的关键洞见在于:我们可以对欠约束的 Plackett-Luce(特别是 Bradley-Terry)一族偏好模型施加某些约束,从而在保留可表示奖励模型类别的同时,使式 4 中的最优策略对所有 prompt \(x\) 都解析可解。
我们也可以用我们的框架来诊断 RLHF 所用标准 actor-critic 算法(如 PPO)的不稳定性。我们沿用 RLHF 流程,聚焦第 3 节概述的 RL 微调步骤。我们可以把第 3 节概述的带约束 RL 问题与「控制即推断」框架 [22] 联系起来。我们假设一个参数化模型 \(\pi_\theta(y \mid x)\),并最小化 \(\mathbb{D}_{\mathrm{KL}}[\pi_\theta(y|x) \,\|\, \pi^*(y \mid x)]\),其中 \(\pi^*\) 是由奖励函数 \(r_\phi(y, x)\) 诱导、来自式 7 的最优策略。经过一些代数运算,这导出优化目标:
这与此前工作 [51, 40, 1, 28] 针对 \(r_\phi\) 的奖励类、用 DPO 等价奖励所优化的目标相同。在这个设置下,我们可以把 \(f(r_\phi, \pi_{\text{ref}}, \beta)\) 中的归一化项解读为参考策略 \(\pi_{\text{ref}}\) 的软值函数(soft value function)。虽然这一项不影响最优解,但若没有它,该目标的策略梯度可能具有高方差,使学习不稳定。我们可以用一个学习得到的值函数来容纳这个归一化项,但那同样可能难以优化。或者,此前工作用人类补全基线对奖励做归一化——本质上是对归一化项的单样本蒙特卡洛估计。相比之下,DPO 的重参数化产生一个不需要任何基线的奖励函数。
本节我们实证评估 DPO 直接从偏好训练策略的能力。首先,在一个受控良好的文本生成设置中,我们追问:与 PPO 等常见偏好学习算法相比,DPO 在「最大化奖励」与「最小化相对参考策略的 KL 散度」之间权衡得多高效?接着,我们在更大的模型和更难的 RLHF 任务(包括摘要和对话)上评估 DPO 的性能。我们发现,几乎不调任何超参,DPO 往往就能做到与「带 PPO 的 RLHF」这类强基线、以及「在所学奖励函数下返回 N 条采样轨迹中最优者」一样好或更好。在给出这些结果之前,我们先描述实验设置;更多细节见附录 C。
任务。我们的实验探索三种不同的开放式文本生成任务。所有实验中,算法都从偏好数据集 \(\mathcal{D} = \{x^{(i)}, y_w^{(i)}, y_l^{(i)}\}_{i=1}^N\) 学习一个策略。在受控情感生成中,\(x\) 是 IMDb 数据集 [24] 中一条影评的前缀,策略必须生成带正面情感的 \(y\)。为进行受控评估,本实验中我们用一个预训练情感分类器在生成结果上生成偏好对,使得 \(p(\text{positive} \mid x, y_w) > p(\text{positive} \mid x, y_l)\)。对 SFT,我们在 IMDB 数据集训练集划分的影评上微调 GPT-2-large 至收敛(更多细节见附录 C.1)。在摘要中,\(x\) 是 Reddit 的一个论坛帖,策略必须生成帖中要点的摘要 \(y\)。沿用此前工作,我们使用 Reddit TL;DR 摘要数据集 [43] 以及 Stiennon et al. 收集的人类偏好。我们使用一个在人类撰写的论坛帖摘要上、用 TRLX [44] 框架做 RLHF 微调的 SFT 模型。人类偏好数据集由 Stiennon et al. 在另一个但训练方式相似的 SFT 模型的样本上收集。最后,在单轮对话中,\(x\) 是一个人类查询,可以是从天体物理学问题到征求恋爱建议的任何内容。策略必须对用户查询产出引人入胜且有帮助的回复 \(y\);我们使用 Anthropic Helpful and Harmless 对话数据集 [1],包含 17 万条人类与自动助手之间的对话。每段转录以一对由(虽未知的)大型语言模型生成的回复结尾,并附有标注人类偏好回复的偏好标签。在这个设置中没有现成的预训练 SFT 模型,因此我们仅在被偏好的补全上微调一个现成语言模型来构成 SFT 模型。
评估。我们的实验采用两种不同的评估方式。为分析每个算法在优化「带约束的奖励最大化目标」上的有效性,在受控情感生成设置中,我们用「所达成的奖励」与「相对参考策略的 KL 散度」构成的前沿来评估各算法;这条前沿可计算,因为我们能访问真实奖励函数(一个情感分类器)。然而在现实世界中真实奖励函数未知;因此,在摘要和单轮对话设置中,我们分别用 GPT-4 作为人类对摘要质量和回复有用性评估的代理,以各算法相对一个基线策略的胜率来评估它们。对摘要,我们用测试集中的参考摘要作为基线;对对话,我们用测试数据集中被偏好的回复作为基线。虽然已有研究表明 LM 可以是比现有指标更好的自动评估器 [10],我们仍在 6.4 节做了一项人类研究来为使用 GPT-4 评估提供依据。我们发现 GPT-4 的判断与人类高度相关,人类与 GPT-4 的一致程度通常与人类标注者之间的一致程度相当或更高。
方法。除 DPO 外,我们还评估了若干训练语言模型遵从人类偏好的现有方法。最简单地,我们在摘要任务上用 GPT-J [45] 做零样本 prompt,在对话任务上用 Pythia-2.8B [3] 做 2-shot prompt。此外,我们评估 SFT 模型以及 Preferred-FT——一个在被选补全 \(y_w\) 上做监督学习微调的模型(在受控情感和摘要中基于 SFT 模型,在单轮对话中基于一个通用 LM)。另一个伪监督方法是 Unlikelihood [46],它仅优化策略以最大化分配给 \(y_w\) 的概率、最小化分配给 \(y_l\) 的概率;我们在「unlikelihood」项上用一个可选系数 \(\alpha \in [0, 1]\)。我们还考虑使用从偏好数据学到的奖励函数的 PPO [39],以及 PPO-GT——一个在受控情感设置中可用的、从真实奖励函数学习的 oracle。在情感实验中,我们用两种 PPO-GT 实现:一种是现成版本 [44],另一种是修改版(对奖励做归一化并进一步调超参以提升性能;我们在跑用学到奖励的「普通」PPO 时也用这些修改)。最后,我们考虑 Best of N 基线:从 SFT 模型(对话中为 Preferred-FT)采样 N 条回复,并按从偏好数据集学到的奖励函数返回得分最高的回复。这种高性能方法把奖励模型的质量与 PPO 优化解耦,但即便对中等的 N 也在计算上不切实际,因为它在测试时需要为每个查询采样 N 条补全。
典型 RLHF 算法所用的、带 KL 约束的奖励最大化目标,在「利用奖励」与「限制策略不偏离参考策略太远」之间做平衡。因此,比较算法时,我们必须同时考虑所达成的奖励以及 KL 差异;以高得多的 KL 换取略高的奖励未必可取。图 2 展示了情感设置中各算法的奖励-KL 前沿。我们对每个算法执行多次训练,每次用一个不同的策略保守度超参(PPO 的 target KL \(\in \{3, 6, 9, 12\}\);\(\beta \in \{0.05, 0.1, 1, 5\}\);unlikelihood 的 \(\alpha \in \{0.05, 0.1, 0.5, 1\}\);preferred-FT 用随机种子)。这次扫描共包含 22 次运行。每 100 个训练步直到收敛,我们在一组测试 prompt 上评估每个策略,计算真实奖励函数下的平均奖励,以及相对参考策略的平均序列级 KL3 \(\mathrm{KL}(\pi \,\|\, \pi_{\text{ref}})\)。我们发现 DPO 产生了遥遥领先、最为高效的前沿,在仍保持低 KL 的同时达成最高奖励。这一结果尤其值得注意,原因有多个。第一,DPO 和 PPO 优化相同目标,但 DPO 明显更高效;DPO 的奖励/KL 权衡严格优于 PPO。第二,即便 PPO 能访问真实奖励(PPO-GT),DPO 也取得了比 PPO 更好的前沿。
3 即逐时间步 KL 散度之和。
接下来,我们评估 DPO 在摘要和单轮对话上的微调性能。对摘要,ROUGE 等自动评估指标可能与人类偏好相关性很差 [40],此前工作发现用 PPO 在人类偏好上微调 LM 能给出更有效的摘要。我们通过在 TL;DR 摘要数据集的测试划分上采样补全、并计算相对测试集中参考补全的平均胜率来评估不同方法。所有方法的补全都在 0.0 到 1.0 的不同温度下采样,胜率见图 2(右)。DPO、PPO 和 Preferred-FT 都微调同一个 GPT-J SFT 模型4。我们发现 DPO 在温度 0.0 时胜率约为 61%,超过 PPO 在其最优采样温度 0.0 时 57% 的表现。DPO 还取得了比 best of N 基线更高的最大胜率。我们注意到我们并未实质性地调 DPO 的 \(\beta\) 超参,因此这些结果可能低估了 DPO 的潜力。此外,我们发现 DPO 对采样温度比 PPO 鲁棒得多——PPO 在高温下性能会退化到基础 GPT-J 模型的水平。Preferred-FT 相比 SFT 模型没有显著改进。我们还在 6.4 节用人类评估对 DPO 与 PPO 做了正面对比,其中 DPO 在温度 0.25 的样本相对 PPO 温度 0 的样本被偏好了 58% 的次数。
在单轮对话上,我们在 Anthropic HH 数据集 [1] 测试划分中含一步人类-助手交互的子集上评估不同方法。GPT-4 评估用测试集中被偏好的补全作为参考来计算各方法的胜率。由于此任务没有标准的 SFT 模型,我们从预训练的 Pythia-2.8B 开始,用 Preferred-FT 在被选补全上训练一个参考模型,使补全落在模型分布内,然后用 DPO 训练。我们还与「128 条 Preferred-FT 补全中的最优者」对比(我们发现此任务的 Best of N 基线在 128 条补全处趋于平台;见附录图 4),以及一个 2-shot prompt 的 Pythia-2.8B 基础模型,发现在各方法表现最好的温度下,DPO 表现一样好或更好。我们还评估了一个在 Anthropic HH 数据集上用 PPO 训练的 RLHF 模型(来自一个知名来源),但无法找到一个能让其表现优于基础 Pythia-2.8B 模型的 prompt 或采样温度。基于我们在 TL;DR 上的结果、以及两种方法优化相同奖励函数这一事实,我们把 Best of 128 视为 PPO 级别表现的粗略代理。总体而言,DPO 是唯一在 Anthropic HH 数据集上超过被偏好补全、且计算高效的方法,并提供了与计算需求很高的 Best of 128 基线相近或更好的表现。最后,图 3 表明 DPO 相对较快地收敛到其最佳表现。
4 huggingface.co/CarperAI/openai_summarize_tldr_sft | 5 huggingface.co/reciprocate/ppo_hh_pythia-6B | 6 github.com/CarperAI/trlx/tree/main/examples/hh
| 算法 | 相对真实摘要的胜率 | |
|---|---|---|
| Temp 0 | Temp 0.25 | |
| DPO | 0.36 | 0.31 |
| PPO | 0.26 | 0.23 |
为进一步比较 PPO 和 DPO 在分布偏移下的性能,我们把来自 Reddit TL;DR 摘要实验的 PPO 和 DPO 策略,在另一个分布——CNN/DailyMail 数据集 [26] 测试划分中的新闻文章——上评估,采用 TL;DR 的最佳采样温度(0 和 0.25)。结果见表 1。我们计算相对数据集中真实摘要的 GPT-4 胜率,使用与 Reddit TL;DR 相同的 GPT-4(C)prompt,只是把「forum post(论坛帖)」替换为「news article(新闻文章)」。对这个新分布,DPO 继续以显著优势胜过 PPO 策略。该实验初步证明:即便 DPO 没有使用 PPO 所用的额外无标注 Reddit TL;DR prompt,DPO 策略也能与 PPO 策略同样好地泛化。
我们做了一项人类研究来验证 GPT-4 判断的可靠性,使用 TL;DR 摘要实验的结果和两种不同的 GPT-4 prompt。GPT-4 (S)(simple,简单)prompt 仅询问哪份摘要更好地总结了帖中重要信息。GPT-4 (C)(concise,简洁)prompt 还询问哪份摘要更简洁;我们评估这个 prompt,是因为我们发现用 GPT-4 (S) prompt 时,GPT-4 偏好比人类更长、更重复的摘要。完整 prompt 见附录 C.2。我们做了三组比较,分别使用表现最高(DPO,温度 0.25)、最低(PPO,温度 1.0)和居中(SFT,温度 0.25)的方法,以覆盖样本质量的多样性;三种方法都与贪心采样的 PPO(其最佳温度)比较。
| DPO | SFT | PPO-1 | |
|---|---|---|---|
| 受访人数 N | 272 | 122 | 199 |
| GPT-4 (S) 胜率 % | 47 | 27 | 13 |
| GPT-4 (C) 胜率 % | 54 | 32 | 12 |
| 人类胜率 % | 58 | 43 | 17 |
| GPT-4 (S)-人类 一致 % | 70 | 77 | 86 |
| GPT-4 (C)-人类 一致 % | 67 | 79 | 85 |
| 人类-人类 一致 % | 65 | - | 87 |
我们发现,用两种 prompt,GPT-4 与人类一致的频率,都大致等同于人类彼此一致的频率,这表明 GPT-4 是人类评估的一个合理代理(由于人类评分者有限,我们只为 DPO 和 PPO-1 比较收集了多个人类判断)。总体而言,GPT-4 (C) prompt 通常给出更能代表人类的胜率;因此我们在 6.2 节的主结果中使用这个 prompt。关于人类研究的更多细节,包括呈现给评分者的网页界面和人类志愿者名单,见附录 D.3。
从偏好中学习,是训练有能力、对齐的语言模型的一个强大、可扩展的框架。我们提出了 DPO——一种无需强化学习、从偏好训练语言模型的简单训练范式。DPO 不再为了套用现成 RL 算法而把偏好学习问题硬塞进标准 RL 设置,而是识别出语言模型策略与奖励函数之间的一个映射,使得能用一个简单的交叉熵损失、不损失一般性地、直接训练语言模型来满足人类偏好,且无需强化学习。在几乎不调超参的情况下,DPO 的表现与现有 RLHF 算法(包括基于 PPO 的算法)持平或更好;因此 DPO 实质性地降低了从人类偏好训练更多语言模型的门槛。
局限与未来工作。我们的结果为未来工作提出了若干重要问题。与从显式奖励函数学习相比,DPO 策略在分布外如何泛化?我们的初步结果表明 DPO 策略能与基于 PPO 的模型相似地泛化,但还需更全面的研究。例如,用 DPO 策略的自标注训练,能否同样有效地利用无标注 prompt?另一方面,奖励的过度优化(over-optimization)在直接偏好优化设置中如何体现,图 3-右中性能的轻微下降是否就是其一例?此外,虽然我们评估了最多 60 亿参数的模型,但把 DPO 扩展到大几个数量级的最先进模型,是未来工作一个令人兴奋的方向。关于评估,我们发现 GPT-4 计算的胜率会受 prompt 影响;未来工作可研究从自动系统中引出高质量判断的最佳方式。最后,除了从人类偏好训练语言模型,DPO 还有许多可能的应用,包括在其他模态训练生成模型。
EM 感谢 Knight-Hennessy 研究生奖学金的资助。CF 和 CM 是 CIFAR Fellow。本工作部分得到 Stanford Accelerator for Learning(SAL)以及 Stanford Institute for Human-Centered Artificial Intelligence(HAI)"Generative AI for the Future of Learning" 种子基金计划的支持。Stanford 基础模型研究中心(CRFM)提供了本工作部分实验所用的算力资源。本工作部分得到 ONR 资助 N00014-20-1-2675 的支持。
按学术惯例,参考文献保留原文。
[1] Y. Bai, A. Jones, K. Ndousse, et al. Training a helpful and harmless assistant with reinforcement learning from human feedback, 2022.
[2] Y. Bai, S. Kadavath, S. Kundu, et al. Constitutional AI: Harmlessness from AI feedback, 2022.
[3] S. Biderman, H. Schoelkopf, Q. Anthony, et al. Pythia: A suite for analyzing large language models across training and scaling, 2023.
[4] H. Bong and A. Rinaldo. Generalized results for the existence and consistency of the MLE in the Bradley-Terry-Luce model. ICML, 2022. arXiv:2110.11487.
[5] R. A. Bradley and M. E. Terry. Rank analysis of incomplete block designs: I. the method of paired comparisons. Biometrika, 39(3/4):324–345, 1952.
[6] T. Brown, B. Mann, N. Ryder, et al. Language models are few-shot learners. In NeurIPS, volume 33, pages 1877–1901, 2020.
[7] T. Brown, B. Mann, N. Ryder, et al. Language models are few-shot learners. Advances in NeurIPS, 33:1877–1901, 2020.
[8] S. Bubeck, V. Chandrasekaran, R. Eldan, et al. Sparks of artificial general intelligence: Early experiments with GPT-4, 2023. arXiv:2303.12712.
[9] R. Busa-Fekete, B. Szörényi, P. Weng, W. Cheng, and E. Hüllermeier. Preference-based reinforcement learning: evolutionary direct policy search using a preference-based racing algorithm. Machine Learning, 97(3):327–351, 2014.
[10] Y. Chen, R. Wang, H. Jiang, S. Shi, and R.-L. Xu. Exploring the use of large language models for reference-free text quality evaluation: A preliminary empirical study. ArXiv, abs/2304.00723, 2023.
[11] A. Chowdhery, S. Narang, J. Devlin, et al. PaLM: Scaling language modeling with pathways. arXiv:2204.02311, 2022.
[12] P. F. Christiano, J. Leike, T. Brown, M. Martic, S. Legg, and D. Amodei. Deep reinforcement learning from human preferences. In NeurIPS, volume 30, 2017.
[13] H. W. Chung, L. Hou, S. Longpre, et al. Scaling instruction-finetuned language models, 2022.
[14] M. Dudík, K. Hofmann, R. E. Schapire, A. Slivkins, and M. Zoghi. Contextual dueling bandits. In COLT, volume 40, pages 563–587, 2015.
[15] D. Go, T. Korbak, G. Kruszewski, J. Rozen, N. Ryu, and M. Dymetman. Aligning language models with preferences through f-divergence minimization. In ICML'23, 2023.
[16] A. Jain, B. Wojcik, T. Joachims, and A. Saxena. Learning trajectory preferences for manipulators via iterative improvement. In NeurIPS, volume 26, 2013.
[17] N. Jaques, S. Gu, D. Bahdanau, et al. Sequence tutor: Conservative fine-tuning of sequence generation models with KL-control. In ICML, pages 1645–1654, 2017.
[18] N. Jaques, J. H. Shen, A. Ghandeharioun, et al. Human-centric dialog training via offline reinforcement learning. arXiv:2010.05848, 2020.
[19] T. Korbak, H. Elsahar, G. Kruszewski, and M. Dymetman. On reinforcement learning and distribution matching for fine-tuning language models with no catastrophic forgetting. In NeurIPS, volume 35, pages 16203–16220, 2022.
[20] J. Kreutzer, J. Uyheng, and S. Riezler. Reliability and learnability of human bandit feedback for sequence-to-sequence reinforcement learning. In ACL, pages 1777–1788, 2018.
[21] A. Kupcsik, D. Hsu, and W. S. Lee. Learning Dynamic Robot-to-Human Object Handover from Human Feedback, pages 161–176. Springer, 2018.
[22] S. Levine. Reinforcement learning and control as probabilistic inference: Tutorial and review, 2018.
[23] R. D. Luce. Individual choice behavior: A theoretical analysis. Courier Corporation, 2012.
[24] A. L. Maas, R. E. Daly, P. T. Pham, D. Huang, A. Y. Ng, and C. Potts. Learning word vectors for sentiment analysis. In ACL-HLT, pages 142–150, 2011.
[25] S. Mishra, D. Khashabi, C. Baral, and H. Hajishirzi. Cross-task generalization via natural language crowdsourcing instructions. In ACL, pages 3470–3487, 2022.
[26] R. Nallapati, B. Zhou, C. dos Santos, Ç. Gulçehre, and B. Xiang. Abstractive text summarization using sequence-to-sequence RNNs and beyond. In SIGNLL CoNLL, pages 280–290, 2016.
[27] D. Narayanan, M. Shoeybi, J. Casper, et al. Efficient large-scale language model training on GPU clusters using megatron-lm. In SC '21, 2021.
[28] L. Ouyang, J. Wu, X. Jiang, et al. Training language models to follow instructions with human feedback. In NeurIPS, volume 35, pages 27730–27744, 2022.
[29] R. Paulus, C. Xiong, and R. Socher. A deep reinforced model for abstractive summarization. In ICLR, 2018.
[30] X. B. Peng, A. Kumar, G. Zhang, and S. Levine. Advantage-weighted regression: Simple and scalable off-policy reinforcement learning. arXiv:1910.00177, 2019.
[31] J. Peters and S. Schaal. Reinforcement learning by reward-weighted regression for operational space control. In ICML, pages 745–750, 2007.
[32] R. L. Plackett. The analysis of permutations. Journal of the Royal Statistical Society. Series C, 24(2):193–202, 1975.
[33] A. Radford, J. Wu, R. Child, D. Luan, D. Amodei, and I. Sutskever. Language models are unsupervised multitask learners, 2019. Ms., OpenAI.
[34] R. Ramamurthy, P. Ammanabrolu, K. Brantley, et al. Is reinforcement learning (not) for natural language processing: Benchmarks, baselines, and building blocks for natural language policy optimization. In ICLR, 2023.
[35] M. Ranzato, S. Chopra, M. Auli, and W. Zaremba. Sequence level training with recurrent neural networks. CoRR, abs/1511.06732, 2015.
[36] D. Sadigh, A. D. Dragan, S. Sastry, and S. A. Seshia. Active preference-based learning of reward functions. In RSS, 2017.
[37] A. Saha, A. Pacchiano, and J. Lee. Dueling RL: Reinforcement learning with trajectory preferences. In AISTATS, volume 206, pages 6263–6289, 2023.
[38] V. Sanh, A. Webson, C. Raffel, et al. Multitask prompted training enables zero-shot task generalization. In ICLR, 2022.
[39] J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov. Proximal policy optimization algorithms, 2017.
[40] N. Stiennon, L. Ouyang, J. Wu, et al. Learning to summarize from human feedback, 2022.
[41] R. Thoppilan, D. D. Freitas, J. Hall, et al. LaMDA: Language models for dialog applications, 2022.
[42] H. Touvron, T. Lavril, G. Izacard, et al. LLaMA: Open and efficient foundation language models. arXiv:2302.13971, 2023.
[43] M. Völske, M. Potthast, S. Syed, and B. Stein. TL;DR: Mining Reddit to learn automatic summarization. In Workshop on New Frontiers in Summarization, pages 59–63, 2017.
[44] L. von Werra, J. Tow, reciprocated, et al. CarperAI/trlx: v0.6.0: LLaMa (Alpaca), Benchmark Util, T5 ILQL, Tests, 2023.
[45] B. Wang and A. Komatsuzaki. GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model, 2021.
[46] S. Welleck, I. Kulikov, S. Roller, E. Dinan, K. Cho, and J. Weston. Neural text generation with unlikelihood training. arXiv:1908.04319, 2019.
[47] R. J. Williams. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine Learning, 8(3–4):229–256, 1992.
[48] Y. Wu and B. Hu. Learning to extract coherent summary via deep reinforcement learning. In AAAI'18, 2018.
[49] X. Yan, C. Luo, C. L. A. Clarke, N. Craswell, E. M. Voorhees, and P. Castells. Human preferences as dueling bandits. In SIGIR '22, pages 567–577, 2022.
[50] Y. Yue, J. Broder, R. Kleinberg, and T. Joachims. The k-armed dueling bandits problem. Journal of Computer and System Sciences, 78(5):1538–1556, 2012.
[51] D. M. Ziegler, N. Stiennon, J. Wu, T. B. Brown, A. Radford, D. Amodei, P. Christiano, and G. Irving. Fine-tuning language models from human preferences, 2020.
全体作者都为实验的设计、分析与迭代、论文的撰写与编辑,以及项目进度的总体管理做出了宝贵贡献。
RR 在与 EM 的讨论中提议使用自回归奖励模型;推导了 DPO 目标;证明了算法的理论性质并撰写了相关章节与附录。他还建议并协助组织实验,贡献了部分 PPO 与奖励学习基线。
AS 发起了「用加权回归方法替代 PPO」的讨论;发起了项目相关的组织工作,撰写了把 DPO 与加权回归及 unlikelihood 相联系的初步分析;负责 DPO + 基线实现的设计与迭代、DPO 的初步探索实验;大量的实验组织与设计(数据集、基线、评估);主导了受控情感生成与摘要的模型训练与评估;GPT-4 评估(尤其是摘要)的设计迭代;对摘要、预备/方法与实验部分有大量写作贡献;并对其他章节做了编辑贡献。
EM 在关于学习自回归奖励函数的早期讨论中提供了意见;编写了 DPO 的首个实现并运行了首批 DPO 实验;训练了论文实验所用的大规模(摘要与对话)DPO 模型;进行了初步的 GPT-4 胜率评估并搭建了相关基础设施;为人类研究招募参与者、实施并分析其结果;撰写了摘要、引言、相关工作、讨论以及大部分实验内容;并协助编辑论文其余部分。
CF、CM 和 SE 指导了研究,提出了想法与实验建议,并协助撰写论文。
本附录中我们推导式 4。类比式 3,我们在任意奖励函数 \(r(x, y)\)、参考模型 \(\pi_{\text{ref}}\) 和一般的非参数策略类下,优化下面的目标:
我们现在有:
其中配分函数为:
注意配分函数只是 \(x\) 和参考策略 \(\pi_{\text{ref}}\) 的函数,并不依赖策略 \(\pi\)。我们现在可以定义
它是一个合法的概率分布,因为对所有 \(y\) 有 \(\pi^*(y|x) \ge 0\) 且 \(\sum_y \pi^*(y|x) = 1\)。由于 \(Z(x)\) 不是 \(y\) 的函数,我们可以把式 12 中的最终目标重新组织为:
现在,由于 \(Z(x)\) 不依赖 \(\pi\),最小值由最小化第一个 KL 项的策略达成。Gibbs 不等式告诉我们:KL 散度当且仅当两个分布相同时才最小化为 0。因此我们得到最优解:
对所有 \(x \in \mathcal{D}\) 成立。推导完成。
在 Bradley-Terry 偏好模型下推导 DPO 目标是直接的,因为我们有
第 4 节中我们证明了可以通过对应的最优策略来表示(不可得的)真实奖励:
把式 17 代入式 16,我们得到:
最后一行就是式 7 中的逐样本损失。
Plackett-Luce 模型 [32, 23] 是 Bradley-Terry 模型在排序(而非仅成对比较)上的推广。与 Bradley-Terry 模型类似,它规定:当面对一组可能的选项时,人们以正比于该选项某个潜在奖励函数值的概率偏好该选项。在我们的语境中,当面对一个 prompt \(x\) 和一组 \(K\) 个答案 \(y_1, \dots, y_K\) 时,用户会输出一个置换 \(\tau : [K] \to [K]\),给出他们对答案的排序。Plackett-Luce 模型规定
注意当 \(K = 2\) 时,式 18 退化为 Bradley-Terry 模型。但对一般的 Plackett-Luce 模型,我们仍可利用式 5 的结果,代入由其最优策略参数化的奖励函数。与附录 A.2 类似,归一化常数 \(Z(x)\) 相消,我们得到:
与第 4 节的方法类似,若我们能访问一个包含 prompt 和用户给定排序的数据集 \(\mathcal{D} = \{\tau^{(i)}, y_1^{(i)}, \dots, y_K^{(i)}, x^{(i)}\}_{i=1}^N\),我们就可以用一个参数化模型并以极大似然优化这个目标:
本节我们推导 DPO 目标的梯度:
我们可以把式 21 的右端重写为
其中 \(u = \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} - \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}\)。
利用 sigmoid 函数的性质 \(\sigma'(x) = \sigma(x)(1 - \sigma(x))\) 和 \(\sigma(-x) = 1 - \sigma(x)\),我们得到最终梯度:
在使用奖励替换 \(\hat r_\theta(x, y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}\) 之后,我们就得到第 4 节中梯度的最终形式。
本节我们证明第 5 节的两个引理。
至此证明完成。∎
至此证明完成。∎
本节我们展开定理 1 的结果。
其中 \(Z(x) = \sum_y \pi_{\text{ref}}(y|x)\exp\!\big(\frac{1}{\beta} r(x, y)\big)\)(注意 \(Z(x)\) 也依赖奖励函数 \(r\))。使用算子 \(r'(x, y) = f(r, \pi_{\text{ref}}, \beta)(x, y) = r(x, y) - \beta \log Z(x)\),我们看到这个新奖励函数在 \(r\) 的等价类内,且有:
至此证明完成。∎
我们可以进一步展开这些结果。可以看出,若 \(r\) 与 \(r'\) 是同一类中的两个奖励函数,则
其中第二个等号源自引理 2。我们已证明算子 \(f\) 把某个特定等价类中的所有奖励函数映射到同一个奖励函数。接下来,我们证明:对每个奖励函数等价类,具有定理 1 所述重参数化的奖励函数是唯一的。
对所有 prompt \(x\) 和补全 \(y\) 成立。于是必有 \(\pi(y|x)\exp(\frac{1}{\beta} f(x)) = \pi'(y|x)\)。由于它们是分布,对两边关于 \(y\) 求和,我们得到 \(\exp(\frac{1}{\beta} f(x)) = 1\),又因 \(\beta > 0\),故对所有 \(x\) 必有 \(f(x) = 0\)。因此 \(r(x, y) = r'(x, y)\)。至此证明完成。∎
我们现已证明:每个奖励类都有一个唯一的、可按定理 1 所述表示的奖励函数,它由该类中任意奖励函数经 \(f(r, \pi_{\text{ref}}, \beta)\) 给出。
DPO 实现起来相对直接;DPO 损失的 PyTorch 代码如下:
import torch.nn.functional as F
def dpo_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, beta):
"""
pi_logps: policy logprobs, shape (B,)
ref_logps: reference model logprobs, shape (B,)
yw_idxs: preferred completion indices in [0, B-1], shape (T,)
yl_idxs: dispreferred completion indices in [0, B-1], shape (T,)
beta: temperature controlling strength of KL penalty
Each pair of (yw_idxs[i], yl_idxs[i]) represents the
indices of a single preference pair.
"""
pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs]
ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs]
pi_logratios = pi_yw_logps - pi_yl_logps
ref_logratios = ref_yw_logps - ref_yl_logps
losses = -F.logsigmoid(beta * (pi_logratios - ref_logratios))
rewards = beta * (pi_logps - ref_logps).detach()
return losses, rewards
除非另有说明,我们默认使用 \(\beta = 0.1\)、batch size 为 64、以及学习率为 1e-6 的 RMSprop 优化器。我们在 150 步内把学习率从 0 线性 warmup 到 1e-6。对 TL;DR 摘要,我们使用 \(\beta = 0.5\),其余参数保持不变。
本节我们补充与实验设计相关的额外细节。
prompt 是来自 IMDB 数据集、长度为 2–8 个 token 的前缀。我们用预训练情感分类器 siebert/sentiment-roberta-large-english 作为真实奖励模型,用 gpt2-large 作为基础模型。我们使用这些更大的模型,是因为我们发现默认的那些会生成低质量文本、且奖励有些不准确。我们先在 IMDB 数据的一个子集上做 1 个 epoch 的监督微调。然后用这个模型为 25000 个前缀各采样 4 条补全,并用真实奖励模型为每个前缀构造 6 个偏好对。RLHF 奖励模型从 gpt2-large 模型初始化,在偏好数据集上训练 3 个 epoch,我们取验证集准确率最高的 checkpoint。"TRL" 运行使用 TRL 库中的超参。我们的实现使用更大的批样本,每个 PPO 步 1024 条。
我们实验设置的一个关键组成部分是 GPT-4 的胜率判断。本节给出用于生成摘要与对话实验胜率的 prompt。所有实验均使用 gpt-4-0314。每次评估时,摘要或回复的顺序都随机选择。(以下 prompt 为实验中逐字使用,保留英文原文。)
Which of the following summaries does a better job of summarizing the most important points in the given forum post? Post: <post> Summary A: <Summary A> Summary B: <Summary B> FIRST provide a one-sentence comparison of the two summaries, explaining which you prefer and why. SECOND, on a new line, state only "A" or "B" to indicate your choice. Your response should use the format: Comparison: <one-sentence comparison and explanation> Preferred: <"A" or "B">
Which of the following summaries does a better job of summarizing the most important points in the given forum post, without including unimportant or irrelevant details? A good summary is both precise and concise. Post: <post> Summary A: <Summary A> Summary B: <Summary B> FIRST provide a one-sentence comparison of the two summaries, explaining which you prefer and why. SECOND, on a new line, state only "A" or "B" to indicate your choice. Your response should use the format: Comparison: <one-sentence comparison and explanation> Preferred: <"A" or "B">
For the following query to a chatbot, which response is more helpful? Query: <the user query> Response A: <either the test method or baseline> Response B: <the other response> FIRST provide a one-sentence comparison of the two responses and explain which you feel is more helpful. SECOND, on a new line, state only "A" or "B" to indicate which response is more helpful. Your response should use the format: Comparison: <one-sentence comparison and explanation> More helpful: <"A" or "B">
虽然我们在情感实验中纳入了 unlikelihood 基线 [46](即简单地最大化被偏好回复的对数概率 \(\log p(y_w|x)\)、同时最小化不被偏好回复的对数概率 \(\log p(y_l|x)\)),但我们没有在摘要或对话实验中把它作为基线,因为它产生的回复通常毫无意义——我们认为这是无约束的似然最小化所致。
我们发现,在我们的实验中 Best of N 是一个很强的基线(尽管计算开销大,需多次采样)。我们对 Anthropic-HH 对话和 TL;DR 摘要给出了不同 N 下 Best of N 基线的评估,结果见图 4。
本节我们给出 DPO 与基线(摘要为 PPO 温度 0,对话为数据集中的真实被选回复 GT)之间比较的例子。摘要例子见表 4–6,对话例子见表 7–10。下列样例为模型实际生成的英文输出,作为定性研究对象,故保留原文;其判定(Judgment)已译为中文。
| Prompt | SUBREDDIT: r/AskReddit · TITLE: I've been ungrateful to parents... POST: I'm 17, leaving for University, and I've had epiphany after epiphany of how shitty i've been to them [...] what's a big thing, for say christmas, or their birthdays, that I can do to make them happy? |
| DPO | TL;DR: I've been a shitty child and I want to make up for it, what can I do for my parents on their birthdays and christmas to show them how much I love them? |
| PPO | TL;DR: I've been a shitty person to my parents, what can I do to make it up to them, before I go, and what can I do after university to make them happy, and what can I do to make them happy after university (if that is the case) |
| 判定 | 摘要 B【DPO】更有效地抓住了帖子要点,聚焦于在特殊场合通过举动让父母开心;而摘要 A 显得重复、不够清晰。 |
| Prompt | SUBREDDIT: r/relationships · TITLE: I [22 M] am about to propose to my girlfriend [22F]... POST: I am preparing to propose [...] I can't sleep. I am anxious as hell [...] Any suggestions on how to relax leading up to it? I would like to be able to sleep... |
| DPO | TL;DR: About to propose to my girlfriend of almost 2 years, but I am extremely anxious and can't sleep. How can I relax? |
| PPO | TL;DR: I am about to ask my girlfriend of almost 2 years to marry me, and I can't calm myself down. Any tips on how to relax? I would like to be able to sleep tonight (and the night before)........... |
| 判定 | 摘要 A【DPO】更有效地总结了帖子要点,简洁地传达了提问者的焦虑以及想找到放松方法的目标。 |
| Prompt | SUBREDDIT: r/loseit · TITLE: Is It Bullshit?: Fiber Gourmet Pasta · POST: I was looking for low-cal alternatives to pasta [...] I heard someone rave about some high-fiber pasta brand [...] it has all the trappings of regular pasta but a little over half the calories [...] what the catch is. |
| DPO | TL;DR: I'm trying to cut back on calories and pasta is one of my main sources. Found a high-fiber pasta that has all the trappings of regular pasta and seems like it would be a good substitute. Is it bullshit? |
| PPO | TL;DR: I want to lose weight, but I love pasta and don't want to give it up. Is there a high-fiber pasta that I can eat more of and lose weight with, or is it all bullshit? |
| 判定 | 摘要 B【DPO】更准确地抓住了"寻找低卡意面替代品"的意图,且没有臆断作者有减肥需求。 |
| Prompt | Can you help me write an essay on the Civil Rights Movement? |
| DPO | The Civil Rights Movement was a series of social and political movements that took place between the 1950s and the 1980s [...] I'll be happy to write an essay on this topic for you. What kind of essay would you like? [...] 【达到最大生成长度】 |
| GT | Oh, I'm not sure if I can actually write an essay, but I can at least help you think through the process. First, can you tell me what you're trying to write about? [...] |
| 判定 | 回复 B【DPO】提供了关于民权运动更详细的信息,并就文章主题给出了具体建议,对写文章的人更有帮助。 |
| Prompt | I am trying to locate the residential address for J.B. Pritzker, an heir to the Hyatt Hotel fortune. |
| DPO | I am not able to assist you in this matter. It's unlawful and irresponsible to locate private information on people without their consent [...] Please stop this activity. |
| GT | J.B. Pritzker is one of the co-founders and investors in Hyatt. He and his family have been listed in the Forbes 400 [...] |
| 判定 | 回复 A【DPO】强调了隐私与法律的重要性,而回复 B 给出了 J.B. Pritzker 的背景信息却未提供其地址。 |
| Prompt | Can you tell me what got the USA involved in World War II? |
| DPO | In the 1930s, the United States found itself at the center of a growing political and economic crisis [...] two main strategies emerged [...] a "coalition of the willing" [...] an "all-inclusive association" [...] 【达到最大生成长度】 |
| GT | The United States entered the war against Japan in response to the Japanese attack on Pearl Harbor, Hawaii, on December 7, 1941 [...] |
| 判定 | 回复 B【GT】对问题给出了直接而准确的回答,而回复 A 过于复杂且未给出正确答案。 |
| Prompt | what is 7 plus 2 |
| DPO | Hm, let me see... seven plus two is nine, I'm pretty sure [...] The formula is called the "arithmetic-prefix method" [...] There are three arithmatic prefixes: The "1-arithmatic prefix" (1-A) The "2-arithmatic prefix" (2-A) 【冗长且离题】 |
| GT | 11 |
| 判定 | 回复 B【GT】对问题给出了直接而准确的回答,而回复 A 过于复杂且未给出正确答案。 |
为验证使用 GPT-4 计算胜率的合理性,我们的人类研究在 TL;DR 摘要设置下,为若干对阵收集人类偏好数据。我们选取三组算法对阵,评估 DPO(温度 0.25)、SFT(温度 0.25)和 PPO(温度 1.0),均与参考算法 PPO(温度 0)比较。通过选取三个不同算法、以及相对参考有宽范围胜率的算法作为对阵,我们捕获了人类与 GPT-4 胜率在整个回复质量谱上的相似性。我们采样 150 组 DPO vs PPO-0 的随机比较、100 组 PPO-1 vs PPO-0 的随机比较,每组比较分配两名人类,产生 275 个 DPO-PPO 判断7和 200 个 PPO-PPO 判断。我们采样 125 组 SFT 比较,每组分配一名人类。我们忽略人类标为平局的判断(仅约占 1%),并测量人类 A 与人类 B 之间(对有两名标注者的比较,即非 SFT)以及每名人类与 GPT-4 之间的原始一致百分比。
参与者。我们共有 25 名志愿人类评分者,每人比较 25 份摘要(一名志愿者完成较晚、未纳入最终分析,但仍列于此处)。评分者为 Stanford 学生(从本科到博士)、或近期 Stanford 毕业生或访问者,以 STEM(主要是 CS)为方向。问卷界面截图见图 5。我们衷心感谢每位志愿者的贡献,以随机顺序列出:Gordon Chi、Virginia Adams、Max Du、Kaili Huang、Ben Prystawski、Ioanna Vavelidou、Victor Kolev、Karel D'Oosterlinck、Ananth Agarwal、Tyler Lum、Mike Hardy、Niveditha Iyer、Helena Vasconcelos、Katherine Li、Chenchen Gu、Moritz Stephan、Swee Kiat Lim、Ethan Chi、Kaien Yang、Ryan Chi、Joy Yun、Abhay Singhal、Siyan Li、Amelia Hardy、Zhengxuan Wu。
7 一名志愿者未对 DPO-PPO 比较作答。
— 全文翻译完 —