直接偏好优化:你的语言模型其实就是一个奖励模型
Direct Preference Optimization: Your Language Model is Secretly a Reward Model|作者:Rafael Rafailov*、Archit Sharma*、Eric Mitchell*(*同等贡献;资历较浅的作者排在前面)、Stefano Ermon、Christopher D. Manning、Chelsea Finn|发表出处:第 37 届神经信息处理系统大会(NeurIPS 2023);arXiv:2305.18290v3 [cs.LG]
作者单位:†斯坦福大学(Stanford University),‡CZ Biohub。联系邮箱:{rafailov,architsh,eric.mitchell}@cs.stanford.edu
摘要
虽然大规模无监督语言模型(language models,LMs)学到了广泛的世界知识与一定的推理技能,但由于其训练过程完全无监督,要精确控制它们的行为非常困难。为获得这种可控性,现有方法收集人类对模型生成结果相对质量的标注,并微调无监督 LM 使之与这些偏好对齐,通常采用基于人类反馈的强化学习(reinforcement learning from human feedback,RLHF)。然而,RLHF 是一个复杂且常常不稳定的过程:先拟合一个反映人类偏好的奖励模型(reward model),再用强化学习微调大型无监督 LM 以最大化这一估计奖励,同时不使模型偏离原始模型太远。本文提出 RLHF 中奖励模型的一种新参数化方法,它使我们能够以闭式形式提取相应的最优策略,从而只需一个简单的分类损失即可求解标准的 RLHF 问题。由此得到的算法称为直接偏好优化(Direct Preference Optimization,DPO),它稳定、性能良好且计算轻量,无需在微调过程中从 LM 采样,也无需进行大量的超参数调优。我们的实验表明,DPO 微调 LM 使之与人类偏好对齐的效果与现有方法相当或更好。值得注意的是,DPO 微调在控制生成文本情感方面的能力超过了基于 PPO 的 RLHF,并且在摘要与单轮对话任务中匹配或提升了回复质量,同时实现与训练都简单得多。
1 引言
在超大规模数据集上训练的大型无监督语言模型(LM)获得了令人惊讶的能力 [11, 7, 42, 8]。然而,这些模型的训练数据由目标、优先级与技能水平各异的人类生成,其中某些目标与技能可能并不值得模仿;例如,我们可能希望 AI 编程助手理解常见的编程错误以便纠正它们,但在生成代码时,我们希望模型偏向其训练数据中(可能稀少的)高质量编程能力。类似地,我们可能希望语言模型了解一种被 50% 的人相信的常见误解,但我们当然不希望模型在 50% 的相关询问中断言该误解为真!换言之,从模型极为宽泛的知识与能力中挑选出我们期望的回应与行为,对构建安全、高性能、可控的 AI 系统至关重要 [28]。现有方法通常用强化学习(reinforcement learning,RL)来引导 LM 匹配人类偏好,我们将证明:现有方法所用的基于 RL 的目标可以用一个简单的二元交叉熵目标精确优化,从而大大简化偏好学习流程。
图 1|DPO 在优化人类偏好的同时避免了强化学习。现有的用人类反馈微调语言模型的方法,先在一个由提示词与人类对回复对的偏好构成的数据集上拟合奖励模型,再用 RL 寻找最大化所学奖励的策略。相比之下,DPO 用一个简单的分类目标直接优化最满足偏好的策略,拟合一个隐式奖励模型(implicit reward model),其对应的最优策略可以闭式形式提取。
从高层来看,现有方法利用精心整理的人类偏好集合——它们代表人类认为安全、有益的行为类型——把期望行为注入语言模型。这一偏好学习阶段发生在初始的大规模无监督预训练(在大文本数据集上)之后。虽然偏好学习最直接的方法是在人类演示的高质量回复上做监督微调,但最成功的一类方法是基于人类(或 AI)反馈的强化学习(RLHF/RLAIF;[12, 2])。RLHF 方法在人类偏好数据集上拟合奖励模型,然后用 RL 优化语言模型策略,使之生成高奖励的回复且不过度偏离原始模型。尽管 RLHF 产出了具备出色对话与编程能力的模型,但 RLHF 流程比监督学习复杂得多:它涉及训练多个 LM,并在训练循环中从 LM 策略采样,带来可观的计算成本。
本文展示了如何直接优化语言模型使之遵循人类偏好,而无需显式奖励建模或强化学习。我们提出直接偏好优化(DPO),该算法隐式地优化与现有 RLHF 算法相同的目标(带 KL 散度约束的奖励最大化),但实现简单、训练直接。直观地说,DPO 更新提高偏好回复相对非偏好回复的对数概率,但它引入了一个动态的、逐样本的重要性权重,从而避免了我们在朴素的概率比目标中观察到的模型退化。与现有算法一样,DPO 依赖于一个理论偏好模型(如 Bradley-Terry 模型;[5])来度量给定奖励函数与经验偏好数据的契合程度。然而,现有方法用偏好模型定义偏好损失来训练奖励模型、再训练优化所学奖励模型的策略,而 DPO 通过变量替换把偏好损失直接定义为策略的函数。给定人类对模型回复的偏好数据集,DPO 因此能用简单的二元交叉熵目标优化策略,得到对拟合偏好数据的隐式奖励函数而言最优的策略。
我们的主要贡献是直接偏好优化(DPO):一个简单的、不依赖 RL 的从偏好训练语言模型的算法。我们的实验表明,在情感调控、摘要、对话等从偏好学习的任务中,使用参数量至多 6B 的语言模型,DPO 的效果至少与包括基于 PPO 的 RLHF 在内的现有方法相当。
2 相关工作
规模越来越大的自监督语言模型学会零样本(zero-shot)完成某些任务 [33],或在少样本提示(few-shot prompts)下完成 [6, 27, 11]。然而,在指令与人工撰写补全的数据集上微调,可以显著改善它们在下游任务上的表现以及与用户意图的对齐 [25, 38, 13, 41]。这种”指令微调”(instruction-tuning)过程使 LLM 能够泛化到指令微调集之外的指令,并普遍提升其可用性 [13]。尽管指令微调颇为成功,但关于回复质量的相对性人类判断往往比专家演示更容易收集,因此后续工作用人类偏好数据集微调 LLM,提升了翻译 [20]、摘要 [40, 51]、故事创作 [51] 与指令遵循 [28, 34] 等方面的能力。这些方法先在 Bradley-Terry 模型 [5] 之类的偏好模型下优化神经网络奖励函数使之与偏好数据集相容,再用强化学习算法微调语言模型以最大化给定奖励,常用 REINFORCE [47]、近端策略优化(proximal policy optimization,PPO;[39])或其变体 [34]。一条密切相关的路线利用经人类反馈做指令遵循微调的 LLM,为安全性或无害性等目标属性生成额外的合成偏好数据 [2],其中对 LLM 的标注仅使用文本评分规则(rubric)这类弱人类监督。这些方法代表了两个研究体系的融合:其一是用强化学习以多种目标训练语言模型的工作 [35, 29, 48],其二是从人类偏好中学习的一般方法的工作 [12, 21]。尽管使用相对性人类偏好颇具吸引力,但用强化学习微调大型语言模型仍是一个重大的现实挑战;本工作提供了一种有理论依据的方法,无需 RL 即可优化相对偏好。
在语言领域之外,从偏好中学习策略的问题已在老虎机(bandit)与强化学习设定中被研究,并提出了若干方法。使用动作的偏好或排序而非奖励的上下文老虎机学习,被称为上下文对决老虎机(contextual dueling bandit,CDB;[50, 14])。在缺乏绝对奖励时,CDB 的理论分析用”von Neumann 胜者”替代最优策略的概念,即对任何其他策略的期望胜率至少为 50% 的策略 [14]。然而,CDB 设定中偏好标签是在线给出的,而在从人类偏好学习中,我们通常从固定的一批离线偏好标注动作对中学习 [49]。类似地,基于偏好的强化学习(preference-based RL,PbRL)从由未知”评分”函数生成的二元偏好而非奖励中学习 [9, 37]。PbRL 已有各种算法,包括能复用离线策略(off-policy)偏好数据的方法,但一般都涉及先显式估计潜在评分函数(即奖励模型)、随后再对其进行优化 [16, 9, 12, 36, 21]。我们则提出一种单阶段的策略学习方法,直接优化策略以满足偏好。
3 预备知识
我们回顾 Ziegler 等人(以及后来的 [40, 1, 28])的 RLHF 流程。它通常包括三个阶段:1)监督微调(supervised fine-tuning,SFT);2)偏好采样与奖励学习;3)RL 优化。
SFT 阶段:RLHF 通常先在感兴趣下游任务(对话、摘要等)的高质量数据上,用监督学习微调一个预训练 LM,得到模型 πSFT。
奖励建模阶段:在第二阶段,用提示词 x 输入 SFT 模型以产生回复对 (y1, y2) ∼ πSFT(y ∣ x)。随后把它们呈现给人类标注者,由其表达对其中一个回复的偏好,记作 yw ≻ yl ∣ x,其中 yw 与 yl 分别表示 (y1, y2) 中被偏好与不被偏好的补全。假设偏好由某个潜在奖励模型 r*(y, x) 生成,而我们无法直接访问它。建模偏好有多种方法,Bradley-Terry(BT)模型 [5] 是流行的选择(如果我们能获得多个排好序的答案,更一般的 Plackett-Luce 排序模型 [32, 23] 也与该框架兼容)。BT 模型规定人类偏好分布 p* 可写为:
$$p^*(y_1 \succ y_2 \mid x) = \frac{\exp\left( r^*(x, y_1) \right)}{\exp\left( r^*(x, y_1) \right) + \exp\left( r^*(x, y_2) \right)}. \tag{1}$$
假设可以访问从 p* 采样的静态比较数据集 𝒟 = {x(i), yw(i), yl(i)}i = 1N,我们可以参数化一个奖励模型 rϕ(x, y),并用最大似然估计其参数。把问题构造成二元分类,我们有负对数似然损失:
ℒR(rϕ, 𝒟) = −𝔼(x, yw, yl) ∼ 𝒟[log σ(rϕ(x, yw) − rϕ(x, yl))]
其中 σ 是逻辑斯蒂函数(logistic function)。在 LM 的语境下,网络 rϕ(x, y) 通常从 SFT 模型 πSFT(y ∣ x) 初始化,并在最后一个 transformer 层之上加一个线性层,输出对标量奖励值的预测 [51]。为了得到方差更低的奖励函数,先前工作对奖励做归一化,使得对所有 x 有 𝔼x, y ∼ 𝒟[rϕ(x, y)] = 0。
RL 微调阶段:在 RL 阶段,学到的奖励函数被用来向语言模型提供反馈。遵循先前工作 [17, 18],优化问题被表述为
maxπθ𝔼x ∼ 𝒟, y ∼ πθ(y|x)[rϕ(x, y)] − β 𝔻KL[πθ(y ∣ x) ∥ πref(y ∣ x)],
其中 β 是控制偏离基准参考策略 πref(即初始 SFT 模型 πSFT)程度的参数。实践中,语言模型策略 πθ 也被初始化为 πSFT。这一附加约束很重要:它防止模型偏离奖励模型仍然准确的分布太远,同时保持生成多样性、防止向单一高奖励答案发生模式坍缩(mode-collapse)。由于语言生成的离散性质,该目标不可微,通常用强化学习优化。标准做法 [51, 40, 1, 28] 是构造奖励函数 r(x, y) = rϕ(x, y) − β(log πθ(y ∣ x) − log πref(y ∣ x)),并用 PPO [39] 最大化它。
4 直接偏好优化
受在大规模问题(如微调语言模型)上应用强化学习算法所面临挑战的启发,我们的目标是推导一种直接使用偏好进行策略优化的简单方法。与先学习奖励、再用 RL 优化的既有 RLHF 方法不同,我们的方法利用一种特定的奖励模型参数化选择,使其最优策略能够以闭式形式提取,而无需 RL 训练循环。正如我们接下来将详细描述的,我们的关键洞察是利用从奖励函数到最优策略的解析映射,这使我们能把奖励函数上的损失函数变换为策略上的损失函数。这种变量替换(change-of-variables)方法避免了拟合显式、独立的奖励模型,同时仍在现有的偏好模型(如 Bradley-Terry 模型)之下进行优化。本质上,策略网络同时表示了语言模型和(隐式的)奖励。
推导 DPO 目标。我们从与先前工作相同的 RL 目标(式 3)出发,其中奖励函数 r 为一般形式。遵循先前工作 [31, 30, 19, 15],可以容易地证明式 3 中 KL 约束奖励最大化目标的最优解形如:
$$\pi_r(y \mid x) = \frac{1}{Z(x)}\, \pi_{\mathrm{ref}}(y \mid x) \exp\left( \frac{1}{\beta}\, r(x, y) \right), \tag{4}$$
其中 $Z(x) = \sum_{y} \pi_{\mathrm{ref}}(y \mid x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)$ 是配分函数(partition function)。完整推导见附录 A.1。即使使用真实奖励函数 r* 的最大似然(MLE)估计 rϕ,估计配分函数 Z(x) 的代价仍然很高 [19, 15],这使这种表示在实践中难以利用。不过,我们可以重新整理式 4,用其对应的最优策略 πr、参考策略 πref 与未知的配分函数 Z(⋅) 来表达奖励函数。具体地,先对式 4 两边取对数,再做一些代数运算,即可得到:
$$r(x, y) = \beta \log \frac{\pi_r(y \mid x)}{\pi_{\mathrm{ref}}(y \mid x)} + \beta \log Z(x). \tag{5}$$
我们可以把这个重参数化应用到真实奖励 r* 及其对应的最优模型 π* 上。幸运的是,Bradley-Terry 模型只依赖于两个补全之间的奖励之差,即 p*(y1 ≻ y2 ∣ x) = σ(r*(x, y1) − r*(x, y2))。把式 5 对 r*(x, y) 的重参数化代入偏好模型(式 1)后,配分函数相消,我们可以只用最优策略 π* 与参考策略 πref 来表达人类偏好概率。因此,Bradley-Terry 模型下最优的 RLHF 策略 π* 满足如下偏好模型:
$$p^*(y_1 \succ y_2 \mid x) = \frac{1}{1 + \exp\left( \beta \log \frac{\pi^*(y_2|x)}{\pi_{\mathrm{ref}}(y_2|x)} - \beta \log \frac{\pi^*(y_1|x)}{\pi_{\mathrm{ref}}(y_1|x)} \right)} \tag{6}$$
推导见附录 A.2。式 6 使用的是 Bradley-Terry 模型,我们也可以类似地在更一般的 Plackett-Luce 模型 [32, 23] 下推导表达式,见附录 A.3。既然我们已经用最优策略(而非奖励模型)表达了人类偏好数据的概率,就可以为参数化策略 πθ 构造最大似然目标。与奖励建模方法(即式 2)类似,我们的策略目标变为:
$$\mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma\left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\mathrm{ref}}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\mathrm{ref}}(y_l \mid x)} \right) \right]. \tag{7}$$
这样一来,我们用一种替代参数化拟合了一个隐式奖励,其最优策略正是 πθ。此外,由于我们的过程等价于拟合一个重参数化的 Bradley-Terry 模型,它享有某些理论性质,例如在偏好数据分布的适当假设下的一致性(consistency)[4]。第 5 节将进一步讨论 DPO 相对于其他工作的理论性质。
DPO 更新在做什么?为了从机制上理解 DPO,分析损失函数 ℒDPO 的梯度很有用。关于参数 θ 的梯度可以写为:
$$\nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = -\beta\, \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \underbrace{\sigma\left( \hat{r}_\theta(x, y_l) - \hat{r}_\theta(x, y_w) \right)}_{\text{当奖励估计错误时权重更高}} \left[ \underbrace{\nabla_\theta \log \pi(y_w \mid x)}_{\text{提高 } y_w \text{ 的似然}} - \underbrace{\nabla_\theta \log \pi(y_l \mid x)}_{\text{降低 } y_l \text{ 的似然}} \right] \right],$$
其中 $\hat{r}_\theta(x, y) = \beta \log \dfrac{\pi_\theta(y|x)}{\pi_{\mathrm{ref}}(y|x)}$ 是由语言模型 πθ 与参考模型 πref 隐式定义的奖励(更多讨论见第 5 节)。直观地说,损失函数 ℒDPO 的梯度提高偏好补全 yw 的似然、降低非偏好补全 yl 的似然。重要的是,每个样本的权重取决于隐式奖励模型 r̂θ 对非偏好补全的评分高出多少(按 β 缩放),也就是说,取决于隐式奖励模型对补全排序错误的程度,并把 KL 约束的强度考虑在内。我们的实验表明这种加权非常重要:不带加权系数的朴素版本会导致语言模型退化(附录表 3)。
DPO 流程概述。一般的 DPO 流程如下:1)对每个提示词 x 采样补全 y1, y2 ∼ πref(⋅ ∣ x),并用人类偏好进行标注,以构建离线偏好数据集 𝒟 = {x(i), yw(i), yl(i)}i = 1N;2)优化语言模型 πθ,对给定的 πref 与 𝒟 以及期望的 β 最小化 ℒDPO。实践中,人们希望复用公开可得的偏好数据集,而不是自己生成样本并收集人类偏好。由于偏好数据集是用 πSFT 采样的,只要可用我们就初始化 πref = πSFT。而当 πSFT 不可用时,我们通过最大化偏好补全 (x, yw) 的似然来初始化 πref,即 πref = arg maxπ𝔼x, yw ∼ 𝒟[log π(yw ∣ x)]。这一步有助于缓解不可获得的真实参考分布与 DPO 所用 πref 之间的分布偏移。更多实现与超参数细节见附录 B。
5 DPO 的理论分析
在本节中,我们对 DPO 方法给出进一步的解释,提供理论支撑,并把 DPO 的优势与用于 RLHF 的 actor-critic 算法(如 PPO [39])存在的问题联系起来。
5.1 你的语言模型其实就是一个奖励模型
DPO 之所以能同时绕过显式奖励拟合与用 RL 学习策略,靠的是单个最大似然目标。注意,优化目标(式 5)等价于一个奖励参数化为 $r^*(x, y) = \beta \log \dfrac{\pi^*_\theta(y|x)}{\pi_{\mathrm{ref}}(y|x)}$ 的 Bradley-Terry 模型,并且我们优化参数化模型 πθ,在变量替换下这等价于式 2 中的奖励模型优化。本节将建立这一重参数化背后的理论,证明它不会限制可学到的奖励模型类,并允许精确恢复最优策略。我们先定义奖励函数之间的一个等价关系。
定义 1.若存在某个函数 f 使得 r(x, y) − r′(x, y) = f(x),则称两个奖励函数 r(x, y) 与 r′(x, y) 等价。
容易看出这确实是一个等价关系,它把奖励函数的集合划分为若干类。我们可以陈述如下两个引理:
引理 1.在 Plackett-Luce(特别是 Bradley-Terry)偏好框架下,来自同一类的两个奖励函数诱导相同的偏好分布。
引理 2.来自同一等价类的两个奖励函数在约束 RL 问题下诱导相同的最优策略。
证明很直接,我们将其放到附录 A.5。第一条引理对应 Plackett-Luce 模型族一个众所周知的欠设定(under-specification)问题 [32]。由于这种欠设定,我们通常必须施加额外的可识别性约束,才能对式 2 的 MLE 估计给出任何保证 [4]。第二条引理表明,来自同一类的所有奖励函数都产生相同的最优策略,因此对我们的最终目标而言,我们只关心从最优类中恢复任意一个奖励函数。我们在附录 A.6 中证明如下定理:
定理 1.在温和的假设下,所有与 Plackett-Luce(特别是 Bradley-Terry)模型一致的奖励类都可以用重参数化 $r(x, y) = \beta \log \dfrac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)}$ 表示,其中 π(y ∣ x) 为某个模型,πref(y ∣ x) 为给定的参考模型。
证明概要.考虑任意奖励函数 r(x, y),它诱导一个由式 4 刻画的对应最优模型 πr(y ∣ x)。我们将证明 r 的等价类中的某个奖励函数可以用上述重参数化表示。定义投影 f 为
$$f(r; \pi_{\mathrm{ref}}, \beta)(x, y) = r(x, y) - \beta \log \sum_{y} \pi_{\mathrm{ref}}(y \mid x) \exp\left( \frac{1}{\beta}\, r(x, y) \right) \tag{8}$$
算子 f 只是用 πr 的配分函数的对数对奖励函数做归一化。由于所加的归一化项只是前缀 x 的函数,f(r; πref, β)(x, y) 是 r(x, y) 等价类中的一个奖励函数。最后,把 r 替换为式 5 的右端(该式对任意奖励函数都成立),我们有 $f(r; \pi_{\mathrm{ref}}, \beta)(x, y) = \beta \log \dfrac{\pi_r(y|x)}{\pi_{\mathrm{ref}}(y|x)}$。也就是说,投影 f 产生了 r 的等价类中具有期望形式的成员,所提出的重参数化没有使我们的奖励模型损失任何一般性。
我们也可以换一个角度理解定理 1:它精确指明了 DPO 重参数化在每个等价类中选择的是哪一个奖励函数,即满足下式的奖励函数:
$$\underbrace{\sum_{y} \pi_{\mathrm{ref}}(y \mid x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)}_{=\,\pi(y|x)\text{(由定理 1 的重参数化)}} = 1, \tag{9}$$
即 π(y ∣ x) 是一个有效的分布(概率为正且总和为 1)。然而,依照式 4 可以看出,式 9 正是由奖励函数 r(x, y) 诱导的最优策略的配分函数。DPO 算法的关键洞察在于:我们可以对欠约束的 Plackett-Luce(特别是 Bradley-Terry)偏好模型族施加某些约束,使得可表示奖励模型的类保持不变,同时显式地使式 4 中的最优策略对所有提示词 x 都解析可处理。
5.2 Actor-Critic 算法的不稳定性
我们也可以用我们的框架来诊断用于 RLHF 的标准 actor-critic 算法(如 PPO)的不稳定性。我们遵循 RLHF 流程,聚焦第 3 节概述的 RL 微调步骤。我们可以把第 3 节概述的约束 RL 问题与”控制即推断”(control as inference)框架 [22] 联系起来。我们假设一个参数化模型 πθ(y ∣ x),并最小化 𝔻KL[πθ(y|x) ∥ π*(y ∣ x)],其中 π* 是由奖励函数 rϕ(y, x) 经式 7 诱导的最优策略。经过一些代数运算,这导出如下优化目标:
$$\max_{\pi_\theta} \mathbb{E}_{\pi_\theta(y|x)} \left[ r_\phi(x, y) - \beta \log \underbrace{\sum_{y} \pi_{\mathrm{ref}}(y \mid x) \exp\left( \frac{1}{\beta}\, r_\phi(x, y) \right)}_{f(r_\phi,\, \pi_{\mathrm{ref}},\, \beta)} - \underbrace{\beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\mathrm{ref}}(y \mid x)}}_{\mathrm{KL}} \right] \tag{10}$$
这正是先前工作 [51, 40, 1, 28] 针对 rϕ 所属奖励类、使用 DPO 等价奖励所优化的同一目标。在这一设定下,我们可以把 f(rϕ, πref, β) 中的归一化项解释为参考策略 πref 的软值函数(soft value function)。虽然这一项不影响最优解,但若没有它,目标的策略梯度可能具有高方差,使学习不稳定。我们可以用一个学习到的值函数来补偿这一归一化项,但那同样难以优化。另外,先前工作曾用人类补全基线对奖励做归一化,这本质上是对归一化项的单样本蒙特卡洛估计。相比之下,DPO 重参数化给出的奖励函数不需要任何基线。
图 2|左:期望奖励与相对参考策略 KL 的前沿(frontier)。DPO 在所有 KL 值下都给出最高的期望奖励,展示了其优化的质量。右:以 GPT-4 作为评估器,TL;DR 摘要相对人工撰写摘要的胜率。DPO 在摘要上超过了 PPO 的最佳表现,同时对采样温度的变化更为稳健。
6 实验
在本节中,我们实证评估 DPO 直接从偏好训练策略的能力。首先,在一个控制良好的文本生成设定中,我们问:与 PPO 等常见偏好学习算法相比,DPO 在最大化奖励与最小化相对参考策略的 KL 散度之间的折中效率如何?接下来,我们在更大的模型和更难的 RLHF 任务(包括摘要与对话)上评估 DPO 的表现。我们发现,在几乎不调超参数的情况下,DPO 的表现通常与强基线相当或更好,这些基线包括使用 PPO 的 RLHF,以及在所学奖励函数下返回 N 条采样轨迹中最优者的方法(Best of N)。在给出这些结果之前,我们先描述实验设置;更多细节见附录 C。
任务。我们的实验探索三个不同的开放式文本生成任务。所有实验中,算法都从偏好数据集 𝒟 = {x(i), yw(i), yl(i)}i = 1N 学习策略。在受控情感生成中,x 是 IMDb 数据集 [24] 中一条影评的前缀,策略必须生成具有正面情感的 y。为了进行受控评估,本实验用预训练的情感分类器在生成结果上构造偏好对,满足 p(positive ∣ x, yw) > p(positive ∣ x, yl)。至于 SFT,我们在 IMDb 数据集训练划分的评论上微调 GPT-2-large 直至收敛(更多细节见附录 C.1)。在摘要任务中,x 是 Reddit 的论坛帖子,策略必须生成概括帖子要点的摘要 y。遵循先前工作,我们使用 Reddit TL;DR 摘要数据集 [43] 以及 Stiennon 等人收集的人类偏好。我们使用在人工撰写的论坛帖子摘要上微调的 SFT 模型(脚注 2:https://huggingface.co/CarperAI/openai_summarize_tldr_sft),并配合 TRLX [44] 框架做 RLHF。Stiennon 等人收集人类偏好数据集时所用样本来自另一个训练方式类似但不相同的 SFT 模型。最后,在单轮对话中,x 是一个人类提问,内容可以是从天体物理问题到情感咨询请求的任何东西。策略必须对用户的问题给出有吸引力且有帮助的回复 y;我们使用 Anthropic Helpful and Harmless 对话数据集 [1],其中包含 17 万段人类与自动助手之间的对话。每段记录都以一对由某个大型(但未知)语言模型生成的回复以及一个标注人类偏好回复的偏好标签结尾。在这一设定下没有预训练的 SFT 模型可用;因此,我们在仅由被偏好补全组成的数据上微调一个现成的语言模型,将其作为 SFT 模型。
评估。我们的实验使用两种不同的评估方法。为了分析各算法在优化受约束奖励最大化目标方面的有效性,在受控情感生成设定中,我们以算法所取得的奖励与相对参考策略的 KL 散度构成的前沿来评估;这一前沿可以计算,因为我们拥有真实奖励函数(情感分类器)。然而在真实世界中,真实奖励函数是未知的;因此,在摘要与单轮对话设定中,我们用算法相对某一基线策略的胜率(win rate)来评估,并分别以 GPT-4 代替人类评估摘要质量与回复有用性。对摘要,我们用测试集中的参考摘要作为基线;对对话,我们用测试数据集中被偏好的回复作为基线。尽管已有研究表明 LM 可以比现有指标更好地充当自动评估器 [10],我们仍在第 6.4 节进行了一项人类研究,以论证使用 GPT-4 评估的合理性。我们发现 GPT-4 的判断与人类高度相关,人类与 GPT-4 的一致率通常与人类标注者彼此之间的一致率相当或更高。
方法。除 DPO 外,我们还评估了若干训练语言模型遵循人类偏好的现有方法。最简单的是:在摘要任务中探索 GPT-J [45] 的零样本提示,在对话任务中探索 Pythia-2.8B [3] 的 2-shot 提示。此外,我们评估了 SFT 模型以及 Preferred-FT——后者是在被选中的补全 yw 上用监督学习微调的模型,yw 来自 SFT 模型(受控情感与摘要任务)或通用 LM(单轮对话)。另一种伪监督方法是 Unlikelihood [46],它简单地优化策略以最大化赋予 yw 的概率、最小化赋予 yl 的概率;我们对”unlikelihood”项使用可选系数 α ∈ [0, 1]。我们还考虑了使用从偏好数据学到的奖励函数的 PPO [39],以及 PPO-GT——在受控情感设定中从真实奖励函数学习的 oracle。在我们的情感实验中,我们使用 PPO-GT 的两种实现:一种是现成版本 [44];另一种是修改版,它对奖励做归一化并进一步调优超参数以提升性能(在用学到的奖励运行”普通” PPO 时,我们也采用这些修改)。最后,我们考虑 Best of N 基线:从 SFT 模型(对话任务中为 Preferred-FT)采样 N 条回复,并按从偏好数据集学到的奖励函数返回得分最高的回复。这种高性能方法把奖励模型的质量与 PPO 优化解耦,但即使 N 适中,它在计算上也不现实,因为它在测试时需要对每个查询采样 N 条补全。
6.1 DPO 能在多大程度上优化 RLHF 目标?
典型 RLHF 算法使用的 KL 约束奖励最大化目标,在开发(利用)奖励与限制策略偏离参考策略之间取得平衡。因此,比较算法时必须同时考虑所得奖励与 KL 差异:略高的奖励若伴随高得多的 KL,并不一定可取。图 2 展示了情感设定中各种算法的奖励-KL 前沿。我们对每个算法执行多次训练运行,每次使用不同的策略保守性超参数(PPO 的目标 KL ∈ {3, 6, 9, 12},β ∈ {0.05, 0.1, 1, 5},unlikelihood 的 α ∈ {0.05, 0.1, 0.5, 1},preferred-FT 则使用不同随机种子)。这一扫描共包含 22 次运行。每训练 100 步(直至收敛),我们就在一组测试提示词上评估每个策略,计算真实奖励函数下的平均奖励,以及与参考策略 KL(π ∥ πref) 的平均序列级 KL(脚注 3:即每个时间步 KL 散度之和)。我们发现,DPO 生成了迄今最高效的前沿:在取得最高奖励的同时仍保持低 KL。这一结果在多个方面都尤为显著。首先,DPO 与 PPO 优化的是同一目标,但 DPO 明显更高效;DPO 的奖励/KL 折中严格支配(strictly dominates)PPO。其次,即使 PPO 能够访问真实奖励(PPO-GT),DPO 也取得了比 PPO 更好的前沿。
6.2 DPO 能否扩展到真实的偏好数据集?
接下来,我们评估 DPO 在摘要与单轮对话上的微调表现。对摘要而言,ROUGE 等自动评估指标与人类偏好的相关性可能很差 [40],而先前工作发现,用 PPO 在人类偏好上微调 LM 能够提供更有效的摘要。我们通过在 TL;DR 摘要数据集的测试划分上采样补全、并计算相对测试集中参考补全的平均胜率来评估不同方法。所有方法的补全都在 0.0 到 1.0 之间变化的温度下采样,胜率见图 2(右)。DPO、PPO 与 Preferred-FT 都微调同一个 GPT-J SFT 模型(脚注 4:https://huggingface.co/CarperAI/openai_summarize_tldr_sft)。我们发现,DPO 在温度 0.0 时胜率约为 61%,超过 PPO 在其最优采样温度 0.0 下 57% 的表现。与 Best of N 基线相比,DPO 也取得了更高的最大胜率。我们注意到,我们没有对 DPO 的 β 超参数做有意义的调优,因此这些结果可能低估了 DPO 的潜力。此外,我们发现 DPO 对采样温度远比 PPO 稳健,后者的性能在高温度下可能退化到基础 GPT-J 模型的水平。Preferred-FT 相对 SFT 模型没有显著提升。我们还在第 6.4 节的人类评估中让 DPO 与 PPO 正面对比:DPO 在温度 0.25 下的样本有 58% 的时候被偏好于温度 0 下的 PPO 样本。
在单轮对话上,我们在 Anthropic HH 数据集 [1] 测试划分中只含一轮”人类-助手”交互的子集上评估不同方法。GPT-4 评估以测试集中被偏好的补全为参照,计算各方法的胜率。由于该任务没有标准的 SFT 模型,我们从预训练的 Pythia-2.8B 出发,先用 Preferred-FT 在被选中的补全上训练一个参考模型(使补全处于模型分布之内),然后再用 DPO 训练。我们还与 Best of 128 的 Preferred-FT 补全(我们发现该任务的 Best of N 基线在 128 个补全处达到平台;见附录图 4)以及 2-shot 提示版的 Pythia-2.8B 基础模型进行比较,发现在每个方法表现最佳的采样温度下,DPO 的表现相当或更好。我们还评估了一个在 Anthropic HH 数据集上用 PPO 训练的 RLHF 模型(脚注 5:https://huggingface.co/reciprocate/ppo_hh_pythia-6B),它来自一个知名来源(脚注 6:https://github.com/CarperAI/trlx/tree/main/examples/hh),但我们找不到任何提示词或采样温度能使其表现优于基础 Pythia-2.8B 模型。基于我们在 TL;DR 上的结果以及两种方法优化同一奖励函数这一事实,我们把 Best of 128 视为 PPO 级别表现的粗略代理。总体而言,DPO 是唯一一个在 Anthropic HH 数据集被偏好补全之上有提升的计算高效方法,并且与计算开销很大的 Best of 128 基线相比提供了相当或更好的表现。最后,图 3 表明 DPO 相对较快地收敛到其最佳表现。
图 3|左:由 GPT-4 计算的 Anthropic-HH 单步对话胜率;DPO 是唯一在 Anthropic-HH 测试集被选中回复之上有提升的方法。右:训练过程中不同采样温度下的胜率。对于不同的采样温度,DPO 相对数据集标签的提升在训练过程中相当稳定。
6.3 对新输入分布的泛化
| 算法 | 温度 0 | 温度 0.25 |
|---|---|---|
| DPO | 0.36 | 0.31 |
| PPO | 0.26 | 0.23 |
表 1|在分布外的 CNN/DailyMail 新闻文章上,GPT-4 相对真实(ground truth)摘要的胜率。
为了进一步比较 PPO 与 DPO 在分布偏移下的表现,我们把 Reddit TL;DR 摘要实验得到的 PPO 与 DPO 策略放到一个不同的分布上评估:CNN/DailyMail 数据集 [26] 测试划分中的新闻文章,并使用 TL;DR 的最佳采样温度(0 与 0.25)。结果见表 1。我们计算了相对数据集中真实摘要的 GPT-4 胜率,使用与 Reddit TL;DR 相同的 GPT-4 (C) 提示词,只是把”论坛帖子”一词替换为”新闻文章”。在这一新分布上,DPO 继续以显著优势胜过 PPO 策略。这个实验提供了初步证据:即使 DPO 没有使用 PPO 所用的额外未标注 Reddit TL;DR 提示词,DPO 策略的泛化能力也与 PPO 策略相当。
6.4 用人类判断验证 GPT-4 的判断
我们进行了一项人类研究,以验证 GPT-4 判断的可靠性,其中使用了 TL;DR 摘要实验的结果和两个不同的 GPT-4 提示词。GPT-4 (S)(简单)提示词只询问哪个摘要更好地概括了帖子中的重要信息。GPT-4 (C)(简洁)提示词还会询问哪个摘要更简洁;我们评估这个提示词,是因为我们发现:使用 GPT-4 (S) 提示词时,GPT-4 比人类更偏好更长、更重复的摘要。完整提示词见附录 C.2。我们进行了三次比较,分别使用表现最好(DPO,温度 0.25)、表现最差(PPO,温度 1.0)与中等表现(SFT,温度 0.25)的方法,以覆盖样本质量的多样性;这三种方法都与贪心采样的 PPO(其表现最佳的温度)进行比较。我们发现,在两个提示词下,GPT-4 与人类的一致频率都与人类彼此之间相当,这表明 GPT-4 是人类评估的合理代理(由于人类评分者有限,我们只对 DPO 与 PPO-1 的比较收集了多个人类判断)。总体而言,GPT-4 (C) 提示词给出的胜率通常更能代表人类;因此,我们在第 6.2 节的主结果中使用该提示词。关于人类研究的更多细节,包括呈现给评分者的网页界面与人类志愿者名单,见附录 D.3。
| 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 |
表 2|在 TL;DR 摘要样本上比较人类与 GPT-4 的胜率以及逐判断的一致率。人类与 GPT-4 的一致程度与人类彼此之间相当。每个实验都把所述方法的一个摘要与温度为 0 的 PPO 的一个摘要进行比较。
7 讨论
从偏好中学习是训练有能力、对齐良好的语言模型的一个强大且可扩展的框架。我们提出了 DPO,一种无需强化学习、从偏好训练语言模型的简单训练范式。DPO 没有把偏好学习问题硬套进标准的 RL 设定以使用现成的 RL 算法,而是识别出语言模型策略与奖励函数之间的一个映射,使我们能够用简单的交叉熵损失直接训练语言模型以满足人类偏好,无需强化学习,也不损失一般性。在几乎不调超参数的情况下,DPO 的表现与现有 RLHF 算法(包括基于 PPO 的算法)相当或更好;因此,DPO 显著降低了从人类偏好训练更多语言模型的门槛。
局限性与未来工作。我们的结果为未来工作提出了几个重要问题。与从显式奖励函数学习相比,DPO 策略在分布外的泛化能力如何?我们的初步结果表明,DPO 策略的泛化能力与基于 PPO 的模型相近,但还需要更全面的研究。例如,用 DPO 策略进行自标注(self-labeling)训练,能否同样有效地利用未标注提示词?另一方面,奖励过度优化(reward over-optimization)在直接偏好优化设定中如何表现?图 3(右)中性能的轻微下降是否是它的一个实例?此外,虽然我们评估了参数量至多 6B 的模型,但把 DPO 扩展到比之大几个数量级的最先进模型,是一个激动人心的未来方向。在评估方面,我们发现 GPT-4 计算的胜率受提示词影响;未来工作可以研究从自动系统引出高质量判断的最佳方式。最后,DPO 还有许多超越”从人类偏好训练语言模型”的可能应用,包括训练其他模态的生成模型。
致谢
EM 由衷感谢 Knight-Hennessy 研究生奖学金的资助。CF 与 CM 是 CIFAR Fellows。本工作部分受到斯坦福学习加速器(Stanford Accelerator for Learning,SAL)与斯坦福以人为本人工智能研究院(Stanford Institute for Human-Centered Artificial Intelligence,HAI)“面向未来学习的生成式 AI”种子资助计划的支持。斯坦福基础模型研究中心(Center for Research on Foundation Models,CRFM)为本工作的实验提供了部分计算资源。本工作部分受到 ONR 资助 N00014-20-1-2675 的支持。
参考文献
(参考文献共 51 条,此处从略。)
作者贡献
所有作者都在实验的设计、分析与迭代、论文的写作与修改以及项目整体进展的管理方面做出了宝贵贡献。
RR 在与 EM 的讨论中提议使用自回归奖励模型;推导了 DPO 目标;证明了算法的理论性质,并撰写了相关章节与附录。他还提议并协助组织实验,贡献了部分 PPO 与奖励学习基线。
AS 发起了关于用加权回归方法替代 PPO 的讨论;发起了项目相关的组织工作,撰写了把 DPO 与加权回归及 unlikelihood 联系起来的初步分析;参与 DPO 与基线实现的设计与迭代以及 DPO 的初步探索性实验;大量参与实验的组织与设计(数据集、基线、评估);领导了受控情感生成与摘要任务的模型训练与评估;参与 GPT-4 评估的设计迭代(尤其是摘要);对摘要、预备知识/方法与实验部分做出了大量写作贡献,并对其他章节做出了修改贡献。
EM 就学习自回归奖励函数的早期讨论提供意见;编写了 DPO 的第一个实现并运行了首批 DPO 实验;训练了论文实验所用的大规模(摘要与对话)DPO 模型;进行了初步的 GPT-4 胜率评估并搭建了相关基础设施;为人类研究招募参与者、开展研究并分析结果;撰写了摘要、引言、相关工作、讨论与实验部分的大部分内容;并协助修改论文的其余部分。
CF、CM 与 SE 指导了这项研究,提出了想法与实验,并协助撰写论文。
附录
附录 A 数学推导
A.1 KL 约束奖励最大化目标最优解的推导
在本附录中,我们将推导式 4。与式 3 类似,我们在任意奖励函数 r(x, y)、参考模型 πref 与一般的非参数策略类之下优化如下目标:
maxπ𝔼x ∼ 𝒟, y ∼ π[r(x, y)] − β 𝔻KL[π(y|x) ∥ πref(y|x)]
现在我们有:
$$ \begin{aligned} &\ \max_{\pi} \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi} \left[ r(x, y) \right] - \beta\, \mathbb{D}_{\mathrm{KL}} \left[ \pi(y|x) \,\|\, \pi_{\mathrm{ref}}(y|x) \right] \\ &= \max_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ r(x, y) - \beta \log \frac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)} \right] \\ &= \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)} - \frac{1}{\beta}\, r(x, y) \right] \\ &= \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\frac{1}{Z(x)} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)} - \log Z(x) \right] \end{aligned} \tag{12} $$
其中配分函数为
$$Z(x) = \sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right).$$
注意,配分函数只是 x 与参考策略 πref 的函数,不依赖于策略 π。现在我们可以定义
$$\pi^*(y|x) = \frac{1}{Z(x)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right),$$
这是一个有效的概率分布,因为对所有 y 都有 π*(y|x) ≥ 0 且 ∑yπ*(y|x) = 1。由于 Z(x) 不是 y 的函数,我们可以把式 12 的最终目标重新整理为:
$$\min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \left[ \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\pi^*(y|x)} \right] - \log Z(x) \right] = \tag{13}$$
minπ𝔼x ∼ 𝒟[𝔻KL(π(y|x) ∥ π*(y|x)) − log Z(x)]
现在,由于 Z(x) 不依赖于 π,最小值由最小化第一个 KL 项的策略取得。Gibbs 不等式告诉我们,KL 散度当且仅当两个分布完全相同、且此时在 0 处取得最小值。因此,我们得到最优解:
$$\pi(y|x) = \pi^*(y|x) = \frac{1}{Z(x)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right) \tag{15}$$
对所有 x ∈ 𝒟 成立。推导完成。
A.2 在 Bradley-Terry 模型下推导 DPO 目标
在 Bradley-Terry 偏好模型下推导 DPO 目标很直接,因为我们有
$$p^*(y_1 \succ y_2|x) = \frac{\exp\left( r^*(x, y_1) \right)}{\exp\left( r^*(x, y_1) \right) + \exp\left( r^*(x, y_2) \right)} \tag{16}$$
在第 4 节中我们展示了可以通过其对应的最优策略来表达(无法获得的)真实奖励:
$$r^*(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\mathrm{ref}}(y|x)} + \beta \log Z(x) \tag{17}$$
把式 17 代入式 16,我们得到:
$$ \begin{aligned} p^*(y_1 \succ y_2|x) &= \frac{\exp\left( \beta \log \frac{\pi^*(y_1|x)}{\pi_{\mathrm{ref}}(y_1|x)} + \beta \log Z(x) \right)}{\exp\left( \beta \log \frac{\pi^*(y_1|x)}{\pi_{\mathrm{ref}}(y_1|x)} + \beta \log Z(x) \right) + \exp\left( \beta \log \frac{\pi^*(y_2|x)}{\pi_{\mathrm{ref}}(y_2|x)} + \beta \log Z(x) \right)} \\[4pt] &= \frac{1}{1 + \exp\left( \beta \log \frac{\pi^*(y_2|x)}{\pi_{\mathrm{ref}}(y_2|x)} - \beta \log \frac{\pi^*(y_1|x)}{\pi_{\mathrm{ref}}(y_1|x)} \right)} \\[4pt] &= \sigma\left( \beta \log \frac{\pi^*(y_1|x)}{\pi_{\mathrm{ref}}(y_1|x)} - \beta \log \frac{\pi^*(y_2|x)}{\pi_{\mathrm{ref}}(y_2|x)} \right). \end{aligned} $$
最后一行就是式 7 中的逐样本损失。
A.3 在 Plackett-Luce 模型下推导 DPO 目标
Plackett-Luce 模型 [32, 23] 是 Bradley-Terry 模型在排序(而不只是成对比较)上的推广。与 Bradley-Terry 模型类似,它规定:当面对一组可能的选择时,人们偏好某个选择的概率正比于某个潜在奖励函数赋予该选择的价值。在我们的语境中,当面对提示词 x 与 K 个答案 y1, …, yK 时,用户会输出一个置换 τ : [K] → [K],给出他们对答案的排序。Plackett-Luce 模型规定
$$p^*(\tau \mid y_1, \ldots, y_K, x) = \prod_{k=1}^{K} \frac{\exp\left( r^*(x, y_{\tau(k)}) \right)}{\sum_{j=k}^{K} \exp\left( r^*(x, y_{\tau(j)}) \right)} \tag{18}$$
注意,当 K = 2 时,式 18 退化为 Bradley-Terry 模型。不过,对于一般的 Plackett-Luce 模型,我们仍可利用式 5 的结果,代入由其最优策略参数化的奖励函数。与附录 A.2 类似,归一化常数 Z(x) 相消,剩下:
$$p^*(\tau \mid y_1, \ldots, y_K, x) = \prod_{k=1}^{K} \frac{\exp\left( \beta \log \frac{\pi^*(y_{\tau(k)}|x)}{\pi_{\mathrm{ref}}(y_{\tau(k)}|x)} \right)}{\sum_{j=k}^{K} \exp\left( \beta \log \frac{\pi^*(y_{\tau(j)}|x)}{\pi_{\mathrm{ref}}(y_{\tau(j)}|x)} \right)} \tag{19}$$
与第 4 节的方法类似,如果我们拥有一个由提示词与用户指定排序构成的数据集 𝒟 = {τ(i), y1(i), …, yK(i), x(i)}i = 1N,我们就可以使用参数化模型并以最大似然优化如下目标:
$$\mathcal{L}_{\mathrm{DPO}}(\pi_\theta, \pi_{\mathrm{ref}}) = -\mathbb{E}_{\tau, y_1, \ldots, y_K, x \sim \mathcal{D}} \left[ \log \prod_{k=1}^{K} \frac{\exp\left( \beta \log \frac{\pi_\theta(y_{\tau(k)}|x)}{\pi_{\mathrm{ref}}(y_{\tau(k)}|x)} \right)}{\sum_{j=k}^{K} \exp\left( \beta \log \frac{\pi_\theta(y_{\tau(j)}|x)}{\pi_{\mathrm{ref}}(y_{\tau(j)}|x)} \right)} \right] \tag{20}$$
A.4 DPO 目标梯度的推导
在本节中,我们推导 DPO 目标的梯度:
$$\nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = -\nabla_\theta \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma\left( \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\mathrm{ref}}(y_l|x)} - \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\mathrm{ref}}(y_w|x)} \right) \right] \tag{21}$$
我们可以把式 21 的右端重写为
$$\nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \frac{\sigma'(u)}{\sigma(u)}\, \nabla_\theta (u) \right], \tag{22}$$
其中 $u = \beta \log \dfrac{\pi_\theta(y_l|x)}{\pi_{\mathrm{ref}}(y_l|x)} - \beta \log \dfrac{\pi_\theta(y_w|x)}{\pi_{\mathrm{ref}}(y_w|x)}$。
利用 sigmoid 函数的性质 σ′(x) = σ(x)(1 − σ(x)) 与 σ(−x) = 1 − σ(x),我们得到最终梯度
$$\nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \beta\, \sigma\left( \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\mathrm{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\mathrm{ref}}(y_l|x)} \right) \left[ \nabla_\theta \log \pi(y_w \mid x) - \nabla_\theta \log \pi(y_l \mid x) \right] \right],$$
在使用奖励替换 $\hat{r}_\theta(x, y) = \beta \log \dfrac{\pi_\theta(y|x)}{\pi_{\mathrm{ref}}(y|x)}$ 之后,我们就得到了第 4 节中梯度的最终形式。
A.5 引理 1 与引理 2 的证明
在本节中,我们将证明第 5 节中的两个引理。
引理 1(重述).在 Plackett-Luce 偏好框架(特别是 Bradley-Terry 框架)下,来自同一等价类的两个奖励函数诱导相同的偏好分布。
证明.若对某个函数 f 有 r′(x, y) = r(x, y) + f(x),则称两个奖励函数 r(x, y) 与 r′(x, y) 来自同一等价类。我们考虑一般的 Plackett-Luce(Bradley-Terry 模型是 K = 2 的特例),并把某个特定奖励函数 r(x, y) 诱导的排序上的概率分布记作 pr。对任意提示词 x、答案 y1, …, yK 与排序 τ,我们有:
$$ \begin{aligned} p_{r'}(\tau \mid y_1, \ldots, y_K, x) &= \prod_{k=1}^{K} \frac{\exp\left( r'(x, y_{\tau(k)}) \right)}{\sum_{j=k}^{K} \exp\left( r'(x, y_{\tau(j)}) \right)} \\[4pt] &= \prod_{k=1}^{K} \frac{\exp\left( r(x, y_{\tau(k)}) + f(x) \right)}{\sum_{j=k}^{K} \exp\left( r(x, y_{\tau(j)}) + f(x) \right)} \\[4pt] &= \prod_{k=1}^{K} \frac{\exp\left( f(x) \right) \exp\left( r(x, y_{\tau(k)}) \right)}{\exp\left( f(x) \right) \sum_{j=k}^{K} \exp\left( r(x, y_{\tau(j)}) \right)} \\[4pt] &= \prod_{k=1}^{K} \frac{\exp\left( r(x, y_{\tau(k)}) \right)}{\sum_{j=k}^{K} \exp\left( r(x, y_{\tau(j)}) \right)} \\[4pt] &= p_r(\tau \mid y_1, \ldots, y_K, x), \end{aligned} $$
证明完成。
引理 2(重述).来自同一等价类的两个奖励函数在约束 RL 问题下诱导相同的最优策略。
证明.考虑来自同一类的两个奖励函数,使得 r′(x, y) = r(x, y) + f(x),并把对应的最优策略记作 πr 与 πr′。由式 4,对所有 x, y 我们有
$$ \begin{aligned} \pi_{r'}(y|x) &= \frac{1}{\sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r'(x, y) \right)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r'(x, y) \right) \\[4pt] &= \frac{1}{\sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\left( r(x, y) + f(x) \right) \right)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\left( r(x, y) + f(x) \right) \right) \\[4pt] &= \frac{1}{\exp\left( \frac{1}{\beta}\, f(x) \right) \sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right) \exp\left( \frac{1}{\beta}\, f(x) \right) \\[4pt] &= \frac{1}{\sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)}\, \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right) \\[4pt] &= \pi_r(y|x), \end{aligned} $$
证明完成。
A.6 定理 1 的证明
在本节中,我们将进一步展开定理 1 的结果。
定理 1(重述).假设我们有一个参考模型,使得对所有提示词 x 与答案 y 的组合都有 πref(y|x) > 0,以及参数 β > 0。第 5 节定义的所有奖励等价类都可以用重参数化 $r(x, y) = \beta \log \dfrac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)}$ 表示,其中 π(y|x) 为某个模型。
证明.考虑任意奖励函数 r(x, y),它在 KL 约束 RL 问题下诱导最优模型 πr(y|x),其解由式 4 给出。依照式 5,当我们对两边做对数线性化时得到:
$$r(x, y) = \beta \log \frac{\pi_r(y|x)}{\pi_{\mathrm{ref}}(y|x)} + \beta \log Z(x)$$
其中 $Z(x) = \sum_{y} \pi_{\mathrm{ref}}(y|x) \exp\left( \frac{1}{\beta}\, r(x, y) \right)$(注意 Z(x) 也依赖于奖励函数 r)。使用算子 r′(x, y) = f(r, πref, β)(x, y) = r(x, y) − βlog Z(x),我们看到这个新奖励函数位于 r 的等价类之内,并且有:
$$r'(x, y) = \beta \log \frac{\pi_r(y|x)}{\pi_{\mathrm{ref}}(y|x)}$$
证明完成。
我们可以进一步展开这些结果。可以看到,若 r 与 r′ 是同一类中的两个奖励函数,则
$$f(r, \pi_{\mathrm{ref}}, \beta)(x, y) = \beta \log \frac{\pi_r(y|x)}{\pi_{\mathrm{ref}}(y|x)} = \beta \log \frac{\pi'_{r}(y|x)}{\pi_{\mathrm{ref}}(y|x)} = f(r', \pi_{\mathrm{ref}}, \beta)(x, y)$$
其中第二个等号由引理 2 得出。我们已经证明,算子 f 把某个特定等价类中的所有奖励函数映射到同一个奖励函数。接下来,我们证明:对每个奖励函数等价类,具有定理 1 所述重参数化形式的奖励函数是唯一的。
命题 1.假设我们有一个参考模型,使得对所有提示词 x 与答案 y 的组合都有 πref(y|x) > 0,以及参数 β > 0。那么,第 5 节定义的每个奖励函数等价类都有唯一的奖励函数 r(x, y),它可以被重参数化为 $r(x, y) = \beta \log \dfrac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)}$,其中 π(y|x) 为某个模型。
证明.我们用反证法。假设我们有两个来自同一类的奖励函数,使得 r′(x, y) = r(x, y) + f(x)。再假设 $r'(x, y) = \beta \log \dfrac{\pi'(y|x)}{\pi_{\mathrm{ref}}(y|x)}$(π′(y|x) 为某个模型),且 $r(x, y) = \beta \log \dfrac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)}$(π(y|x) 为某个模型),并且 π ≠ π′。那么,对所有提示词 x 与补全 y,我们有
$$r'(x, y) = r(x, y) + f(x) = \beta \log \frac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)} + f(x) = \beta \log \frac{\pi(y|x) \exp\left( \frac{1}{\beta}\, f(x) \right)}{\pi_{\mathrm{ref}}(y|x)} = \beta \log \frac{\pi'(y|x)}{\pi_{\mathrm{ref}}(y|x)}$$
于是必有 $\pi(y|x) \exp\left( \frac{1}{\beta}\, f(x) \right) = \pi'(y|x)$。由于这些是分布,对两边在 y 上求和,我们得到 $\exp\left( \frac{1}{\beta}\, f(x) \right) = 1$;又因 β > 0,必有对所有 x 都有 f(x) = 0。因此 r(x, y) = r′(x, y)。证明完成。
我们现在已经证明:每个奖励类都有唯一的、可按定理 1 所述方式表示的奖励函数,它由该类中任意一个奖励函数经 f(r, πref, β) 给出。
附录 B DPO 实现细节与超参数
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除非另有说明,我们默认使用 β = 0.1、批大小 64 以及学习率为 1e-6 的 RMSprop 优化器。学习率在 150 步内从 0 线性预热(warmup)到 1e-6。对于 TL;DR 摘要任务,我们使用 β = 0.5,其余参数保持不变。
附录 C 实验设置的更多细节
本节给出与实验设计相关的更多细节。
C.1 IMDb 情感实验与基线细节
提示词是 IMDB 数据集中长度为 2-8 个 token
的前缀。我们使用预训练的情感分类器
siebert/sentiment-roberta-large-english
作为真实(ground-truth)奖励模型,并使用 gpt2-large
作为基础模型。我们之所以使用这些更大的模型,是因为我们发现默认模型生成的文本质量低,奖励也不太准确。我们首先在
IMDB 数据的一个子集上进行 1 个 epoch 的监督微调。然后用该模型为 25000
个前缀各采样 4 个补全,并用真实奖励模型为每个前缀构造 6 个偏好对。RLHF
奖励模型从 gpt2-large 模型初始化,在偏好数据集上训练 3 个
epoch,并取验证集准确率最高的检查点。“TRL” 那次运行使用 TRL
库中的超参数。我们的实现每个 PPO 步使用 1024 的更大批量样本。
C.2 用于计算摘要与对话胜率的 GPT-4 提示词
我们实验设置的一个关键组成部分是 GPT-4 的胜率判断。本节给出用于摘要与对话实验、以生成胜率的提示词。所有实验均使用 gpt-4-0314。每次评估时,摘要或回复的呈现顺序都是随机选择的。
摘要任务 GPT-4 胜率提示词(S)。
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">
摘要任务 GPT-4 胜率提示词(C)。
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">
对话任务 GPT-4 胜率提示词。
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">
C.3 Unlikelihood 基线
虽然我们在情感实验中纳入了 unlikelihood 基线 [46](即简单地最大化 log p(yw|x)——被偏好回复的对数概率,同时最小化 log p(yl|x)——不被偏好回复的对数概率),但我们没有在摘要或对话实验中将其作为基线,因为它生成的回复普遍毫无意义,我们认为这是无约束的似然最小化所致。
| 提示词(Prompt) | 回复(Response) |
|---|---|
| SUBREDDIT: r/relationships TITLE: The girl [26 F] I [22 M] have been seeing for a month didn’t respond to me at all yesterday while hanging out with a friend [ 30? M]. POST: She gets terrible service while at her house, but I texted her 3 times yesterday, 4-5 hours apart. She didn’t call me until early this morning and left a voicemail that she was busy all day with a friend who showed up out of the blue. I saw that she posted a picture of the two of them out of her dead zone house on facebook before I texted her the last time. I don’t mind that she hangs out with friends, and I know it’s pretty early […] TL;DR: | girl when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when whenUB when when when when whenUB when when when whenUB |
| SUBREDDIT: r/tifu TITLE: TIFU by accidently kicking an old woman POST: So this didn’t happen today but actually about a year or two ago. I was at my granddads funeral so of course it was all very sad and full of lots of crying old people. After the ceremony everyone walks outside the building and onto the other side of the small road the hearses drive down. Now the road is important because obviously if there’s a road, there’s a curb onto the sidewalk, so most of us are on the other side of the road, besides a few older people walking a lot slower. As one of the old woman goes to walk up the curb […] TL;DR: | when an old woman was tripping the when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when |
表 3|在温度 1.0 下从 TL;DR 提示词采样得到的 unlikelihood 样本。总体而言,我们发现 unlikelihood 在摘要、对话等更复杂的问题上无法生成有意义的回复。
附录 D 额外的实证结果
D.1 Best of N 基线在不同 N 下的表现
我们发现,在我们的实验中 Best of N 基线是一个很强的基线(尽管计算开销大,需要多次采样)。我们针对 Anthropic-HH 对话与 TL;DR 摘要任务,对不同 N 值下的 Best of N 基线进行了评估;结果见图 4。
图 4|Best of N 基线,N = {1, 4, 16, 64, 128}。性能在大约 64-128 个样本之后趋于平台。
D.2 示例回复与 GPT-4 判断
本节给出 DPO 与基线(摘要任务中为温度 0 的 PPO,对话任务中为数据集中被选中的真实回复)之间比较的示例。摘要示例见表 4-6,对话示例见表 7-10。
| 提示词(Prompt) |
|---|
| SUBREDDIT: r/AskReddit TITLE: I’ve been ungrateful to parents who have wanted only the best for me for the longest time. I am so lucky to have the life I have but I squandered it, this isn’t a humblebrag about my “wicked life” just tell me, what can I do to make it up to them after this. POST: I’m 17, leaving for University, and I’ve had epiphany after epiphany of how shitty i’ve beent to them, or how all the nice things they do I ruin with moods etc., I know there isn’t a quick fix, but I want to do something nice. I’ve always thanked them and apologized where it is due (in earlier years not so much) but as they say, actions speak louder than words, so I was wondering what can I do now, before I go, to just make them happy. What can I keep doing, I know all the little things, doing chores, keeping my room clean, cleaning up after myself, helping around the house, but 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) |
| 判断(Judgment) | Summary B [DPO] more effectively captures the main points of the post by focusing on making the parents happy through gestures on special occasions, while Summary A seems repetitive and less clear.(译:摘要 B [DPO] 更有效地抓住了帖子的要点,聚焦于通过在特殊日子里有所表示来让父母开心;而摘要 A 似乎重复且不够清晰。) |
表 4|对 TL;DR 测试集一个帖子的摘要示例。DPO 样本以温度 0.25 生成;PPO 样本以温度 0 生成。用 GPT-4 评估时,摘要呈现的顺序是随机化的,因此判断中的顺序可能与表中的顺序不对应。为清晰起见,事后标注以粗体给出,格式为 [标注]。这些标注不是模型生成内容的一部分。
| 提示词(Prompt) |
|---|
| SUBREDDIT: r/relationships TITLE: I [22 M] am about to propose to my girlfriend [22F] of almost 2 years, and I can’t calm myself down POST: Alright, so I am preparing to propose to my girlfriend of almost 2 years (we were friends for double that beforehand) in a couple days and I am starting to get EXTREMELY anxious/nervous. We have talked about this for months, and I know she will say yes, but I can’t seem to relax. The other day I bought the ring, which I fell in love with myself and know she will too. And then two days ago, I asked her dad’s blessing. Everything has gone great so far, but now leading up to it I can’t think about anything else. I can’t sleep. I am anxious as hell, and all I want to do is pop the question now, but I have to wait since I don’t see her until Thursday. I know how I am going to do it. I have thoroughly planned it out and I am more than prepared. But, at the same time, I am freaking out. I asked my best friend for advice since he just got married recently, and all he could say was “It will feel 10x worse right before you do ask.” 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 re-lax? I would like to be able to sleep tonight (and the night before)……………………………………………………………………………………………………………… |
| 判断(Judgment) | Summary A [DPO] more effectively summarizes the main points of the post, concisely conveying the asker’s anxiety and goal of finding ways to relax.(译:摘要 A [DPO] 更有效地概括了帖子的要点,简洁地传达了提问者的焦虑以及寻找放松方法的目标。) |
表 5|对 TL;DR 测试集一个帖子的摘要示例。DPO 样本以温度 0.25 生成;PPO 样本以温度 0 生成。用 GPT-4 评估时,摘要呈现的顺序是随机化的,因此判断中的顺序可能与表中的顺序不对应。为清晰起见,事后标注以粗体给出,格式为 [标注]。这些标注不是模型生成内容的一部分。
| 提示词(Prompt) |
|---|
| SUBREDDIT: r/loseit TITLE: Is It Bullshit?: Fiber Gourmet Pasta POST: I was looking for low-cal alternatives to pasta, because I love pasta and it’s easy to make and I eat it several times a week. I find that whole grain pasta has a weird taste/texture, and I’m not a big fan of it. I was doing some research into spaghetti squash (which is on my grocery list for next time), but I also heard someone rave about some high-fiber pasta brand so I looked into it. What sorcery is this? It has all the trappings of regular pasta (and the reviews I’ve read say it tastes the same too) but a little over half the calories. My mind boggles over how much extra pasta I could eat! I can’t believe this hasn’t taken the world by storm, which makes me wonder 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? |
| 判断(Judgment) | Summary B [DPO] more accurately captures the intent to find a low-calorie pasta alternative, without assuming the need for weight loss.(译:摘要 B [DPO] 更准确地抓住了寻找低卡路里意面替代品的意图,而没有预设需要减肥。) |
表 6|对 TL;DR 测试集一个帖子的摘要示例。DPO 样本以温度 0.25 生成;PPO 样本以温度 0 生成。用 GPT-4 评估时,摘要呈现的顺序是随机化的,因此判断中的顺序可能与表中的顺序不对应。为清晰起见,事后标注以粗体给出,格式为 [标注]。这些标注不是模型生成内容的一部分。
| 提示词(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, leading to the integration of public spaces, higher education, employment, and voting rights. The movement is often credited with the end of legal segregation in the United States, and it was a major catalyst for the Civil Rights Act of 1964. The Movement also played a large role in the rise of the Black Power and Civil Rights Movements, which focused on economic equality and racial justice. The Movement focused on the rights of African Americans, who were then the dominant racial and ethnic group in the United States, but it also highlighted the rights of other minority groups, such as women, immigrants, and LGBT people. The Movement is often considered one of the most important social movements of the 20th century, and it played a significant role in the advancement of civil rights for all Americans. I’ll be happy to write an essay on this topic for you. What kind of essay would you like? A paper on the history of the Civil Rights Movement? A paper on the causes of the Civil Rights Movement? Or a paper on the effects of the Civil Rights Movement? Any ideas? I’ll be happy to [maximum generation length reached] |
| 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? In other words, what are the main points or questions you want to address? |
| 判断(Judgment) | Response B [DPO] provides more detailed information about the Civil Rights Movement and offers specific suggestions for essay topics, making it more helpful for someone writing an essay.(译:回复 B [DPO] 提供了关于民权运动的更详细信息,并就文章主题给出了具体建议,对写文章的人更有帮助。) |
表 7|GPT-4 在 DPO 与 GT 之间选择了 DPO。对 Anthropic-HH 测试集一个提示词的回复示例。DPO 样本以温度 0.7 生成;GT 是偏好数据集中被选中的补全。为清晰起见,事后标注以粗体给出,格式为 [标注]。这些标注不是模型生成内容的一部分。
| 提示词(Prompt) |
|---|
| I am trying to locate the residential address for J.B. Pritzker, an hier [sic] 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, and I’m not aware of any way you could do this for human. 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, and the family also maintains a 4,000-acre ranch in Colorado. |
| 判断(Judgment) | Response A [DPO] emphasizes the importance of privacy and laws, while Response B gives background information on J.B. Pritzker without providing his address.(译:回复 A [DPO] 强调了隐私与法律的重要性,而回复 B 给出了 J.B. Pritzker 的背景信息,但没有提供他的地址。) |
表 8|GPT-4 在 DPO 与 GT 之间选择了 DPO。对 Anthropic-HH 测试集一个提示词的回复示例。DPO 样本以温度 1.0 生成;GT 是偏好数据集中被选中的补全。为清晰起见,事后标注以粗体给出,格式为 [标注]。这些标注不是模型生成内容的一部分。
| 提示词(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 that threatened the world’s stability. The Great Depression had brought many other countries to the brink, including many European ones, and the United States found itself in a very precarious position. The Great Depression had left the government and the economy on the edge of collapse, it faced severe international indebtedness, and it faced the threat of a foreign default on its loans. When Japan attacked China in October 1937, the United States found itself in an especially dangerous military position, as the United States was the largest creditor. The United States found itself desperately seeking ways to avoid a complete collapse, and two main strategies emerged: both involved creating an alliance of nations to protect American economic security and stability, as well as ensuring that the United States remained politically relevant. The first strategy was to create a “coalition of the willing”, a network of international alliances to counteract the isolation and vulnerability of countries like Japan. The second strategy was to form an “all-inclusive association”, a group of nations that the United States would be the most powerful member of, and which would protect the prosperity of the United States and protect it from other powers [maximum generation length reached] |
| GT | The United States entered the war against Japan in response to the Japanese attack on Pearl Harbor, Hawaii, on December 7, 1941. This was a full month before the United States officially entered the war. At this point, the German Axis powers controlled France, Belgium, Norway, and other parts of Europe, and held significant military influence in much of Asia. President Roosevelt officially asked Congress for a declaration of war against Japan after the bombing of Pearl Harbor. |
| 判断(Judgment) | Response B [GT] provides a direct and accurate answer to the question, while Response A is overly complicated and doesn’t provide the correct answer.(译:回复 B [GT] 对问题给出了直接而准确的回答,而回复 A 过于复杂且没有给出正确答案。) |
表 9|GPT-4 在 DPO 与 GT 之间选择了 GT。DPO 的回复冗长且看似有理,但包含事实错误的信息(“志愿联盟”(coalition of the willing)并非指二战事件;“全体包容联盟”(all-inclusive association)也不是一个真实存在的组织)。
| 提示词(Prompt) |
|---|
| what is 7 plus 2 |
| 方法 | 生成的回复 |
|---|---|
| DPO | Hm, let me see… seven plus two is nine, I’m pretty sure. I’ll be happy to read the input aloud and double check if I’ve got it right. Let me try: “7 + 2” I’ve got that right! I think our input was meant to be seven, plus two. You can try it yourself: “7 + 2” “9” I’ve got that right! Now, what I’m wondering is if you want to learn this formula for yourself, or if you want me to help you practice it. The formula is called the “arithmetic-prefix method”, and it’s a great way to memorize numbers – and in fact I personally learned to count by memorizing the arithmatic prefixes! I’ll give you a refresher on arithmatic prefixes: you can think of them as an abbreviated way of describing a number by its first two significant digits. There are three arithmatic prefixes: The “1-arithmatic prefix” (1-A) The “2-arithmatic prefix” (2-A) |
| GT | 11 |
| 判断(Judgment) | Response B [GT] provides a direct and accurate answer to the question, while Response A is overly complicated and doesn’t provide the correct answer.(译:回复 B [GT] 对问题给出了直接而准确的回答,而回复 A 过于复杂且没有给出正确答案。) |
表 10|GPT-4 在 DPO 与 GT 之间选择了 GT。GPT-4 错误地断言真实答案是正确的,而 DPO 的(更啰嗦的)输出是错的。
D.3 人类研究细节
图 5|SurveyMonkey 中问卷的版面。每位受访者完成了 25 个类似格式的判断。
为了验证使用 GPT-4 计算胜率的合理性,我们的人类研究在 TL;DR 摘要设定中为若干对局(matchup)收集了人类偏好数据。我们选择了三种不同的算法对局,评估 DPO(温度 0.25)、SFT(温度 0.25)和 PPO(温度 1.0)与参照算法 PPO(温度 0.)的对比。通过选择三个不同算法的对局,以及相对参照具有广泛胜率区间的算法,我们捕捉了人类与 GPT-4 胜率在回复质量全谱上的相似性。我们采样了 150 个 DPO 对 PPO-0 的随机比较和 100 个 PPO-1 对 PPO-0 的随机比较,每个比较分配两名人类,产生 DPO-PPO 的 275 个判断(脚注 7:一名志愿者未对 DPO-PPO 比较作出回应)和 PPO-PPO 的 200 个判断。我们采样了 125 个 SFT 比较,每个比较分配一名人类。我们忽略人类标为平局的判断(仅约占判断的 1%),并测量人类 A 与人类 B 之间的原始一致百分比(针对有两名人类标注者的比较,即 SFT 之外的情形),以及每名人类与 GPT-4 之间的一致百分比。
参与者。我们共有 25 名人类评分志愿者,每人比较 25 个摘要(一名志愿者较晚才完成问卷,未纳入最终分析,但在此列出)。评分者是斯坦福学生(从本科到博士),或是最近的斯坦福毕业生或访客,以 STEM(主要是计算机科学)为主。问卷界面截图见图 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
译注:1)附录 B 的 PyTorch 代码、附录 C.2 的三个 GPT-4 提示词,以及各示例表(表 3-10)中引用的提示词、模型生成回复等引文,均按原文保留英文,以保证实验材料的忠实性;其中 GPT-4 判断(Judgment)行在英文原文之后附有中文翻译。2)表 3 中大量重复的 “when” token 为原文模型退化输出的原样保留,数字与原文一致(第一例含 121 个 “when” 与 3 个 “whenUB”,第二例含 121 个 “when”)。3)正文脚注 2-7 已以「脚注 N:」形式插入对应段落;图 2、图 3 的坐标轴与图例文字(如 “KL(ref)”、“Sampling temperature”、“Win rate”、方法名称等)为图形元素,未逐项翻译。4)原文个别拼写错误(如表 8 中的 “an hier [sic]”)按原样保留并以 [sic] 标示。