SimPO:一个不需要reward model 的对齐优化方法:有跟DPO 进行对比

  • 论文标题:SimPO: Simple Preference Optimization with a Reference-Free Reward
  • 论文地址:https://arxiv.org/abs/2405.14734
  • 代码 & 模型:https://github.com/princeton-nlp/SimPO

直接偏好优化(Direct Preference Optimization,DPO)是一种广泛使用的离线偏好优化算法,它将强化学习中基于人类反馈(RLHF)的奖励函数重新参数化,以增强简单性和训练稳定性。在这项工作中,我们提出了一种更简单但更有效的方法,称为SimPO。SimPO的有效性归因于一个关键设计:将序列的平均对数概率作为隐含奖励。这种奖励形式更符合模型生成,并消除了对参考模型的需求,使其在计算和内存效率上更高。此外,我们在Bradley-Terry目标函数中引入了目标奖励边界,以鼓励获胜和失败响应之间的更大差距,进一步提高算法的性能。我们将SimPO与DPO及其最新变体在各种最先进的训练设置中进行了比较,包括基础模型和指导调整模型,如Mistral和Llama3。我们在广泛的指令遵循基准测试中进行了评估,包括AlpacaEval 2、MT-Bench和最近具有挑战性的Arena-Hard基准测试。我们的结果表明,SimPO在不显著增加响应长度的情况下,始终显著优于现有方法。具体而言,SimPO在AlpacaEval 2上比DPO高出最多6.4个点,在Arena-Hard上比DPO高出最多7.5个点。我们的最佳模型建立在Llama3-8B-Instruct上,在AlpacaEval 2上实现了令人瞩目的44.7的长度控制胜率,超过了排行榜上的Claude 3 Opus,在Arena-Hard上实现了33.8的胜率,成为最强大的8B开源模型。

引言

从人类反馈中学习对于使大型语言模型(LLM)与人类的价值观和意图保持一致是至关重要的[47],以确保它们是有益、诚实和无害的[5]。从人类反馈中进行强化学习(RLHF)[15, 58, 69]是一种流行的方法,用于微调语言模型以实现有效的对齐。尽管经典的RLHF方法[58, 66]已经显示出令人印象深刻的结果,但由于其多阶段过程,包括训练奖励模型,然后优化策略模型以最大化该奖励[12],它也带来了优化挑战。

最近,研究人员一直在探索更简单的离线算法。直接偏好优化(DPO)[62]就是其中一种方法。DPO对RLHF中的奖励函数进行了重新参数化,直接从偏好数据中学习策略模型,省去了显式奖励模型的需求。由于其简单性和稳定性,DPO已经在实际中得到广泛应用。在DPO中,隐含奖励是使用当前策略模型和监督微调(SFT)模型之间响应的似然比的对数比例来表示的。然而,这种奖励形式与用于引导生成的度量直接对齐,后者大致是由策略模型生成的响应的平均对数似然。我们假设训练和推断之间的这种差异可能导致性能不佳。在这项工作中,我们提出了SimPO,一个简单而有效的离线偏好优化算法(图1)。我们算法的核心是将偏好优化目标中的奖励函数与生成度量对齐。SimPO由两个主要组成部分组成:(1)长度归一化的奖励,通过使用策略模型计算响应中所有标记的平均对数概率来计算,以及(2)目标奖励边界,确保获胜和失败响应之间的奖励差距超过此边界。总之,SimPO具有以下特点: 简单性:与DPO和其他依赖参考模型的方法相比,SimPO不需要参考模型,使其更轻量且更易于实现。 显著的性能优势:尽管简单,SimPO在AlpacaEval 2和具有挑战性的Arena-Hard等多个训练设置和广泛的指令遵循基准测试中显著优于DPO和其最新变体(例如最近的无参考目标ORPO [38])。在AlpacaEval 2上,SimPO比DPO高出最多6.4个点;在Arena-Hard上,SimPO比DPO高出最多7.5个点。 最小化长度利用:与SFT或DPO模型相比,SimPO不会显著增加响应长度(表1),表明最小化长度利用[24, 67, 78]。 广泛的分析表明,SimPO更有效地利用偏好数据,导致在一个保留验证集上对获胜和失败响应进行更准确的似然排序,进而得到更好的策略模型。如表1所示,我们构建了一个在Llama3-8B-Instruct基础上的最佳模型,在AlpacaEval 2上实现了显著的44.7长度控制胜率,超过了排行榜上的Claude 3 Opus,在Arena-Hard上实现了33.8的胜率,成为迄今为止最强大的8B开源模型。

2 SimPO: 简单偏好优化

在本节中,我们首先介绍了DPO的背景(§2.1)。然后我们确定了DPO的奖励和用于生成的似然度指标之间的差异,并提出了一种替代的无参考奖励公式来缓解这个问题(§2.2)。最后,我们通过将目标奖励边界项引入到Bradley-Terry模型中,推导出了SimPO的目标函数(§2.3)。

2.1 背景: 直接偏好优化(DPO)

DPO [62] 是最流行的离线偏好优化方法之一。DPO不像学习显式奖励模型[58],而是使用一个具有最优策略的闭式表达式来重新参数化奖励函数r:

