AI・機械学習
上級

SimPO(シンプル選好最適化)(シムポ)

参照モデルを使わず、シーケンス長で正規化した平均対数確率を報酬代理として使うアライメント手法。DPOやORPOより実装がシンプルで、2024年Princeton大学が提案。長い応答への偏りを防ぐ長さペナルティも内蔵し、AlpacaEval 2.0で当時SOTA達成。

0 回閲覧
0 いいね
2026/5/24 更新
関連タグ
アライメント
参照モデル不要
長さペナルティ
選好学習
Princeton
AlpacaEval SOTA

SimPO(シンプル選好最適化)とは

SimPO(Simple Preference Optimization)は、Princeton NLPグループのMengzhou Xia らが2024年5月に発表した論文「SimPO: Simple Preference Optimization with a Reference-Free Reward」で提案されたLLMアライメント手法。2024年6月時点でLlama-3-8B + SimPOがAlpacaEval 2.0ベンチマークで80.5%のWin rateを達成し、当時のSOTA(State of the Art)として注目を集めた。

参照モデルなし報酬の革新

DPOは参照モデル(πref)との対数確率比を報酬として使う。SimPOはシーケンス長|y|で正規化した平均対数確率を報酬として使う。この変更により:

  1. 参照モデル不要: πrefが消えるためVRAMと計算コストを削減
  2. 長さ正規化: 長い応答が有利になる「length bias」を防止
  3. γマージン: chosen/rejectedの報酬差に最小マージンγを設定

主要手法との技術比較

手法参照モデル長さ正規化ペアデータVRAM効率
DPO必須なし必須低
IPO必須なし必須低
KTO必須なし不要低
ORPO不要なし必須高
SimPO不要あり必須高

SimPOの実装(TRL CPOTrainer使用)

from trl import CPOTrainer, CPOConfig

training_args = CPOConfig(
    loss_type="simpo",    # SimPOモード指定
    simpo_gamma=0.5,      # マージンγ(0.5〜1.5が目安)
    beta=2.5,             # 温度パラメータ(DPOより高め)
    learning_rate=1e-6,
    per_device_train_batch_size=2,
    gradient_accumulation_steps=4,
    output_dir="./simpo-model",
)

trainer = CPOTrainer(
    model=model,         # 参照モデル不要
    args=training_args,
    train_dataset=dataset,
    tokenizer=tokenizer,
)
trainer.train()

ベンチマーク実績(2024年論文値)

モデル・手法AlpacaEval 2.0 Win%MT-BenchArenaHard
Llama-3-8B + SFT4.7%7.04.3
Llama-3-8B + DPO44.3%8.146.3
Llama-3-8B + ORPO52.6%8.148.1
Llama-3-8B + SimPO80.5%8.165.0
Llama-3-70B + SimPO86.3%8.582.1

ハイパーパラメータ設定指針

パラメータ推奨値説明
β2.0〜2.5DPOの10〜25倍(損失スケールが異なる)
γ(simpo_gamma)0.5〜1.5低すぎると効果薄、高すぎると不安定
learning_rate1e-6〜5e-6DPOと同程度
max_length4096長さ正規化を有効活用するため長めに設定

よくある質問(FAQ)

Q1: SimPOはDPOより常に優れていますか? A: AlpacaEval 2.0では大差でSimPOが上回るが、これはAlpacaEval自体がGPT-4-Turboと比較するため、SimPOの長さペナルティが「簡潔で明確な回答」として高評価されやすい可能性がある。MT-BenchではDPOと同スコア。用途に合わせて選択する。

Q2: βをDPOと同じ0.1にしたら動きませんでした。なぜですか? A: SimPOは損失関数のスケールがDPOと異なるため、β=0.1では効果が出にくい。SimPO論文はβ=2.5を推奨。βはDPOの20〜25倍程度の値が適切。

Q3: 参照モデルなしで品質が下がりませんか? A: 参照モデルはKL正則化に使われるが、SimPOはγマージンがその役割を代替する。実験ではDPO同等以上の品質が報告されているが、特定のドメインでは参照モデルあり手法の方が安定する場合もある。

まとめ

  • SimPOは参照モデル不要・長さ正規化内蔵の最新アライメント手法(2024年Princeton)
  • AlpacaEval 2.0でLlama-3-8B+SimPOが80.5%Win rateを達成しSOTA記録
  • TRLのCPOTrainerでloss_type=simpoを指定するだけで実装可能
  • β=2.5・γ=0.5から始めて検証セットの長さとスコアを見ながら調整
  • VRAM効率と高スコアを両立した2025〜2026年の注目アライメント手法
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/24