Direct Preference Optimization: Your Language Model is Secretly a Reward Model
文章标题:直接偏好优化:你的语言模型秘密地是一个奖励模型
作者/机构:Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, Chelsea Finn (Stanford University, CZ Biohub)
A1 主要贡献
- 核心问题:大规模无监督语言模型(LMs)学习了广泛的世界知识和一定的推理能力,但由于其训练方式完全无监督,精确控制其行为非常困难。例如,我们希望模型了解常见的编程错误以便纠正,但不希望它在生成代码时模仿这些错误。因此,从模型广泛的知识和能力中选择我们期望的响应和行为,对于构建安全、高性能和可控的AI系统至关重要。
- 现有方法及其缺陷:现有方法通常使用基于人类反馈的强化学习(RLHF)来引导语言模型以符合人类偏好。RLHF首先拟合一个反映人类偏好的奖励模型,然后使用强化学习微调大型无监督LM,以最大化这个估计的奖励,同时避免与原始模型偏离太远。然而,RLHF是一个复杂且通常不稳定的过程,涉及训练多个LM,并在训练循环中从LM策略中采样,这带来了显著的计算成本。
- 本文贡献:直接偏好优化(DPO):本文提出了一种名为直接偏好优化(DPO)的新算法,它无需显式的奖励建模或强化学习,就能直接优化语言模型以遵循人类偏好。DPO通过对RLHF中的奖励模型进行新的参数化,使得能够以封闭形式提取出相应的最优策略,从而仅用一个简单的分类损失就能解决标准的RLHF问题。
- 方法创新:DPO的关键思想是利用奖励函数到最优策略的解析映射,将关于奖励函数的损失函数转换为关于策略的损失函数。这避免了拟合一个独立的奖励模型,而是让策略网络同时代表语言模型和隐式的奖励模型。DPO更新会增加偏好响应相对于不偏好响应的对数概率,并通过一个动态的、逐样本的重要性权重来防止模型退化。
- 算法优势:DPO算法稳定、性能优越且计算轻量,消除了在微调期间从LM采样的需求,也无需进行大量的超参数调整。实验表明,DPO在使LM与人类偏好对齐方面,其效果与现有方法相当或更好,甚至在控制情感生成方面超过了基于PPO的RLHF,同时在摘要和单轮对话任务中匹配或改进了响应质量,且实现和训练过程要简单得多。
A3 背景知识
我们回顾了Ziegler等人【索引51,Fine-tuning language models from human preferences,2020】(以及后来的【索引40,Learning to summarize from human feedback,2022】,【索引1,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】,【索引28,Training language models to follow instructions with human feedback,2022】)中的RLHF流程。它通常包括三个阶段:1)监督微调(SFT);2)偏好采样和奖励学习;3)强化学习优化。
- 监督微调(SFT):RLHF通常从使用监督学习在高质数据上对预训练的LM进行微调开始,针对下游任务(如对话、摘要等),以获得一个模型 $\pi^{SFT}$。
- 奖励建模阶段:在第二阶段,SFT模型被提示(prompt)$x$ 以产生一对答案 $(y_1, y_2) \sim \pi^{SFT}(y|x)$。然后将这些答案呈现给人类标注者,他们表达对其中一个答案的偏好,记为 $y_w \succ y_l | x$,其中 $y_w$ 和 $y_l$ 分别表示 $(y_1, y_2)$ 中受偏好的和不受偏好的完成。这些偏好被假定是由某个我们无法访问的潜在奖励模型 $r^*(y, x)$ 生成的。有多种方法用于建模偏好,Bradley-Terry (BT) 模型【索引5,Rank analysis of incomplete block designs: I. the method of paired comparisons. Biometrika, 1952】是一个流行的选择(尽管更通用的Plackett-Luce排名模型【索引32,The analysis of permutations. Journal of the Royal Statistical Society. Series C (Applied Statistics), 1975】,【索引23,Individual choice behavior: A theoretical analysis. Courier Corporation, 2012】如果我们可以访问多个排名答案,也与该框架兼容)。BT模型规定人类偏好分布 $p^*$可以写成:
公式1 - 奖励模型训练:假设可以访问从 $p^*$ 中采样的静态比较数据集 $\mathcal{D} = \{x^{(i)}, y_w^{(i)}, y_l^{(i)}\}_{i=1}^N$,我们将问题构建为二元分类,其负对数似然损失为:
公式2
其中 $\sigma$ 是 logistic 函数。在LM的背景下,网络 $r_\phi(x, y)$ 通常从SFT模型 $\pi^{SFT}(y|x)$ 初始化,并在最后的transformer层之上增加一个线性层,该层产生奖励值的单个标量预测【索引51,Fine-tuning language models from human preferences,2020】。为了确保奖励函数的方差较低,先前的工作对奖励进行归一化,使得对于所有 $x$,$\mathbb{E}_{x,y \sim \mathcal{D}}[r_\phi(x, y)] = 0$。 - 强化学习微调阶段:在RL阶段,学习到的奖励函数用于向语言模型提供反馈。遵循先前的工作【索引17,Sequence tutor: Conservative fine-tuning of sequence generation models with kl-control. International Conference on Machine Learning, 2017】,【索引18,Human-centric dialog training via offline reinforcement learning. arXiv preprint arXiv:2010.05848, 2020】,优化问题被表述为:
公式3
其中 $\beta$ 是一个控制与基础参考策略 $\pi_{ref}$(即初始SFT模型 $\pi^{SFT}$)偏离程度的参数。在实践中,语言模型策略 $\pi_\theta$ 也被初始化为 $\pi^{SFT}$。增加的约束很重要,因为它防止模型偏离奖励模型准确的分布太远,同时保持生成多样性并防止模式崩溃到单个高奖励答案。由于语言生成的离散性,该目标不可微,通常使用强化学习进行优化。标准方法【索引51,Fine-tuning language models from human preferences,2020】,【索引40,Learning to summarize from human feedback,2022】,【索引1,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】,【索引28,Training language models to follow instructions with human feedback,2022】是构建奖励函数 $r(x, y) = r_\phi(x, y) - \beta(\log \pi_\theta(y | x) - \log \pi_{ref}(y | x))$,并使用PPO【索引39,Proximal policy optimization algorithms, 2017】进行最大化。
A2 方法细节
4 直接偏好优化
-
目标与核心洞见:受强化学习算法在诸如微调语言模型等大规模问题上应用的挑战所驱动,我们的目标是推导一种直接使用偏好进行策略优化的简单方法。与先前的RLHF方法(学习奖励然后通过RL优化)不同,我们的方法利用了一种特定的奖励模型参数化选择,使其最优策略能够以封闭形式提取,而无需RL训练循环。正如我们接下来将详细描述的,我们的关键洞见是利用从奖励函数到最优策略的分析映射,这使我们能够将奖励函数的损失函数转换为策略的损失函数。这种变量替换方法避免了拟合一个显式的、独立的奖励模型,同时仍然在现有的人类偏好模型(如Bradley-Terry模型)下进行优化。实质上,策略网络既代表了语言模型,也代表了(隐式的)奖励。
-
推导DPO目标:我们从与先前工作相同的RL目标(公式3)开始,考虑一个通用的奖励函数 $r$。遵循先前的工作【索引31,Reinforcement learning by reward-weighted regression for operational space control. In Proceedings of the 24th international conference on Machine learning, 2007】,【索引30,Advantage-weighted regression: Simple and scalable off-policy reinforcement learning. arXiv preprint arXiv:1910.00177, 2019】,【索引19,On reinforcement learning and distribution matching for fine-tuning language models with no catastrophic forgetting. In Advances in Neural Information Processing Systems, 2022】,【索引15,Aligning language models with preferences through f-divergence minimization. In Proceedings of the 40th International Conference on Machine Learning, 2023】,可以很简单地证明,KL约束的奖励最大化目标(公式3)的最优解形式如下:
公式4
其中 $Z(x) = \sum_y \pi_{ref}(y|x) \exp(\frac{1}{\beta} r(x, y))$ 是配分函数。完整的推导见附录A.1。即使我们使用真实奖励函数 $r^*$ 的最大似然估计 $r_\phi$,估计配分函数 $Z(x)$ 仍然是昂贵的【索引19,On reinforcement learning and distribution matching for fine-tuning language models with no catastrophic forgetting. In Advances in Neural Information Processing Systems, 2022】,【索引15,Aligning language models with preferences through f-divergence minimization. In Proceedings of the 40th International Conference on Machine Learning, 2023】,这使得该表示在实践中难以利用。然而,我们可以重新排列公式4,用其对应的最优策略 $\pi_r$、参考策略 $\pi_{ref}$ 和未知的配分函数 $Z(\cdot)$ 来表示奖励函数。具体来说,我们首先对公式4的两边取对数,然后通过一些代数运算得到:
公式5 -
将重参数化应用于偏好模型:我们可以将此重参数化应用于真实奖励 $r^*$ 及其对应的最优模型 $\pi^*$。幸运的是,Bradley-Terry模型仅依赖于两个完成之间奖励的差异,即 $p^*(y_1 \succ y_2|x) = \sigma(r^*(x, y_1) - r^*(x, y_2))$。将公式5中 $r^*(x, y)$ 的重参数化代入偏好模型公式1,配分函数被消去,我们可以仅用最优策略 $\pi^*$ 和参考策略 $\pi_{ref}$ 来表示人类偏好概率。因此,在Bradley-Terry模型下,最优的RLHF策略 $\pi^*$ 满足偏好模型:
公式6
推导过程在附录A.2中。虽然公式6使用了Bradley-Terry模型,我们也可以在更通用的Plackett-Luce模型【索引32,The analysis of permutations. Journal of the Royal Statistical Society. Series C (Applied Statistics), 1975】,【索引23,Individual choice behavior: A theoretical analysis. Courier Corporation, 2012】下推导出类似的表达式,如附录A.3所示。 -
DPO的损失函数:现在我们已经用最优策略而不是奖励模型来表示人类偏好数据的概率,我们可以为参数化策略 $\pi_\theta$ 构建一个最大似然目标。类似于奖励建模方法(即公式2),我们的策略目标变为:
公式7
通过这种方式,我们使用一种替代的参数化方法来拟合一个隐式奖励,其最优策略就是 $\pi_\theta$。此外,由于我们的过程等同于拟合一个重参数化的Bradley-Terry模型,它享有某些理论特性,例如在偏好数据分布的适当假设下的收敛性【索引4,Generalized results for the existence and consistency of the MLE in the Bradley-Terry-Luce model. International Conference on Machine Learning, 2022】。在第5节中,我们进一步讨论DPO与其他工作相关的理论特性。 -
DPO更新的机制:为了从机制上理解DPO,分析损失函数 $\mathcal{L}_{\text{DPO}}$ 的梯度是很有用的。关于参数 $\theta$ 的梯度可以写成:
公式8
其中 $\hat{r}_\theta(x, y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{ref}(y|x)}$ 是由语言模型 $\pi_\theta$ 和参考模型 $\pi_{ref}$ 隐式定义的奖励(更多细节在第5节)。直观上,损失函数 $\mathcal{L}_{\text{DPO}}$ 的梯度增加了偏好完成 $y_w$ 的似然性,并降低了不偏好完成 $y_l$ 的似然性。重要的是,样本的权重取决于隐式奖励模型 $\hat{r}_\theta$ 对不偏好完成的评分高出多少,并由 $\beta$ 缩放,即隐式奖励模型对完成排序的错误程度,同时考虑了KL约束的强度。我们的实验表明这种加权的重要性,因为没有加权系数的朴素版本方法可能导致语言模型退化(附录表3)。 -
DPO流程概述:通用的DPO流程如下:1) 对于每个提示 $x$,从 $\pi_{ref}(\cdot | x)$ 中采样完成 $y_1, y_2$,并用人类偏好进行标注,以构建离线偏好数据集 $\mathcal{D} = \{x^{(i)}, y_w^{(i)}, y_l^{(i)}\}_{i=1}^N$。2) 针对给定的 $\pi_{ref}$、$\mathcal{D}$ 和期望的 $\beta$,优化语言模型 $\pi_\theta$ 以最小化 $\mathcal{L}_{\text{DPO}}$。在实践中,人们希望重用公开可用的偏好数据集,而不是生成样本和收集人类偏好。由于偏好数据集是使用 $\pi^{SFT}$ 采样的,所以当 $\pi^{SFT}$ 可用时,我们初始化 $\pi_{ref} = \pi^{SFT}$。然而,当 $\pi^{SFT}$ 不可用时,我们通过最大化偏好完成 $(x, y_w)$ 的似然来初始化 $\pi_{ref}$,即 $\pi_{ref} = \arg\max_\pi \mathbb{E}_{x,y_w \sim \mathcal{D}}[\log \pi(y_w | x)]$。这个过程有助于减轻不可用的真实参考分布与DPO使用的 $\pi_{ref}$ 之间的分布偏移。更多关于实现和超参数的细节可以在附录B中找到。
A3 关键Observation/设计原则
5 DPO的理论分析
在本节中,我们进一步解读DPO方法,提供理论支持,并将DPO的优势与用于RLHF的行动者-评论家算法(如PPO【索引39,Proximal policy optimization algorithms, 2017】)存在的问题联系起来。
5.1 你的语言模型秘密地是一个奖励模型
- DPO的核心机制:DPO能够通过单一的最大似然目标绕过显式奖励拟合和执行RL来学习策略。请注意,优化目标公式5等同于一个奖励参数化为 $r^*(x, y) = \beta \log \frac{\pi^*_\theta(y|x)}{\pi_{ref}(y|x)}$ 的Bradley-Terry模型,并且我们优化我们的参数模型 $\pi_\theta$,这在变量替换下等同于公式2中的奖励模型优化。在本节中,我们将建立这种重参数化背后的理论,证明它不会限制学习到的奖励模型的类别,并允许精确恢复最优策略。我们首先定义奖励函数之间的等价关系。
- 奖励函数等价性定义:定义1。我们说两个奖励函数 $r(x, y)$ 和 $r'(x, y)$ 是等价的,当且仅当 $r(x, y) - r'(x, y) = f(x)$ 对于某个函数 $f$ 成立。很容易看出这确实是一个等价关系,它将奖励函数集合划分为多个类别。
- 关于等价性的两个引理:我们可以陈述以下两个引理:
- 引理1:在Plackett-Luce,特别是Bradley-Terry偏好框架下,来自同一等价类的两个奖励函数会导出相同的偏好分布。
- 引理2:在约束RL问题下,来自同一等价类的两个奖励函数会导出相同的最优策略。
- 引理的证明和意义:证明是直接的,我们将其放在附录A.5中。第一个引理是Plackett-Luce模型族中一个众所周知的欠定问题【索引32,The analysis of permutations. Journal of the Royal Statistical Society. Series C (Applied Statistics), 1975】。由于这种欠定性,我们通常必须施加额外的可识别性约束,才能对公式2的最大似然估计获得任何保证【索引4,Generalized results for the existence and consistency of the MLE in the Bradley-Terry-Luce model. International Conference on Machine Learning, 2022】。第二个引理指出,同一等价类中的所有奖励函数都会产生相同的最优策略,因此对于我们的最终目标,我们只关心从最优等价类中恢复任意一个奖励函数。
- DPO重参数化的普适性:我们在附录A.6中证明了以下定理:
- 定理1:在温和的假设下,所有与Plackett-Luce(特别是Bradley-Terry)模型一致的奖励类别都可以通过重参数化 $r(x, y) = \beta \log \frac{\pi(y|x)}{\pi_{ref}(y|x)}$ 来表示,其中 $\pi(y|x)$ 是某个模型,$\pi_{ref}(y|x)$ 是给定的参考模型。
-
定理1的证明思路:考虑任意奖励函数 $r(x, y)$,它导出一个对应的最优模型 $\pi_r(y|x)$,由公式4指定。我们将证明 $r$ 的等价类中的一个奖励函数可以用上述重参数化表示。我们定义投影 $f$ 为:
公式9
操作符 $f$ 只是用 $\pi_r$ 的配分函数的对数来归一化奖励函数。由于增加的归一化项只是前缀 $x$ 的函数,所以 $f(r; \pi_{ref}, \beta)(x, y)$ 是 $r(x, y)$ 等价类中的一个奖励函数。最后,将公式5的右侧(对任何奖励函数都成立)替换 $r$,我们得到 $f(r; \pi_{ref}, \beta)(x, y) = \beta \log \frac{\pi_r(y|x)}{\pi_{ref}(y|x)}$。也就是说,投影 $f$ 产生了 $r$ 的等价类中一个具有所需形式的成员,并且我们提出的重参数化没有损失奖励模型的任何通用性。 -
DPO选择的特定奖励函数:我们也可以将定理1看作是精确指定了DPO重参数化在每个等价类中选择的奖励函数,即满足以下条件的奖励函数:
公式10
即 $\pi(y|x)$ 是一个有效的分布(概率为正且总和为1)。然而,根据公式4,我们可以看到公式9是奖励函数 $r(x, y)$ 导出的最优策略的配分函数。DPO算法的关键洞见是,我们可以对欠定的Plackett-Luce(特别是Bradley-Terry)偏好模型族施加某些约束,这样我们既保留了可表示的奖励模型的类别,又明确地使公式4中的最优策略对于所有提示 $x$ 都是解析可解的。
5.2 行动者-评论家算法的不稳定性
- 从控制即推断视角分析RLHF:我们也可以使用我们的框架来诊断用于RLHF的标准行动者-评论家算法(如PPO)的不稳定性。我们遵循RLHF流程,并关注第3节中概述的RL微调步骤。我们可以将其与约束RL问题的控制即推断框架【索引22,Reinforcement learning and control as probabilistic inference: Tutorial and review, 2018】联系起来。我们假设一个参数化模型 $\pi_\theta(y|x)$ 并最小化 $D_{KL}[\pi_\theta(y|x) || \pi^*(y|x)]$,其中 $\pi^*$ 是由奖励函数 $r_\phi(y, x)$ 导出的公式7中的最优策略。经过一些代数运算,这导致了优化目标:
公式11 - DPO与传统RLHF方法的对比:这是先前工作【索引51,Fine-tuning language models from human preferences,2020】,【索引40,Learning to summarize from human feedback,2022】,【索引1,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】,【索引28,Training language models to follow instructions with human feedback,2022】中使用与DPO等价的 $r_\phi$ 奖励类别的奖励所优化的相同目标。在这种情况下,我们可以将 $f(r_\phi, \pi_{ref}, \beta)$ 中的归一化项解释为参考策略 $\pi_{ref}$ 的软价值函数。虽然该项不影响最优解,但没有它,该目标的策略梯度可能会有高方差,使学习不稳定。我们可以使用学习到的价值函数来处理归一化项,但这也很难优化。另外,先前的工作使用人类完成基线来归一化奖励,这本质上是归一化项的单样本蒙特卡洛估计。相比之下,DPO重参数化产生了一个不需要任何基线的奖励函数。
A4 实验环境
-
任务与数据集:
- 受控情感生成: 使用IMDb数据集【索引24,Learning word vectors for sentiment analysis. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, 2011】的电影评论前缀作为提示 $x$,策略需要生成具有积极情感的文本 $y$。使用预训练的情感分类器生成偏好对。
- 摘要: 使用Reddit TL;DR摘要数据集【索引43,TL;DR: Mining Reddit to learn automatic summarization. In Proceedings of the Workshop on New Frontiers in Summarization, 2017】,其中 $x$ 是Reddit论坛帖子,策略需生成摘要 $y$。使用Stiennon等人【索引40,Learning to summarize from human feedback,2022】收集的人类偏好数据。
- 单轮对话: 使用Anthropic的“有用与无害”(Helpful and Harmless)对话数据集【索引1,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】,包含17万次人机对话。策略需对用户查询 $x$ 生成有吸引力且有帮助的响应 $y$。
-
模型架构:
- 情感生成: 使用
gpt2-large
作为基础模型。SFT模型在IMDb训练集上微调。 - 摘要: 使用在人类编写的摘要上微调过的GPT-J SFT模型。
- 对话: 使用预训练的
Pythia-2.8B
【索引3,Pythia: A suite for analyzing large language models across training and scaling, 2023】模型。由于没有现成的SFT模型,通过在偏好数据中的首选完成上进行微调来创建SFT模型。
- 情感生成: 使用
-
硬件配置: 论文中未明确列出具体的硬件配置,但提及实验计算资源部分由斯坦福基础模型研究中心(CRFM)提供,暗示使用了GPU集群。
-
软件配置:
- 实现与依赖库: DPO的PyTorch实现代码在附录B中提供。摘要任务中的SFT模型使用了TRLX框架【索引44,CarperAI/trlx: v0.6.0: LLaMa (Alpaca), Benchmark Util, T5 ILQL, Tests, 2023】。优化器使用RMSprop。
- 评估工具: 使用GPT-4(
gpt-4-0314
)作为人类评估的代理,用于评估摘要质量和响应的有用性。
A4 实验结果
-
评估方法:
- 在受控情感生成任务中,由于有真实的奖励函数(情感分类器),通过绘制奖励-KL散度前沿来评估算法在优化约束奖励最大化目标上的效率。
- 在摘要和单轮对话任务中,由于没有真实奖励函数,通过与基线策略(测试集中的参考摘要或首选响应)的胜率来评估算法性能,并使用GPT-4作为评估器。同时,进行了一项人类研究来验证GPT-4判断的可靠性。
-
对比方法:
- DPO: 本文提出的方法。
- Zero-shot prompting: 使用GPT-J或Pythia-2.8B进行零样本或少样本提示。
- SFT: 监督微调后的基线模型。
- Preferred-FT: 仅在偏好数据中被选中的完成上进行监督微调。
- Unlikelihood: 最大化首选响应概率,同时最小化非首选响应概率【索引46,Neural text generation with unlikelihood training. arXiv preprint arXiv:1908.04319, 2019】。
- PPO: 使用从偏好数据中学到的奖励函数进行近端策略优化。
- PPO-GT: 能够访问真实奖励函数的PPO(预言机基线)。
- Best of N: 从SFT模型中采样N个响应,并使用学到的奖励函数选择得分最高的响应。
-
实验一:DPO优化RLHF目标的效率如何?
- 内容:在情感生成任务中,比较了DPO、PPO、PPO-GT等算法的奖励-KL散度前沿。
- 结果:DPO产生了迄今为止最高效的前沿,即在相同的KL散度下实现了最高的奖励。DPO的奖励/KL权衡严格优于PPO,甚至优于能够访问真实奖励的PPO-GT。这表明DPO在优化相同的RLHF目标时比PPO更有效率。
- 图表引用:如图2(左)所示。
图2:左图:预期奖励与参考策略的KL散度前沿。DPO在所有KL值上都提供了最高的预期奖励,展示了优化的质量。右图:TL;DR摘要任务中与人类编写摘要的胜率,使用GPT-4作为评估器。DPO在摘要任务上超过了PPO的最佳表现,同时对采样温度的变化更具鲁棒性。 -
实验二:DPO能否扩展到真实的偏好数据集?
- 内容:在摘要和单轮对话任务上评估DPO的微调性能。
- 结果 (摘要):DPO在TL;DR摘要任务上,对GPT-J进行微调后,胜率约为61%,超过了PPO的最佳表现(57%)和Best of N基线。DPO对采样温度的鲁棒性也远强于PPO。在人类评估中,DPO的样本有58%的时间被认为优于PPO的样本。
- 结果 (对话):在Anthropic HH对话任务上,DPO是唯一一个在计算效率高的情况下,性能优于数据集中首选完成的方法。其性能与计算成本高昂的Best of 128基线相当或更好。DPO能相对较快地收敛到最佳性能。
- 图表引用:如图2(右)和图3所示。
图3:左图:由GPT-4计算的Anthropic-HH单步对话胜率;DPO是唯一一种在Anthropic-HH测试集中表现优于已选摘要的方法。右图:训练过程中不同采样温度的胜率。DPO相对于数据集标签的改进在不同采样温度的训练过程中相当稳定。 -
实验三:对新输入分布的泛化能力
- 内容:将在Reddit TL;DR上训练的PPO和DPO模型,迁移到新的CNN/DailyMail新闻文章数据集上进行评估。
- 结果:DPO在新分布上的表现继续显著优于PPO,这初步证明DPO策略具有与PPO策略相当的泛化能力,尽管DPO没有使用PPO所使用的额外未标记的Reddit TL;DR提示。
- 图表引用:如表1所示。
表1:与CNN/DailyMail输入文章的真实摘要相比,GPT-4的胜率。 -
实验四:通过人类判断验证GPT-4的判断
- 内容:在TL;DR摘要任务中进行了一项人类研究,以验证GPT-4判断的可靠性。
- 结果:人类与GPT-4的判断一致性,与人类之间的一致性水平相当。这表明GPT-4是人类评估的一个合理代理。研究还发现,使用要求“简洁”的提示(GPT-4 (C))能产生更符合人类偏好的胜率。
- 图表引用:如表2所示。
表2:比较人类和GPT-4在TL;DR摘要样本上的胜率和逐项判断一致性。人类与GPT-4的一致性与他们彼此之间的一致性大致相同。每个实验都将指定方法的摘要与温度为0的PPO摘要进行比较。
A5 结论
- 论文总结:从偏好中学习是训练有能力、对齐的语言模型的强大且可扩展的框架。本文介绍了DPO,一种无需强化学习即可从偏好中训练语言模型的简单训练范式。DPO没有将偏好学习问题强行转化为标准的RL设置以使用现成的RL算法,而是识别了语言模型策略和奖励函数之间的映射关系,从而能够直接通过一个简单的交叉熵损失来训练语言模型以满足人类偏好,无需强化学习且不失通用性。在几乎没有超参数调整的情况下,DPO的性能与现有基于PPO的RLHF算法相当或更好,从而显著降低了从人类偏好中训练语言模型的门槛。
- 局限性与未来工作:
- 与学习显式奖励函数相比,DPO策略在分布外的泛化能力如何?初步结果表明DPO策略可以与基于PPO的模型类似地泛化,但需要更全面的研究。
- 奖励过度优化在直接偏好优化设置中如何体现?
- 将DPO扩展到规模大几个数量级的最先进模型上是一个令人兴奋的未来工作方向。
- 关于评估,研究发现GPT-4计算的胜率受提示词影响;未来工作可以研究从自动化系统中引出高质量判断的最佳方式。
- DPO除了从人类偏好中训练语言模型外,还存在许多可能的应用,包括训练其他模态的生成模型。
A6 附录
A 数学推导
A.1 推导KL约束奖励最大化目标的最优解
- 推导过程:本附录推导了公式4。我们优化以下目标:
公式12
在任何奖励函数 $r(x, y)$、参考模型 $\pi_{ref}$ 和通用的非参数策略类别下。展开后得到:
公式13
其中配分函数为:
公式14
配分函数仅是 $x$ 和 $\pi_{ref}$ 的函数,不依赖于策略 $\pi$。定义:
公式15
这是一个有效的概率分布。最终目标可以重写为:
公式16
公式17
由于 $Z(x)$ 不依赖于 $\pi$,最小值通过最小化第一个KL项来实现。根据吉布斯不等式,当两个分布相同时,KL散度最小为0。因此,最优解为:
公式18
A.2 在Bradley-Terry模型下推导DPO目标
- 推导过程:在Bradley-Terry偏好模型下推导DPO目标是直接的:
公式19
在第4节中,我们展示了可以通过其对应的最优策略来表达(不可用的)真实奖励:
公式20
将公式17代入公式16,我们得到:
公式21
最后一行是公式7中每个实例的损失。
A.3 在Plackett-Luce模型下推导DPO目标
- Plackett-Luce模型:Plackett-Luce模型【索引32,The analysis of permutations. Journal of the Royal Statistical Society. Series C (Applied Statistics), 1975】,【索引23,Individual choice behavior: A theoretical analysis. Courier Corporation, 2012】是Bradley-Terry模型在排名(而不仅仅是成对比较)上的推广。它规定,当面对一组K个答案 $y_1, ..., y_K$ 时,用户会输出一个排列 $\tau$,给出他们对答案的排名。该模型规定:
公式22
当 $K=2$ 时,该公式简化为Bradley-Terry模型。对于通用的Plackett-Luce模型,我们仍然可以利用公式5的结果,并用其最优策略参数化的奖励函数进行替换。与附录A.2类似,归一化常数 $Z(x)$ 被消去,我们剩下:
公式23 - 损失函数:与第4节的方法类似,如果我们有一个包含提示和用户指定排名的数据集 $\mathcal{D} = \{\tau^{(i)}, y_1^{(i)}, ..., y_K^{(i)}, x^{(i)}\}_{i=1}^N$,我们可以使用参数化的损失:
公式24
A.4 推导DPO目标的梯度
- 推导过程:本节我们推导DPO目标的梯度:
公式25
我们可以将方程21的右侧重写为:
公式26
其中 $u = \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)} - \beta \log \frac{\pi_\theta(y_w|x)}{\pi_{ref}(y_w|x)}$。利用sigmoid函数的性质 $\sigma'(x) = \sigma(x)(1 - \sigma(x))$ 和 $\sigma(-x) = 1 - \sigma(x)$,我们得到最终的梯度:
公式27
在使用奖励替换 $\hat{r}_\theta(x, y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{ref}(y|x)}$ 后,我们得到了第4节中梯度的最终形式。
A.5 引理1和2的证明
- 引理1证明:来自同一等价类的两个奖励函数 $r(x, y)$ 和 $r'(x, y) = r(x, y) + f(x)$,在Plackett-Luce模型下会导出相同的偏好分布,因为在计算概率时,$\exp(r'(x, y)) = \exp(r(x, y))\exp(f(x))$,而 $\exp(f(x))$ 项在分子分母中会被约掉。
公式28 - 引理2证明:两个等价的奖励函数 $r'(x, y) = r(x, y) + f(x)$ 会导出相同的最优策略。根据公式4,最优策略 $\pi_{r'}$ 为:
公式29
$\exp(\frac{1}{\beta}f(x))$ 项在分子分母中被约掉,因此 $\pi_{r'} = \pi_r$。
A.6 定理1的证明
- 定理1重述:假设我们有一个参考模型,使得对所有提示 $x$ 和答案 $y$ 的配对,$\pi_{ref}(y|x) > 0$,且参数 $\beta > 0$。那么所有在第5节中定义的奖励等价类,都可以通过重参数化 $r(x, y) = \beta \log \frac{\pi(y|x)}{\pi_{ref}(y|x)}$ 来表示,其中 $\pi(y|x)$ 是某个模型。
- 证明:考虑任意奖励函数 $r(x, y)$,它在KL约束的RL问题下导出一个最优模型 $\pi_r(y|x)$。根据公式5,我们有:
公式30
其中 $Z(x) = \sum_y \pi_{ref}(y|x) \exp(\frac{1}{\beta} r(x, y))$。使用操作符 $r'(x, y) = f(r, \pi_{ref}, \beta)(x, y) = r(x, y) - \beta \log Z(x)$,我们看到这个新的奖励函数在 $r$ 的等价类内,并且我们有:
公式31
这完成了证明。 - 唯一性:我们进一步证明,对于每个奖励等价类,满足该重参数化形式的奖励函数是唯一的(命题1)。如果两个等价的奖励函数 $r$ 和 $r'$ 都能被这种形式表示,那么它们的差值 $f(x)$ 必须为0,因此 $r=r'$。
B DPO实现细节和超参数
- DPO损失的PyTorch代码:
def dpo_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, beta):
"""
pi_logps: 策略的对数概率, shape (B,)
ref_logps: 参考模型的对数概率, shape (B,)
yw_idxs: 偏好完成的索引 in [0, B-1], shape (T,)
yl_idxs: 不偏好完成的索引 in [0, B-1], shape (T,)
beta: 控制KL惩罚强度的温度
每对 (yw_idxs[i], yl_idxs[i]) 代表一个偏好对的索引。
"""
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$,批量大小为64,优化器为RMSprop,学习率为1e-6。学习率在150步内从0线性预热到1e-6。对于TL;DR摘要任务,使用 $\beta = 0.5$,其他参数保持不变。
C 实验设置的进一步细节
- IMDb情感实验细节:提示是来自IMDb数据集长度为2-8个token的前缀。使用预训练的情感分类器
siebert/sentiment-roberta-large-english
作为真实奖励模型,gpt2-large
作为基础模型。首先在IMDb数据子集上进行1个epoch的监督微调。然后用这个模型为25000个前缀采样4个完成,并使用真实奖励模型为每个前缀创建6个偏好对。 - GPT-4提示词:
- 摘要 (S - 简单): "以下哪个摘要更好地总结了给定论坛帖子中的最重要信息点?..."
- 摘要 (C - 简洁): "以下哪个摘要更好地总结了给定论坛帖子中的最重要信息点,同时没有包含不重要或不相关的细节?一个好的摘要既精确又简洁。..."
- 对话: "对于以下对聊天机器人的查询,哪个响应更有帮助?..."
-
Unlikelihood基线:在情感实验中包含了unlikelihood基线,但在摘要和对话实验中没有包含,因为它产生的响应通常没有意义,这被认为是无约束的似然最小化导致的结果。如表3所示。
表3:在温度1.0下从TL;DR提示中采样的Unlikelihood样本。总的来说,我们发现unlikelihood在更复杂的问题如摘要和对话中无法生成有意义的响应。
D 额外的实验结果
- Best of N基线性能:Best of N是一个强大的基线,但计算成本高。在Anthropic-HH对话和TL;DR摘要任务中,其性能大约在采样64-128个样本后趋于平稳。
图4:N = {1, 4, 16, 64, 128}时的Best of N基线。性能在大约64-128个样本后趋于平稳。 - 样本响应和GPT-4判断:附录提供了DPO与基线(PPO或数据集中的真实选择)的比较示例。
- 摘要示例:表4-6展示了DPO和PPO生成的摘要,以及GPT-4的判断。
TL;DR摘要胜率与参考对比
表4:TL;DR测试集帖子的样本摘要。DPO样本在温度0.25下生成;PPO样本在温度0下生成。
表5:TL;DR测试集帖子的样本摘要。DPO样本在温度0.25下生成;PPO样本在温度0下生成。
表6:TL;DR测试集帖子的样本摘要。DPO样本在温度0.25下生成;PPO样本在温度0下生成。 - 对话示例:表7-10展示了DPO与数据集中真实选择(GT)的响应对比。有些情况下GPT-4更偏好DPO(表7,8),有些情况则不然,例如DPO的回答包含事实错误(表9)或GPT-4自身判断有误(表10)。
表7:GPT-4选择DPO而非GT。
表8:GPT-4选择DPO而非GT。
表9:GPT-4选择GT而非DPO。DPO的回答虽然详细且貌似合理,但包含事实错误。
表10:GPT-4选择GT而非DPO。GPT-4错误地声称真实选择是正确的,而DPO的(更详细的)输出是错误的。
- 摘要示例:表4-6展示了DPO和PPO生成的摘要,以及GPT-4的判断。
- 人类研究细节:为了验证GPT-4的使用,进行了一项人类研究,收集了TL;DR摘要设置中的人类偏好数据。共有25名志愿者参与,主要是斯坦福大学具有STEM背景的学生。研究发现人类之间的协议率与人类和GPT-4之间的协议率相似,从而支持了GPT-4作为评估代理的有效性。
摘要评估界面
图5:SurveyMonkey中的调查布局。每位受访者完成了25个类似格式的判断。
💬 评论讨论
欢迎在这里分享您的想法和见解!