(1) 其中πθ是策略模型,πref是参考策略,通常是监督微调(SFT)模型,Z(x)是分区函数。通过将这个奖励公式纳入Bradley-Terry(BT)排名目标[10],p(yw ≻ yl | x) = σ (r(x, yw) − r(x, yl)),DPO使用策略模型而不是奖励模型来表达偏好数据的概率,得到以下目标函数: , (2) 其中(x, yw, yl)是由偏好数据集D中的提示、获胜回答和失败回答组成的偏好对。

2.2 与生成对齐的简单无参考奖励 DPO中奖励和生成之间的差异。

使用式(1)作为隐式奖励表达式有以下缺点:(1)在训练过程中需要一个参考模型πref,这增加了额外的内存和计算成本;(2)训练过程中优化的奖励与用于推理的生成度量之间存在差异。具体来说,在生成过程中,使用策略模型πθ生成一个近似最大化平均对数似然度的序列,定义如下:

 . 直接在解码过程中最大化这个度量是不可行的,可以使用各种解码策略来近似,如贪婪解码[30]、束搜索[31, 49]、核心采样[35]和前k个采样[26, 36, 61]。此外,在语言模型中,这个度量通常用于对多项选择任务中的选项进行排序[11, 37, 58]。在DPO中,对于任意的三元组(x, yw, yl),满足奖励排序r(x, yw) > r(x, yl)并不一定意味着似然度排序pθ(yw | x) > pθ(yl | x)。事实上,当使用DPO进行训练时,仅大约50%的三元组满足这个条件(见图4b)。

长度归一化的奖励公式。自然地,我们考虑用式(3)中的pθ替换DPO中的奖励公式,使其与引导生成的似然度度量对齐。这导致了一个长度归一化的奖励:

, (4) 其中β是一个控制奖励差异缩放的常数。我们发现使用回应长度对奖励进行归一化是至关重要的;从奖励公式中删除长度归一化项会导致生成更长但质量较低的序列的偏向(详见第4.4节)。因此,这个奖励公式消除了对参考模型的需求,相比于依赖参考的算法,提高了内存和计算效率。

2.3 SimPO目标

目标奖励差距。此外,我们在Bradley-Terry目标中引入了一个目标奖励差距项,γ > 0,以确保获胜回应的奖励r(x, yw)至少比失败回应的奖励r(x, yl)高出γ: . (5)

两个类别之间的差距已知会影响分类器的泛化能力[1, 9, 19, 27]。在具有随机模型初始化的标准训练设置中,增加目标差距通常会提高泛化能力。在偏好优化中,这两个类别是单个输入的获胜和失败回应。实际上,我们观察到,随着目标差距的增加,生成质量一开始会提高,但当差距变得过大时会下降(§4.3)。

DPO的一种变体IPO [6]也制定了与SimPO类似的目标奖励差距。然而,它的完整目标不如SimPO有效(§4.1)。

目标。 最后,通过将公式(4)代入公式(5),我们得到SimPO的目标:

综上所述,SimPO采用了一种与生成度量直接对齐的隐式奖励制定方法,消除了对参考模型的需求。此外,它引入了一个目标奖励差距γ来帮助区分获胜和失败的回应。在附录E中,我们提供了对SimPO和DPO的梯度分析,以进一步了解两种方法之间的差异。

表3:给定偏好数据D = (x, yw, yl)的各种偏好优化目标,其中x是输入,yw和yl是获胜和失败的回应

4 实验结果

在本节中,我们介绍了实验的主要结果,重点介绍了SimPO在各种基准测试和消融研究中的优越性能(§4.1)。我们对以下组成部分进行了深入的分析:(1)长度归一化(§4.2),(2)边际项γ(§4.3),以及(3)为什么SimPO优于DPO(§4.4)。除非另有说明,消融研究是在Mistral-

Base设置下进行的。

4.1 主要结果和消融研究

SimPO始终显著优于现有的偏好优化方法。如表4所示,虽然所有的偏好优化算法都提高了SFT模型的性能,但是SimPO尽管简单,但在所有基准测试和设置中都实现了最佳的整体性能。值得注意的是,在AlpacaEval 2的LC胜率上,SimPO比最佳基准线提高了3.6到4.8个百分点,在Arena-Hard上提高了0.2到6.2个百分点。这些一致且显著的改进突显了SimPO的鲁棒性和有效性。

基准测试的质量有所不同。虽然这三个基准测试都被广泛采用,但我们发现MTBench在不同方法之间的可分离性较差。MT-Bench上的微小差异可能归因于随机性,可能是由于其评估数据的有限规模和单个实例的评分协议。这与[50]中报道的观察一致。相比之下,AlpacaEval 2和Arena-Hard在不同方法之间提供了更有意义的区别。此外,Arena-Hard采用了与基准模型不同的评判模型,可能导致更公平的评估。我们观察到,Arena-Hard上的胜率明显低于AlpacaEval 2,表明Arena-Hard是一个更具挑战性的基准测试。

