AB
AiBoss站
百科

什么是简单偏好优化(SimPO)?一种无需参考模型的偏好对齐方法

简单偏好优化(Simple Preference Optimization,SimPO)是论文《SimPO: Simple Preference Optimization with a Reference-Free Reward》提出的一种离线偏好优化算法。它以序列平均对数概率作为隐式奖励,去掉了对参考模型的依赖,并在 Bradley-Terry 目标中引入目标奖励间隔,用于大语言模型的偏好对齐训练。

简单偏好优化(Simple Preference Optimization,SimPO)是一种用于大语言模型偏好对齐的离线偏好优化算法。按该论文的表述,它把「序列的平均对数概率」直接当作隐式奖励,从而不再需要参考模型,并在 Bradley-Terry 目标中加入一个目标奖励间隔(target reward margin),让被选中的回答与落选回答之间的差距被显式拉开。它要解决的问题是:在保持甚至提升对齐效果的同时,降低偏好优化训练对显存与算力的开销,并让训练目标更贴近模型实际生成时的打分方式。

为什么重要

在 SimPO 出现之前,离线偏好优化最常被引用的方法是直接偏好优化(Direct Preference Optimization,DPO)。该论文指出,DPO 是「被广泛使用的离线偏好优化算法」,它把基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)中的奖励函数重新参数化,以提升简洁性与训练稳定性。

但 DPO 的做法带来两个实际负担。其一,它的奖励定义依赖一个参考模型:训练时需要同时持有一份参考模型的输出分布,用来约束策略不要偏离初始模型太远。这意味着训练过程中要多占一份模型权重和相应的前向计算,对显存和算力都是额外成本。其二,论文认为 DPO 所用的奖励形式与模型实际生成时的行为并不完全一致——训练时比较的是某种对数概率之比,而推理时模型是按序列逐词生成的,两者之间存在错位。

SimPO 的重要性正体现在这两点上:它试图用一个与生成过程更一致的奖励定义,同时去掉参考模型这一份开销,并在目标函数层面直接鼓励更大的胜负间隔。按论文的表述,这使得方法在计算和内存上更高效。

工作机制

按论文的描述,SimPO 的核心改动可以拆成以下几个要点。

  • 用序列平均对数概率作隐式奖励。 SimPO 把一条回答序列的平均对数概率作为该回答的隐式奖励值。论文称这一奖励形式「更好地与模型生成对齐」,因为它衡量的是模型生成整条回答时的平均每词置信度,而不是依赖与参考模型的比值。
  • 去掉参考模型。 由于奖励不再定义为「当前模型与参考模型的对数概率之比」,训练时无需再加载和运行参考模型。论文把这一点列为该方法在计算与内存上更高效的原因。
  • 引入目标奖励间隔。 SimPO 在 Bradley-Terry 目标中增加了一个目标奖励间隔项,要求被选中回答的奖励比落选回答的奖励高出至少这个间隔,而不是仅仅「略高一点」。论文称这一设计进一步提升了算法表现。
  • 沿用离线偏好数据的训练范式。 与 DPO 一样,SimPO 属于离线偏好优化:训练数据是成对的「被选中的回答 / 落选的回答」,算法在这些静态偏好对上优化策略模型,不涉及在线采样或独立的奖励模型。

论文的 v3 版本还补充了对长度归一化(length normalization)与 KL 正则(KL regularization)的讨论,说明这两项设计选择在 SimPO 的框架下需要重新审视。由于去掉了参考模型,原本由参考模型隐式提供的「不要偏离太远」的约束也随之消失,这是理解该方法取舍的关键。

典型例子

论文给出了具体的实验设置与结果,以下均为该论文自述,而非行业共识。

  • 对比对象。 作者把 SimPO 与 DPO 及其较新的若干变体进行比较,覆盖多种当前较先进的训练设置。
  • 模型范围。 实验同时包含基座模型与指令微调模型,涉及 Mistral、Llama 3 和 Gemma 2 等模型系列。
  • 评测基准。 评测集中在对话类基准上,包括 AlpacaEval 2、MT-Bench 与 Arena-Hard。
  • 报告的结果。 论文称 SimPO 在不显著增加回答长度的前提下,稳定且明显地优于已有方法;具体而言,在 AlpacaEval 2 上最多比 DPO 高 6.4 分,在 Arena-Hard 上最多高 7.5 分。
  • 表现最好的模型。 基于 Gemma-2-9B-it 构建的模型在 AlpacaEval 2 上取得 72.4% 的长度控制胜率(length-controlled win rate),在 Arena-Hard 上取得 59.1% 的胜率,并在 Chatbot Arena 的真实用户投票中位列 10B 以下模型第一。

论文标注为 NeurIPS 2024,作者为 Yu Meng、Mengzhou Xia 与 Danqi Chen,首次提交于 2024 年 5 月 23 日,最新版本 v3 修订于 2024 年 11 月 1 日。

边界与常见误解

第一,SimPO 是一种离线偏好优化方法,它优化的是给定的偏好对数据,本身不解决偏好数据从哪来、质量如何的问题。数据分布与标注质量仍然决定上限。

第二,「无需参考模型」不等于「无需约束」。论文专门讨论了 KL 正则,说明去掉参考模型后,原本由参考模型承担的偏离约束需要另行考虑。把 SimPO 理解成「删掉参考模型就完事」是常见的简化误读。

第三,论文报告的优势是在其选定的模型与基准上测得的,包括 AlpacaEval 2、MT-Bench 与 Arena-Hard 这类对话评测。这些结论不能直接外推到其他任务类型、其他模型规模或其他数据条件;论文本身也只是声称在这些设置下取得优势。

第四,关于「不显著增加回答长度」这一点,应理解为该论文在其评测中的观察,而不是该方法的结构性保证。偏好优化中奖励与长度之间的耦合是一个被广泛讨论的问题,论文在 v3 中也专门补充了长度归一化的讨论。

第五,SimPO 与 DPO 属于同一类方法家族,差别集中在奖励定义与目标函数的形式上,而不是训练范式的根本改变。把它描述成一种全新的对齐范式并不准确。

参考资料