AI・機械学習
上級

ORPO (Odds Ratio Preference Optimization) 2024(オーアールピーオーオッズレシオプレファレンスオプティマイゼーション2024)

Hong ら KAIST 2024年 LLM alignment 手法。SFT と preference 学習を1段階統合・reference model 不要で計算コスト半減

0 回閲覧
0 いいね
2026/5/23 更新
関連タグ
LLM
アライメント
ORPO
SFT統合
KAIST
2024
reference不要

概要

ORPO(Odds Ratio Preference Optimization)は 2024年3月に韓国 KAIST(Korea Advanced Institute of Science and Technology)の Jiwoo Hong・Noah Lee・James Thorne ら 3名が arXiv:2403.07691 で発表した革新的 LLM alignment 手法(論文「ORPO: Monolithic Preference Optimization without Reference Model」)。従来 SFT (Supervised Fine-Tuning) → DPO/PPO の 2段階パイプラインを 1段階に統合し、さらに DPO が必須としていた reference model(π_ref)を不要にすることで計算コスト半減・GPU メモリ 50% 削減を実現した画期的手法。

論文発表後 1ヶ月で Hugging Face TRL に ORPOTrainer として実装され、Mistral 7B・Llama 3 8B 等のコミュニティ fine-tune で標準採用された。最大の優位性は SFT データセットと preference データセットを同じ形式(chosen のみ + chosen vs rejected)で扱えるため、データ準備の柔軟性が高いこと。

主な特徴・仕組み

  • 理論基盤: Odds Ratio(オッズ比、医学統計の基本概念)
  • 損失関数: L_ORPO = L_SFT + λ·L_OR、L_OR = -log σ(log(odds_θ(y_w|x)/odds_θ(y_l|x)))
  • λ パラメータ: 0.1-0.5(SFT と preference の比重、デフォルト 0.1)
  • Reference Model: 不要(π_ref 計算スキップで GPU メモリ 50% 削減)
  • データ形式: (prompt, chosen, rejected) ペア(DPO と同じ)
  • 学習段階: 1段階(SFT + preference 同時最適化)
  • 計算コスト: DPO の 50%・PPO の 25%
  • chosen の loss: 同時に SFT として強化(負の log-likelihood)
  • rejected の loss: odds ratio で相対的に下げる
  • OS バージョン: v1 (2024-03)・v2 (2024-04 改良版)

スペック比較表

項目ORPO 2024DPO 2023KTO 2024SimPO 2024
SFT 統合あり (1段階)なし (2段階)なしなし
Reference Model不要必要必要不要
GPU メモリ1x2x (base+ref)2x1x
学習時間短 (50%)中 (100%)中 (100%)短 (50%)
データ形式ペアペア単発 or ペアペア
採用例Mistral ORPO CapybaraZephyr β, Tulu 2Archangel, Zephyr KTOSimPO Llama 3

具体例・対応製品

  • Mistral ORPO Capybara 7B (Argilla 2024-04): Mistral 7B + Capybara DPO data の ORPO 版、MT-Bench 8.2
  • ORPO Mistral Alpha 7B (KAIST 2024-03): 論文の reference 実装、UltraFeedback 採用
  • ORPO Llama 3 8B (HuggingFace 2024-05): Llama 3 8B + ORPO、Open LLM Leaderboard 上位
  • ORPO Phi-3 Mini (Microsoft コミュニティ 2024-05): Phi-3 3.8B + ORPO 軽量版
  • Zephyr ORPO 7B (HuggingFace 2024-04): Zephyr 7B β の ORPO 再学習版

選び方・注意点

  • SFT データと preference データ統合: 同じデータ準備で両方学習できるため運用容易
  • GPU メモリ制約環境: reference model 不要で 50% 削減、24GB GPU で 13B モデル可
  • λ 設定: 0.1 が安定、0.3-0.5 で preference 学習強化
  • chosen の質: SFT も同時実行されるため chosen データの質が DPO 以上に重要
  • TRL ORPOTrainer: 2024-04 以降標準搭載、ORPOConfig で設定
  • DPO との性能差: 同サイズで僅差〜ORPO 優位、特に小規模モデル (7B 以下) で ORPO 優位

関連用語との違い

用語違い
ORPO 2024SFT 統合・reference 不要・odds ratio
DPO 20232段階・reference 必要
KTO 2024プロスペクト理論・単発ラベル可
IPO 2024過剰最適化修正・reference 必要
SimPO 2024更に簡素化・reference 不要・odds ratio なし

よくある質問(FAQ)

Q1: SFT と preference を同時最適化のリスクは? A: SFT が chosen を強化し、preference が rejected を相対的に下げるため互いに整合的。論文では分離パイプラインより安定との結果。ただし λ 設定を誤ると SFT 偏重・preference 偏重に傾くリスクあり、デフォルト 0.1 で開始推奨。

Q2: Odds Ratio はなぜ使う? A: 確率比 (probability ratio) は分母が 0 に近づくと発散するが、odds ratio は計算安定。π/(1-π) という形で、π → 1 でも grad が暴走しにくい数学的性質を持つ。医学統計の RCT 解析で使われる古典手法。

Q3: DPO と ORPO どちらを選ぶ? A: GPU 制約環境・SFT 統合が魅力なら ORPO、既存 SFT モデルから出発するなら DPO。最近のコミュニティ実装は ORPO 寄り(特に Mistral 系)、研究用途では DPO 寄り。性能差は誤差範囲。

まとめ

  • KAIST 2024年3月発表・SFT と preference を 1段階統合
  • Reference model 不要で GPU メモリ 50% 削減
  • 計算コスト DPO の 50%・PPO の 25%
  • Mistral ORPO Capybara・Llama 3 8B 等で実証
  • TRL ORPOTrainer 標準対応・コミュニティ実装活発
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/23