跳转至

SimPO

用长度归一化的 policy log-probability 直接作 reward,并用目标 margin 拉开偏好。

论文信息

字段 内容
论文链接 SimPO: Simple Preference Optimization with a Reference-Free Reward
公司 / 机构 Princeton University
首次公开日期 2024-05-23
原作者代码 已开源
本地 adapter / CLI key simpo
本地复现代码 src/auto_research/post_training/

原始论文总结

背景与主要改动

DPO 训练需要常驻 reference model,而且 sequence 概率天然偏向短响应。SimPO 用平均 token log-probability 作为隐式 reward,去掉 reference model,并在 Bradley–Terry 目标中加入固定 margin。

flowchart LR
    P["prompt + chosen / rejected"] --> L["分别计算平均 token log-prob"]
    L --> M["chosen - rejected - margin"]
    M --> B["log-sigmoid preference loss"]
    B --> U["仅更新 policy;无 reference"]

原论文关键图

SimPO 原论文 Figure 1

原论文 Figure 1(关键图):展示原论文方法的总体设计和关键组成。图片来自原论文,版权归原作者所有;点击图片可查看来源。

核心公式

\[ r_{\mathrm{SimPO}}(x,y)=\frac{\beta}{|y|}\log\pi_\theta(y|x),\qquad \mathcal L=-\log\sigma\!\left(r(x,y_w)-r(x,y_l)-\gamma\right). \]

论文离线与线上效果

论文报告 SimPO 相对 DPO 在 AlpacaEval 2 最多提升 6.4 点、Arena-Hard 最多提升 7.5 点;Gemma-2-9B-it 配置达到 72.4% length-controlled AlpacaEval 2 win rate。 论文没有生产线上 A/B 实验。

本地复现

本地在自由生成 causal LM 上实现平均 token log-probability 和 margin,训练时不创建 reference model;用相同 warmup、数据、步数与 seed 和其他自由生成方法比较。

auto-research post-train --algorithm simpo --dataset arithmetic-generate \
  --maximum-examples 48 --steps 6 --seeds 42,43,44 --offline

稳定指标: free-generation-post-training-seeds42-44.json

复现边界

核心 sequence normalization、reference-free reward 和 margin 已落到真实 token loss;未复刻 Mistral/Llama/Gemma 规模训练及 AlpacaEval judge。