Instruct设置带来了显著的性能提升。在所有基准测试中,我们观察到Instruct设置始终优于Base设置。这种改进可能是由于用于初始化的SFT模型质量更高,并且这些模型生成了更多高质量的偏好数据。

SimPO的两个关键设计都至关重要。在表5中,我们展示了消去SimPO的每个关键设计的结果:(1)在公式(4)中消去长度归一化(即w/o LN);(2)在公式(6)中将目标奖励差距设置为0(即γ = 0)。消去长度归一化对结果影响最大。我们的研究发现,这会导致生成长而重复的模式,严重降低输出的整体质量(见附录D)。将γ设置为0也会导致性能下降,与SimPO相比,这表明它不是最优的目标奖励差距。在下面的小节中,我们进行了深入的分析,以更好地理解这两个设计选择。

4.2 长度归一化(LN)防止长度利用

长度归一化导致所有偏好对的奖励差异增加,无论它们的长度如何。公式(5)中的Bradley-Terry目标本质上旨在优化奖励差异∆r = r(x, yw) − r(x, yl),使其超过目标边际γ。我们研究了在UltraFeedback的训练集中,获胜回应和失败回应之间的长度差异∆l = |yw| − |yl|与学习到的奖励差异(rSimPO;公式(4))之间的关系。我们使用SFT模型、SimPO模型以及在SimPO训练中没有长度归一化的模型来测量奖励差异(见图2a)。我们观察到,使用长度归一化的SimPO始终为所有回应对实现了正的奖励差距,无论它们的长度差异如何,并且始终改善了与SFT模型的奖励差距。相比之下,没有长度归一化的SimPO导致在获胜回应长度小于失败回应长度时,偏好对的奖励差异为负,表明模型对这些实例的学习效果较差。

消除长度归一化会导致奖励与回应长度之间的强正相关,导致长度利用。图2b和图2c说明了使用SimPO和没有长度归一化的SimPO训练的模型在保留集上的平均对数似然(公式(3)中的pθ)与回应长度之间的关系。没有长度归一化的模型在似然和回应长度之间展示了比SimPO更强的正Spearman相关性,表明它倾向于利用长度偏差并生成更长的序列(见附录D)。相比之下,SimPO导致了与SFT模型类似的Spearman相关系数(见图5a)。

4.3 SimPO中目标奖励差距的影响

γ对奖励准确性和胜率的影响。我们研究了SimPO中目标奖励差距γ对保留集上奖励准确性和AlpacaEval 2上胜率的影响,并将结果呈现在图3a中。奖励准确性是指在偏好对中,获胜回应的奖励高于失败回应的奖励(即r(x, yw) > r(x, yl))的百分比。我们观察到,奖励准确性随着γ的增加而增加,表明强制实施较大的目标奖励差距有效地提高了奖励准确性。然而,AlpacaEval 2上的胜率先增加后减少,这表明生成质量不仅仅由奖励差距决定。

γ对奖励分布的影响。我们在图2b和图2c中可视化了在不同γ值下学习到的奖励差距r(x, yw)−r(x, yl)和获胜回应的奖励r(x, yw)的分布。值得注意的是,增加γ倾向于使两个分布变得平坦,并减小获胜序列的平均对数似然。这一开始改善了性能,但最终可能导致模型退化。我们假设在设置γ值时,在准确逼近真实奖励分布和保持良好校准的似然之间存在权衡。对这种平衡的进一步探索将留待未来工作。

4.4 SimPO与DPO的比较

似然-长度相关性

  • 在奖励准确性和效率方面,SimPO优于DPO。

  • DPO奖励隐式地促进长度归一化。

  • DPO奖励表达式缺乏显式的长度归一化项,但是策略模型和参考模型之间的对数比例可以隐式地抵消长度偏差。

  • 与没有任何长度归一化的SimPO方法相比,采用DPO可以降低平均对数似然和回应长度之间的Spearman相关系数(称为“SimPO w/o LN”)。

  • 然而,与SimPO相比,DPO仍然表现出更强的正相关性。

奖励形式

  • DPO的奖励形式r(x, y) = β log ππref θ((yy||xx))与生成似然度不匹配。

  • DPO的奖励形式与平均对数似然度指标之间存在差异,这直接影响生成。

  • 在UltraFeedback训练集的实例中,当rθ(x, yw) > rθ(x, yl)时,几乎有一半的对具有更高奖励的对中pθ(yw | x) < pθ(yl | x)。

  • 相比之下,SimPO直接使用平均对数似然度(乘以β进行缩放)作为奖励表达式,从而完全消除了差异。

奖励准确性

  • SimPO的奖励准确性高于DPO。

  • 在评估最终学习奖励与保留集上的偏好标签的一致性方面,SimPO始终实现比DPO更高的奖励准确性。

  • 这表明我们的奖励设计有助于更有效的泛化,并产生更高质量的生成结果。

算法效率

  • SimPO比DPO更具内存和计算效率。

  • SimPO不使用参考模型,因此在Llama3-Base设置中使用8×H100 GPU时,与标准DPO实现相比,SimPO的运行时间减少约20%,GPU内存使用减少约10%。

 

  • 32
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

samoyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值