LLM | SimPO:使用无参考奖励的简单偏好优化
一、结论写在前面
直接偏好优化(DPO)是一种广泛使用的离线偏好优化算法,它通过人类反馈(RLHIP)重新参数化强化学习中的奖励函数,以增强简单性和训练稳定性。
论文提出了SimPO,一种更简单但更有效的方法。SimPO的有效性归功于一个关键设计:使用序列的平均对数概率作为隐式奖励。这种奖励形式更好地与模型生成对齐,并消除了对参考模型的需求,使其在计算和内存上更高效。此外,论文在Bradley-Terry目标中引入了一个目标奖励边际,以鼓励获胜和失败响应之间的更大边际,进一步提升了算法的性能。论文将SimPO与DPO及其最新变体在各种最先进的训练设置中进行了比较,包括Mistral和Llama3等基础和指令调整模型。论文在广泛的指令遵循基准上进行了评估,包括AlpacaEval 2、MT-Bench以及最近具有挑战性的Arena-Hard基准。
论文的结果表明,SimPO始终且显著地优于现有方法,而不会大幅增加响应长度。具体而言,SimPO在AlpacaEval 2上超越DPO最多6.4分,在Arena-Hard上最多7.5分。论文基于Llama3-8B-Instruct构建的顶级模型在AlpacaEval 2上实现了惊人的44.7长度控制胜率——超越了排行榜上的Claude 3 Opus,并在Arena-Hard上达到了33.8的胜率,使其成为最强大的8B开源模型。
尽管SimPO在实证上取得了成功并具有直观的动机,但论文缺乏对其工作原理的理论和严格理解。此外,引入目标奖励边际需要论文调整额外的超参数,未来的工作可以探索如何自动确定最佳边际。其次,SimPO是一种离线偏好算法,并未利用迭代训练或其他正交技术。未来的研究可以探索将SimPO与这些方法结合,以进一步提高模型性能。第三,论文的实验仅专注于评估帮助性,忽略了模型行为的其他关键方面,如安全性、诚实性和公平性。在未来的研究中,调查SimPO在这些行为上的泛化能力是重要的。最后,论文观察到在一些下游任务上,尤其是在数学基准测试上的性能下降。
二、论文的简单介绍
2.1 论文的背景
从人类反馈中学习对于使大型语言模型(LLMs)与人类价值观和意图对齐至关重要,确保它们是有帮助的、诚实的和无害的。从人类反馈的强化学习(RLHF)是一种流行的方法,用于微调语言模型以实现有效对齐。尽管经典的RLIIF方法已显示出令人印象深刻的结果,但由于其多阶段程序,它提出了优化挑战,该程序涉及训练奖励模型,然后优化策略模型以最大化该奖励。
最近,研究人员一直在探索更简单的离线算法。直接偏好优化(DPO)就是这样一种方法。DPO重新参数化了RLHF中的奖励函数,直接从偏好数据中学习策略模型,从而消除了显式奖励模型的需求。由于其简单性和稳定性,它获得了广泛的实际采用。在DPO中,隐含的奖励是使用当前策略模型和监督微调(SFT)模型之间响应的可能性对数比值来形式化的。然而,这种奖励形式化并不直接与用于指导生成的度量相一致,这个度量大约是策略模型生成的响应的平均对数似然。论文假设训练和推理之间的这种差异可能导致性能不佳。
图1:SimPO和DPO主要在奖励公式上有所不同,如图中阴影框所示。在AlpacaEval 2和Arena-Hard的广泛设置中,SimPO优于DPO
在本工作中,论文提出了SimPO,一种简单而有效的离线偏好优化算法(图1)。论文算法的核心是将偏好优化目标中的奖励函数与生成度量对齐。SimPO包含两个主要组件:(1) 一个长度归一化奖励,计算为策略模型中所有令牌在响应中的平均对数概率,以及(2) 一个目标奖励边际,确保获胜和失败响应之间的奖励差异超过此边际。
表1:AlpacaEval 2排行榜上顶级模型的长度控制(LC)和原始胜率(WR),以及生成长度。粗体为论文训练的模型
2.2 论文的方法--SimPO
2.2.1 背景:直接偏好优化(DPO)
DPO 是最流行的离线偏好优化方法之一。DPO不是学习一个显式的奖励模型 ,而是使用一个封闭形式的表达式重新参数化奖励函数。
2.2.2 与生成一致的简单无参考奖励
DPO中奖励与生成的差异。使用公式(1)作为隐式奖励表达式存在以下缺点:(1) 训练期间需要参考模型Tref,这增加了内存和计算成本;(2) 训练期间优化的奖励与用于推理的生成指标之间存在差异。具体而言,在生成过程中,策略模型πθ用于生成序列,该序列大致最大化平均对数似然。
在解码过程中直接最大化此指标是不可行的,可以使用各种解码策略来近似它,例如贪心解码、束搜索、核采样和top-k采样。此外,此指标常用于语言模型中的多项选择任务中对选项进行排名。在DPO中,对于任何三元组,满足奖励排名并不一定意味着似然排名成立。事实上,当使用DPO训练时,仅约50%的保留集三元组满足此条件(见图4b)。
2.2.3 SimPO目标
目标奖励边际。此外,论文在Bradley-Terry目标中引入了一个目标奖励边际项,以确保获胜响应的奖励至少超过失败响应的奖励。两个类别之间的边际被认为会影响分类器的泛化能力。在标准训练设置中,随机模型初始化下,增加目标边际通常会提高泛化能力。在偏好优化中,两个类别是单个输入的获胜和失败响应。实际上,论文观察到生成质量最初随着目标边际的增加与提高,但当边际变得过大时会下降。DPO的一个变体,IPO,也提出了一个类似SimPO的目标奖励边际。然而,其完整目标不如SimPO有效。
目标。SimPO目标:
总之,SimPO采用了一种与生成指标直接对齐的隐式奖励公式,消除了对参考模型的需求。此外,它引入了一个目标奖励边际y,以帮助区分获胜和失败响应。在附录E中,论文提供了SimPO和DPO的梯度分析,以进一步理解这两种方法之间的差异。
2.3 论文的效果
2.3.1 实验设置
模型和训练设置。论文在两种模型系列Llama3-8B和Mistral-7B上进行偏好优化,分别在基础和指令两种设置下进行。
在Base设置中,论文首先在UltraChat-200k数据集上对一个基础模型进行监督微调(SFT)以获得SFT模型。接着,论文使用SFT模型作为起点,在UltraFeedback数据集上进行偏好优化。这种设置提供了高度的透明性,因为SFT模型是基于开源数据训练的。
对于Instruct设置,论文使用现成的指令调优模型(作为SFT模型。这些模型经历了广泛的指令调优过程,使其比Base设置中的SFT模型更强大和稳健。然而,它们也更不透明,因为它们的RLIIF过程未公开披露。为了减轻SFT模型与偏好优化过程之间的分布偏移,论文根据使用SFT模型生成偏好数据集。
综上所述,论文有四种设置:Llama3-Base、Llama3-Instruct、Mistral-Base和Mistral-Instruct。论文相信这些配置代表了最先进的技术水平,使论文的模型在各种排行榜上名列前茅。论文鼓励未来的研究采用这些设置,以实现不同算法之间更好和更公平的比较。
此外,论文发现调整超参数对于所有离线偏好优化算法(包括SimPO)实现最佳性能至关重要。通常,对于SimPO,设置B在2.0到2.5之间,y在0.5到1.5之间,可以在所有设置中获得良好的性能。更多详情,请参阅附录A。
评估基准。 论文主要使用三个最受欢迎的开放式指令遵循基准来评估论文的模型:MT-Bench 、AlpacaEval 2 [和 Arena-Hard v0.1。这些基准测试了模型在多样化查询集上的多才多艺对话能力,并已被社区广泛采用(详情见表2)。
基线。 论文将SimPO与其他离线偏好优化方法进行了比较,这些方法列于表3中。IPO 是一种理论基础方法,避免了DPO假设成对偏好可以被点态奖励替代。KTO [25]从非配对偏好数据中学习。ORPO 引入了一个参考模型无关的奇数比率项,直接对比获胜和失败的响应与策略模型,并联合训练SFT目标。R-DPO 是DPO的修改版本,包含了一个额外的正则化项以防止长度利用。论文彻底调整了超参数。对于每个基线参数,论文报告最佳性能。论文发现许多DPO的变体在实证上并未显示出优于标准DPO的优势。更多细节可在附录A中找到。
2.3.2实验结果
2.3.2.1 主要结果和消融研究
表3:给定偏好数据D,各种偏好优化目标。
方法
SimPO始终且显著地超越了现有的偏好优化方法。如表4所示,尽管所有偏好优化算法都提升了SFT模型的性能,但SimPO,尽管其简单性,在所有基准和设置中实现了最佳的整体性能。值得注意的是,SimPO在AlpacaEval 2 LC胜率上比最佳基线高出3.6至4.8个百分点,在Arena-Hard上跨不同设置高出0.2至6.2个百分点。这些一致且显著的改进突显了SimPO的鲁棒性和有效性。
基准测试的质量有所不同。尽管所有三个基准测试都被广泛采用,但论文发现MTBench在不同方法之间的可分离性较差。MTBench上方法之间的微小差异可能归因于随机性,这可能是由于其评估数据的规模有限以及其单实例评分协议所致。这一发现与 [50] 中报告的观察结果一致。
相比之下,AlpacaEval 2和Arena-Hard能够在不同方法之间提供更有意义的区分。另外,Arena-Hard采用了与基线模型不同的评判模型,可能会带来更公平的评估。论文观察到,Arena-Hard上的胜率明显低于AlpacaEval 2,这表明Arena-Hard是一个更具挑战性的基准测试。
表 4:在四种设置下的 AlpacaEval 2 [51]、Arena-Hard [50] 和 MT-Bench [88] 结果。LC 和 WR 分别表示长度控制和原始胜率。论文在 UltraChat 数据集上针对基础设置训练 SFT 模型。对于指令设置,论文使用现成的模型作为 SFT 模型
表 5:在 Mistral-Base 和 Mistral-Instruct 设置下的消融研究。论文对 SimPO 的每个关键设计进行消融:(1) 在等式 (4) 中去除长度归一化(即,w/o LN);(2) 在等式 (6) 中将目标奖励边际 设为 0(即,)
Instruct设置引入了显著的性能提升。在所有基准测试中,论文观察到Instruct设置始终优于Base设置。这种改进可能是由于用于初始化的SFT模型质量更高,以及这些模型生成了更高质量的偏好数据。
SimPO中的两个关键设计至关重要。在表5中,论文展示了去除SimPO每个关键设计元素后的结果:(1) 在公式(4)中移除长度归一化(即,无LN);(2) 在公式(6)中将目标奖励边际设为0(即,y = 0)。移除长度归一化对结果产生了最大的负面影响。论文的检查发现,这会导致生成冗长且重复的模式,显著降低输出整体质量(见附录D)。将y设为0也导致性能下降,相比SimPO表现不佳,表明这并非最佳选择。
图2:长度归一化(LN)的影响。(a) 奖励边际与获胜和失败响应之间的长度差异的关系。(b) SimPO中平均对数概率与响应长度之间的Spearman相关性。(c) 未采用LN的SimPO的Spearman相关性
图3:边际研究。(a) 不同y值下的奖励准确性和AlpacaEval2 LC胜率。(b) 不同y值下的奖励差异分布。(c) 不同y值下选择的响应的对数似然分布
2.3.2.2 长度归一化(LN)防止长度利用
长度归一化导致所有偏好对之间的奖励差异增加,无论其长度如何。论文调查了从UltraFeedback训练集中获胜和失败响应之间的学习奖励差异与长度差异Δl = yw - yn之间的关系。论文使用SFT模型、SimPO模型以及未使用长度归一化的SimPO训练的模型来测量奖励差异。结果如图2a所示,观察到带有LN的SimPO始终为所有响应对实现正奖励边际,无论其长度差异如何,并且始终提高了边际超过SFT模型。相比之下,不带LN的SimPO在获胜响应短于失败响应的偏好对中导致了负奖励差异,表明模型在这些实例上学习不佳。
移除LN导致奖励与响应长度之间存在强烈的正相关关系,从而引发长度利用问题。图2b和2c展示了在保留集上,使用SimPO训练的模型与未使用LN训练的模型的平均对数似然度与响应长度之间的关系。未使用LN训练的模型显示出比SimPO更强的正斯皮尔曼相关性,表明其倾向于利用长度偏差并生成更长的序列。相比之下,SimPO导致斯皮尔曼相关系数与SFT模型相似。
2.3.2.3 SimPO中目标奖励边际的影响
目标奖励边际y对奖励准确性和胜率的影响。论文研究了SimPO中目标奖励边际n如何影响保留集上的奖励准确性和AlpacaEval 2上的胜率,结果如图3a所示。奖励准确性被衡量为偏好对中获胜响应最终获得的奖励高于失败响应的比例。论文观察到,在两个基准测试上,奖励准确性随y的增加而提高,表明强制实施更大的目标奖励边际有效地提高了奖励准确性。
图4:SimPO与DPO在UltraFeedback上的对比。(a) DPO中平均对数概率与响应长度之间的Spearman相关性。(b) 基于DPO奖励和训练集上的平均对数似然排名的列联表。(c) DPO和SimPO的奖励准确性。(d) DPO和SimPO的运行时间和内存使用情况。
2.3.2.4 DPO与SimPO的深入分析
本节中,论文从以下四个方面对比SimPO与DPO:(1) 似然-长度相关性,(2) 奖励公式化,(3) 奖励准确性,(4) 算法效率。论文证明SimPO在奖励准确性和效率方面优于DPO。
DPO奖励隐含地促进了长度归一化。尽管DPO奖励表达式缺少明确的长度归一化项,但策略模型与参考模型之间的对数比值可以隐式地抵消长度偏差。如表6和图4a所示,采用DPO降低了平均对数似然与响应长度之间的斯皮尔曼相关系数,相比于不进行任何长度归一化的方法。然而,与SimPO相比,它仍然表现出更强的正相关性。
DPO奖励与生成可能性不匹配。DPO的奖励函数 与目标生成技术存在分歧,直接影响生成过程。相比之下,SimPO直接采用平均对数似然(按B缩放)作为奖励表达式,从而完全消除了这种差异,如图5b所示。
DPO在奖励精度方面落后于SimPO。在图4c中,论文比较了SimPO和DPO的奖励精度,评估了它们最终学习到的奖励与留出集上的偏好标签的一致性。论文观察到,SimPO始终比DPO取得更高的奖励精度,这表明论文的奖励设计有助于更有效的泛化,并导致更高质量的生成结果。
SimPO比DPO在内存和计算效率方面更有优势。SimPO的另一个好处是效率较高,因为它不使用参考模型。图4d展示了在使用8个H100 GPU的Llama3-Base设置下,SimPO和DPO的整体运行时间和每GPU内存峰值使用情况。与普通DPO实现相比,SimPO减少了约20%的运行时间,降低了约10%的GPU内存使用,这得益于不需要使用参考模型进行前向传播。
论文标题:SimPO: Simple Preference Optimization with a Reference-Free Reward
论文链接:https://arxiv.org/pdf/2405.14734
本文转载自 AI帝国,作者: 无影寺