SimPO

📌 核心贡献

提出以序列平均对数概率作为无参考模型的隐式奖励,结合目标奖励间距项,实现比 DPO 更简单、更高效且性能更优的偏好优化算法。

📖 摘要

Direct Preference Optimization (DPO) is a widely used offline preference optimization algorithm that reparameterizes reward functions in reinforcement learning from human feedback (RLHF) to enhance simplicity and training stability. In this work, we propose SimPO, a simpler yet more effective approach. The effectiveness of SimPO is attributed to a key design: using the average log probability of a sequence as the implicit reward. This reward formulation better aligns with model generation and eliminates the need for a reference model, making it more compute and memory efficient. Additionally, we introduce a target reward margin to the Bradley-Terry objective to encourage a larger margin between the winning and losing responses, further improving the algorithm’s performance. We compare SimPO to DPO and its latest variants across various state-of-the-art training setups, including both base and instruction-tuned models such as Mistral, Llama 3, and Gemma 2. We evaluate on extensive chat-based evaluation benchmarks, including AlpacaEval 2, MT-Bench, and Arena-Hard. Our results demonstrate that SimPO consistently and significantly outperforms existing approaches without substantially increasing response length. Specifically, SimPO outperforms DPO by up to 6.4 points on AlpacaEval 2 and by up to 7.5 points on Arena-Hard. Our top-performing model, built on Gemma-2-9B-it, achieves a 72.4% length-controlled win rate on AlpacaEval 2, a 59.1% win rate on Arena-Hard, and ranks 1st on Chatbot Arena among <10B models with real user votes.

🔍 关键信息

字段内容
机构University of Virginia, Princeton University
发表2024-05-23
分类cs.CL, cs.LG
链接arXiv

📝 我的笔记

方法总览

SimPO 与 DPO 在 AlpacaEval 2 和 Arena-Hard 上的性能对比,SimPO 在多个模型设置下均显著优于 DPO

动机与问题定义

DPO 的隐式奖励使用策略模型与参考模型的对数概率比:

这存在两个关键问题:

  1. 计算开销:训练时需要同时维护参考模型,增加显存和计算成本
  2. 训练-推理不一致:DPO 的奖励排序 不一定意味着生成时的似然排序 。实验表明,仅约 50% 的训练样本同时满足奖励排序和似然排序

方法

SimPO 的核心思想是用序列平均对数概率直接作为隐式奖励,消除对参考模型的依赖。

1. 平均对数概率奖励

这一指标与 beam search 和多选任务中的排序指标完全一致,确保了训练目标与推理行为的对齐。

2. 长度归一化

SimPO 的长度归一化分析:(a) 奖励间距随长度差异的变化;SimPO 在所有长度区间均保持正的奖励间距

除以序列长度 消除了长度偏差。未归一化的对数概率总和天然偏向更长的序列。实验验证:

方法平均对数似然与长度的 Spearman 相关系数
SimPO w/o LNρ = 0.82(严重长度利用)
DPOρ = 0.59(隐式归一化)
SimPOρ = 0.34(最小相关性)

3. 目标奖励间距 (γ)

在 Bradley-Terry 目标中引入间距项 γ,强制 winning 和 losing 响应之间保持最小奖励差距:

目标间距 γ 对奖励准确率和胜率的影响:奖励准确率随 γ 单调递增,胜率在 γ ≈ 1.0 时达到峰值

最优范围为 γ ∈ [0.5, 1.5]。

4. 完整 SimPO 目标函数

关键超参数:β ∈ [2.0, 2.5],γ ∈ [0.5, 1.5]。

DPO vs SimPO 对比

DPO 的长度-似然相关性更强(ρ=0.59),且约 50% 的奖励偏好对违反似然排序;SimPO 实现了更高的奖励准确率

关键实验结果

主要结果

模型设置方法AlpacaEval 2 LCArena-Hard WRMT-Bench
Mistral-7B-BaseDPO15.1%10.4%5.9
Mistral-7B-BaseSimPO21.5%16.6%6.0
Llama-3-8B-InstructDPO40.3%37.9%7.0
Llama-3-8B-InstructSimPO44.7%40.5%7.0

最佳模型 Gemma-2-9B-it-SimPO 达到:

  • AlpacaEval 2 长度控制胜率 72.4%
  • Arena-Hard 胜率 59.1%
  • Chatbot Arena <10B 模型排名第 1

SimPO 相比 DPO 的最大提升:AlpacaEval 2 +6.4 分,Arena-Hard +7.5 分。

Ablation 分析

配置AlpacaEval 2 LCArena-Hard WR
DPO Baseline15.1%10.4%
SimPO(完整)21.5%16.6%
w/o 长度归一化11.9%9.4%
γ = 0(无间距项)16.8%11.7%
  • 去除长度归一化:AlpacaEval 2 下降 9.6 分
  • 去除间距项 γ:AlpacaEval 2 下降 4.7 分
  • 两个组件均为关键设计

效率优势

SimPO 无需参考模型,相比 DPO:

  • 训练时间减少约 20%
  • GPU 显存减少约 10%

总结与评价

SimPO 是一个设计极为精巧的工作。核心洞察在于:DPO 的隐式奖励(策略/参考模型对数概率比)与实际推理时使用的排序指标(平均对数概率)存在根本性的不一致。SimPO 通过直接使用平均对数概率作为奖励,同时引入长度归一化和目标间距两个简单而有效的设计,在不增加任何计算开销的前提下实现了显著的性能提升。这一工作也揭示了 DPO 中训练目标与推理行为脱节的深层问题。

🔗 相关论文

基于/改进自: DPO

同方向: InstructGPT, RM-Survey