摘要
本文针对语言模型的偏好对齐算法进行研究,尽管这些算法已经展示了积极的效果,但监督式微调(Supervised Fine-Tuning, SFT)对于实现成功的收敛仍然是必要的。在本文中,我们研究了SFT在偏好对齐中的关键作用,并强调对不受欢迎的生成风格施加轻微的惩罚就足以进行偏好对齐的SFT。基于这一基础,我们提出了一种直接且创新的无参考模型的单体赔率比偏好优化算法(ORPO),从而省略了额外的偏好对齐阶段。我们从理论和实证两个层面展示了在不同大小的模型(从125M到7B)中使用ORPO进行SFT时,赔率比是一个合理的选择。特别是,我们展示了仅使用UltraFeedback对Phi-2(2.7B)、Llama-2(7B)和Mistral(7B)进行微调的ORPO,其性能超过了拥有超过7B和13B参数的最先进语言模型。
在这段摘要中,作者介绍了他们的研究重点是在偏好对齐的上下文中探讨了SFT的重要性,并提出了一个名为ORPO的优化算法,该算法避免了使用参考模型和额外的偏好对齐阶段。此外,作者还提到他们的方法在对几种不同规模的模型进行微调时显示出了优越的性能。
1 引言
预训练语言模型(PLMs),借助庞大的训练语料库,如网页文本和教科书,已在多种自然语言处理(NLP)任务中展示出显著能力。然而,这些模型需要进一步调整,才能在通用领域应用中使用,通常通过诸如指令调整和偏好对齐等过程实现。
指令调整训练模型遵循以自然语言给出的任务描述,这使得模型能够很好地泛化到以前未见过的任务。然而,尽管模型能够遵循指令,有时候可能会生成有害或不道德的输出。为了使这些模型更符合人类价值观,需要使用成对偏好数据进行额外训练,技术包括利用人类反馈的强化学习(RLHF)和直接偏好优化(DPO)。
偏好对齐方法已在减少伤害以外的几个下游任务中展示了成功,例如提高事实性、基于代码的问答和机器翻译。偏好对齐算法在广泛的下游任务中的多功能性强调了理解对齐程序并进一步提高算法效率和性能的必要性。然而,现有的偏好对齐方法通常包括多阶段过程,通常需要第二个参考模型和一个单独的预热阶段与SFT。
在本文中,我们研究了SFT在成对偏好数据集中的模型对齐中的角色和影响,并提出了一种简单且新颖的单体对齐方法,即赔率比偏好优化(ORPO),该方法在SFT期间有效地阻止模型学习不希望的生成风格。与先前的工作不同,我们的方法不需要SFT预热阶段也不需要参考模型,使得基于偏好的对齐模型的开发更加资源高效。
我们将通过对模型对齐任务和流行排行榜的评估来展示我们方法的有效性,并通过对不同数据集和模型大小的ORPO与现有对齐方法(RLHF和DPO)的比较来进行控制实验。此外,我们还将发布训练代码和模型检查点。
这部分引言为整篇文章设定了基调,解释了研究的背景和动机,即如何通过新的算法改进语言模型的偏好对齐过程,同时提高效率和性能,并避免了使用传统的多阶段对齐过程。
2 相关工作
在本节中,我们探讨与使用人类反馈的强化学习(RLHF)相关的对齐技术。RLHF通常应用Bradley-Terry模型来估计两个独立评估实例之间的配对竞争概率。此外,还训练了一个额外的奖励模型来对实例打分。如PPO(Proximal Policy Optimization)等强化学习算法被用于训练模型,以最大化所选响应的奖励模型得分,从而训练出与人类偏好相符的语言模型。
此外,还探讨了无需奖励模型的对齐技术。例如,Rafailov等人提出了直接政策优化(DPO),它将奖励建模阶段整合到偏好学习阶段中。Azar等人通过身份偏好优化(IPO)防止了DPO中可能出现的过拟合问题。Ethayarajh等人提出了Kahneman-Tversky优化(KTO)和统一语言模型对齐(ULMA),这些方法不需要像RLHF和DPO那样的成对偏好数据集。Song等人进一步建议在负对数似然损失中加入参考响应集的softmax值,以融合监督式微调和偏好对齐。
在监督式微调中使用的偏好对齐方法,强化学习(RL)中的方法常利用监督式微调(SFT)以确保活跃策略相对于旧策略的稳定更新。这是因为在RLHF的上下文中,SFT模型是旧政策。此外,实证发现即使在非RL对齐方法中,SFT模型也对实现期望结果的收敛至关重要。
然而,也有方法通过仅使用筛选过的数据集进行SFT来构建与人类一致的语言模型。例如,Zhou等人展示了通过少量经过精细筛选和策划的数据进行SFT,可能足以构建有用的语言模型助手。此外,Li等人和Haggerty及Chandra提出了一个迭代过程,用于对经过精细选择的一致生成进行监督式微调语言模型,而Zhou等人建议使用经过策划的偏好数据集的子集足以进行对齐。虽然这些工作突出了SFT在对齐语境中的影响和重要性,但SFT的实际作用和在SFT中整合偏好对齐的理论基础尚未得到充分研究。
这一部分提供了对语言模型对齐技术的详尽回顾,包括强化学习和无需奖励模型的方法,及其在提高模型与人类偏好一致性方面的有效性。同时也指出了当前方法的不足,为接下来介绍新的ORPO方法提供了理论基础。
3 监督式微调的作用
在这一部分中,我们研究了监督式微调(SFT)作为偏好对齐方法的初始阶段的行为。通过分析SFT中的损失函数和经验展示训练有素的SFT模型的偏好理解能力,SFT在将预训练的语言模型定制到期望领域中发挥了重要作用。然而,这无意中增加了在不需要的风格中生成token的可能性,如图3所示。因此,有必要开发能够在保留SFT的领域适应性角色的同时,辨别和减轻不需要的生成风格的方法。
交叉熵损失中的无惩罚性:交叉熵损失模型的微调目标是对预测的对数值较低的参考答案进行惩罚。使用交叉熵损失单独无法直接对非答案token的对数值进行惩罚或补偿,因为预测的对数值会为0。虽然交叉熵对领域适应通常有效,但在补偿选定响应时,它没有机制来惩罚被拒绝的响应。因此,被拒绝响应中的token的对数概率也会随着选定响应而增加,这不是偏好对齐所希望的。
对两种响应样式的概括:我们进行了一项试点研究,以经验证明单独使用监督式微调对选定和被拒绝响应的校准错误。我们仅使用HH-RLHF数据集中的选定响应对OPT-350M模型进行了微调。在训练过程中,我们监控每个批次被拒绝响应的对数概率,并在图3中报告此数据。选定和被拒绝的响应的对数概率同时增加。这可以从两个不同的角度解释。首先,交叉熵损失有效地引导模型朝向预定的领域(例如,对话)。然而,由于缺乏对不希望的生成的惩罚,被拒绝的响应有时甚至可能具有比选定响应更高的对数概率。
惩罚不希望的生成:通过在损失中添加不可能性惩罚,已经证明可以减少模型中不希望的退化特征(Welleck等人,2019;Li等人,2020)。例如,为了防止重复,通过向损失中添加以下术语(例如方程2),将近期上下文中不希望的token集合k不受青睐,从而惩罚模型为最近的token分配高概率。由于SFT赋予被拒绝token高概率(图3所示)以及添加惩罚不希望的特征的有效性,我们设计了一种动态惩罚每个查询中不受青睐响应的单体偏好对齐方法,而无需制定被拒绝token的集合。
这部分深入讨论了SFT的重要性,以及在不改变其在域适应中的角色的同时,如何改进方法以减少不希望的输出,这为后面介绍ORPO方法提供了理论和实践基础。
4 赔率比偏好优化
本节介绍了一种新颖的偏好对齐算法——赔率比偏好优化(ORPO),该算法在传统的负对数似然(NLL)损失中引入了基于赔率比的惩罚,用以区分受青睐和不受青睐的响应之间的生成风格。
4.1 基础知识
给定输入序列x,生成输出序列y(长度为m个token)的平均对数似然计算如下:在这里,赔率 定义为生成输出序列y相对于不生成的概率:直观地说,如果 ,则表示模型θ生成输出序列y的可能性是不生成的k倍。
4.2 ORPO的目标函数
ORPO的目标函数由两部分组成:1)监督式微调(SFT)损失 ;2)相对比率损失 。其中,遵循传统的因果语言建模负对数似然损失函数,旨在最大化生成参考token的可能性。方程7中的最大化生成不受欢迎的响应和受欢迎的响应之间的赔率比。通过对数Sigmoid函数包装对数赔率比,使得通过增加和之间的对数赔率比来最小化。
4.3 ORPO的梯度
ORPO损失的梯度进一步证明了使用赔率比损失的合理性。它包含两个项:一个惩罚错误预测的项和一个区分选定和被拒绝响应的对比项,如方程8所示:其中,和分别为:当受青睐响应的赔率相对于不受青睐响应的赔率更高时,将趋于0。这表明将作为一个惩罚项,如果模型更有可能生成被拒绝的响应,则加速参数更新。
同时,表示两个梯度的加权对比。特别是,分母中的 当相应方的可能性P(y|x)较低时会放大梯度。对于选定的响应,这加速了模型向选定响应分布的适应,随着可能性的增加。
这一部分详细介绍了ORPO方法的技术细节,包括赔率比的应用以及如何通过这种方法更精确地调整语言模型的生成偏好。
5 实验设置
5.1 训练配置
模型:我们训练了一系列从125M到1.3B参数的OPT模型,比较了监督式微调(SFT)、近距策略优化(PPO)、直接政策优化(DPO),并将这些与我们的ORPO进行了比较。PPO和DPO模型是在SFT模型的基础上使用TRL库进行微调的,这些SFT模型是根据Rafailov等人(2023年)和Tunstall等人(2023年)的方法,在选定的响应上训练了一个周期。我们还训练了Phi-2(2.7B)、Llama-2(7B)和Mistral(7B)等模型,这些模型在各自的方法附录中有详细的训练细节。
数据集:我们在两个数据集上测试了每种训练配置和模型:1)Anthropic的HH-RLHF数据集;2)二进制的UltraFeedback。我们筛选出了其中yw = yl或yw = ∅或yl = ∅的实例。
奖励模型:我们在每个数据集上使用在方程11中的目标函数对OPT-350M和OPT-1.3B训练了一个周期,以进行奖励建模。OPT-350M的奖励模型用于PPO,而OPT-1.3B的奖励模型用来评估微调模型的生成。
5.2 排行榜评估
在第6.1节中,我们使用AlpacaEval1.0和AlpacaEval2.0的基准测试来评估模型,将ORPO与官方排行榜上报告的其他指令调整模型进行比较。在第6.2节中,我们使用MT-Bench进行模型评估,并报告相同模型在官方排行榜上的结果和分数。使用GPT-4作为AlpacaEval1.0的评估器,我们评估训练后的模型是否优于从text-davinci-003生成的响应。对于AlpacaEval2.0,我们遵循默认设置使用GPT-4-turbo作为评估器。最后,使用GPT-4作为MT-Bench的评估器,我们检查模型是否能在多轮对话中遵循指令提供困难答案。
这一部分详细说明了实验的设置,包括用于比较的模型、数据集以及评估方法,为进一步分析实验结果提供了基础。
6 结果和分析
6.1 单轮指令遵循
在单轮指令遵循测试中,Phi-2(2.7B)通过使用UltraFeedback作为指令调整数据集,经过ORPO训练后,表现优于Llama-2 Chat指令遵循语言模型,如表1所示。Phi-2应用了0.25的λ,在AlpacaEval中的表现为71.80%和6.35%。
Llama-2(7B)显著地,使用UltraFeedback和ORPO,λ设为0.2时,得分在AlpacaEval中高于同规模的7B和13B使用RLHF训练的聊天版本,最终显示为81.26%和9.44%。
在我们的受控实验设置中,进行了一轮SFT和三轮DPO的Llama-2 + SFT和Llama-2 + SFT + DPO生成的模型表现无法评估。这支持了ORPO的有效性,表明该模型可以快速学习所需的领域和偏好,并且只需要有限的数据。这与我们在第4.3节中研究的方法的梯度 一致。
Mistral-ORPO-α(7B)此外,通过单轮对话数据集UltraFeedback和ORPO进行微调的Mistral(7B),λ设为0.1,性能超过了Zephyr系列,即使用SFT在20K UltraChat和DPO在完整的UltraFeedback上进行微调的Mistral(7B)模型。如表1所示,Mistral-ORPO-α(7B)在AlpacaEval2.0中达到了87.92%和11.33%,超过了Zephyr α的1.98%和Zephyr β的0.34%。
6.2 多轮指令遵循
使用我们最好的模型,Mistral-ORPO-α(7B)和Mistral-ORPO-β(7B),我们还评估了多轮指令遵循技能,特别是在需要确定性答案的情况下(例如,数学问题),通过MT-Bench进行。
如图4所示,ORPO-Mistral(7B)系列在多轮对话中的表现与更大或专有模型相当,包括Llama-2-Chat(70B)和Claude。最终,Mistral-ORPO-α(7B)和Mistral-ORPO-β(7B)在MT-Bench中的得分分别为7.23和7.32,这些都是在没有接触多轮对话数据集训练的情况下实现的。
6.3 奖励模型胜率
我们评估了ORPO相对于其他偏好对齐方法,包括SFT、PPO和DPO的胜率,使用RM-1.3B来理解ORPO的有效性和可扩展性。此外,我们还通过视觉验证ORPO能有效提高期望奖励,如图5所示。
在HH-RLHF数据集中,ORPO在所有模型规模上均优于SFT和PPO。对SFT和PPO的最高胜率分别为78.0%和79.4%。同时,胜率在模型规模增加时呈现与DPO的相关性,最大模型具有最高的胜率:70.9%。
这些结果和分析展示了ORPO方法在多种测试和评估情境下的优势和有效性,尤其是在快速适应和生成偏好一致性方面的表现。
6.4 词汇多样性
在以前的工作中,偏好对齐语言模型的词汇多样性已经被研究过(Kirk等人,2024年)。我们扩展了Kirk等人(2024年)引入的每输入和跨输入多样性的概念,使用Gemini-Pro作为嵌入模型,这适合于评估指令遵循语言模型的多样性,因为它可以编码多达2048个token。使用给定的响应集,多样性度量定义如方程13所示。
其中 是嵌入 和 之间的余弦相似性。为了评估每个输入的多样性,我们在AlpacaEval中针对160个查询采样了5个不同的响应,温度设为1.0(即 ),使用Phi-2和Llama-2训练有ORPO和DPO的模型报告结果。
每输入多样性(PID):我们通过方程14评估每个输入的平均余弦相似性,以评估每输入的多样性。在表4中,ORPO模型在第一列具有最高的平均余弦相似性,这意味着每输入的多样性最低。这表明ORPO通常会为所需的token分配高概率,而DPO则具有相对更平滑的对数分布。
跨输入多样性(AID):使用每输入生成8个样本,我们采样每个输入的第一个项,并检查它们之间的交叉余弦相似性,以方程15评估跨输入多样性。与每输入多样性不同,值得注意的是,Phi-2 (ORPO) 在第二行的平均余弦相似性较低。我们可以推断出,ORPO触发模型生成比DPO更多指令特定的响应。
在表4中展示的词汇多样性结果强调了ORPO模型在确保生成的响应在内容上丰富且多样化方面的效能。
7 讨论
在本节中,我们详细讨论了赔率比偏好优化(ORPO)的理论和计算细节。我们通过第7.1节的理论分析和第7.2节的实证分析来支持我们的讨论。然后,我们在第7.3节比较了DPO和ORPO的计算负载。
7.1 概率比与赔率比的比较
选择赔率比而不是概率比的理由在于其稳定性。给定输入序列x,生成受青睐响应yw相对于不受青睐响应yl的概率比可以定义为方程16:
尽管这种公式在以前的偏好对齐方法中被使用,但在偏好对齐被纳入SFT的设置中,赔率比是一个更好的选择,因为赔率比对模型的偏好理解更为敏感。换句话说,概率比会导致对不受青睐响应的更极端歧视。
我们通过样本分布的对数概率比logPR(X2|X1)和对数赔率比logOR(X2|X1)来可视化这一点。我们用方程17和18采样了50,000个样本,并绘制了对数概率比和对数赔率比的图表。我们为概率比乘以β,因为这是概率比方法中的常见做法,并报告了β = 0.2和β = 1.0的情况。
回想一下,对数sigmoid函数应用于对数概率比和对数赔率比,每个比率的尺度决定了在最小化损失时受青睐和不受青睐样式之间的预期间隔。在这种意义上,当PR(X2|X1)而不是OR(X2|X1)输入到对数sigmoid函数时,对比应该相对极端,以最小化对数sigmoid损失,关于logPR(X2|X1)的尖锐分布。
7.2 最小化LOR
我们证明了使用ORPO训练的模型在整个训练过程中学会了反映偏好。我们监控了选定和被拒绝响应的对数概率以及λ = 1.0时的对数赔率比。与图3相比,被拒绝响应的对数概率在降低,而选定响应的对数概率与对数赔率比的增加保持一致。这表明ORPO成功地保留了SFT的领域适应角色,同时通过LOR惩罚项促使模型降低不需要生成的可能性。我们在附录E中讨论了λ在方程6中的作用,研究了偏好和不受欢迎响应之间的对数概率边际随λ的倾向。
7.3 计算效率
如图2所示,与RLHF和DPO不同,ORPO不需要参考模型。在两个方面,ORPO在计算上比RLHF和DPO更有效:1)内存分配;2)每批次更少的FLOPs。
8 结论
在本文中,我们介绍了一种无需参考模型的单体偏好对齐方法,赔率比偏好优化(ORPO),通过重新审视和理解监督式微调(SFT)阶段在偏好对齐中的价值。ORPO在与SFT和RLHF的比较中始终受到微调奖励模型的青睐,且随着模型规模的增加,其胜率相对于DPO的提高。此外,我们验证了ORPO在2.7B和7B预训练语言模型上的可扩展性,其在AlpacaEval中的性能超过了更大的最先进的指令遵循语言模型。特别是,Mistral-ORPO-α和Mistral-ORPO-β在AlpacaEval2.0中分别实现了11.33%和12.20%,在MT-Bench中分别为7.23和7.32,突显了ORPO的效率和效果。我们发布了微调代码和模型检查点,以助于复现。
限制
尽管对多种偏好对齐方法进行了全面分析,包括DPO和RLHF,但我们并未纳入更广泛的偏好对齐算法比较。我们将留待将来的工作中对其他方法进行更广泛的比较,并扩展我们的方法到超过7B模型。此外,我们还将扩展微调数据集到多个领域和质量,从而验证我们方法在各种NLP下游任务中的通用性。最后,我们希望研究我们的方法对预训练语言模型的内部影响,扩展对偏好对齐过程的理解,不仅仅是到监督式微调阶段,还包括连续的偏好对齐算法。
这部分为整篇论文的讨论做了总结,并指出了研究的限制和未来的研究方向。通过这种方式,研究团队不仅展示了其成果的有效性,还展示了对未来可能的改进和扩展的开放态度。