直接嗜好最適化手法によるLLMの嗜好チューニング – DPO、IPO、KTOの実証比較
TL;DR – Hugging Face は、強化学習を使用しない 3 つのアラインメント手法(Direct Preference Optimization (DPO)、Identity Preference Optimisation (IPO)、Kahneman‑Tversky Optimisation (KTO))を 2 つの 7B チャットモデルで評価し、β 重みなどハイパーパラメータを慎重に調整した場合、DPO が一貫して他を上回ることを示した。
はじめに
このブログ記事では、従来の強化学習を回避する最近の 3 つの LLM アラインメントアルゴリズムの実証比較を報告しています。研究では、2 つの高品質 7B モデル(OpenHermes‑2.5‑Mistral‑7B と Zephyr‑7b‑beta‑sft)を、β ハイパーパラメータのスイープにわたって 3 つの損失関数(DPO、IPO、KTO)でファインチューニングし、GPT‑4 ベースのマルチターンベンチマーク MT‑Bench を用いて 8 つの能力カテゴリをカバーする評価を行いました。
強化学習を使用しないアラインメント手法
- Direct Preference Optimization (DPO) – アラインメントをペアになった嗜好タプル ((x, y_w, y_l)) 上のシンプルな損失として再定式化し、Zephyr や Intel の NeuralChat などのモデルの学習に使用されています。
- Identity Preference Optimisation (IPO) – DPO に正則化項を追加し、ロバスト性を向上させ、早期停止なしで収束まで学習できるようにします。
- Kahneman‑Tversky Optimisation (KTO) – ペアの嗜好ではなく、二値の「good」/「bad」ラベルのみを使用し、サムズアップ/ダウンのような低コストなフィードバック信号からのアラインメントを可能にします。
これら 3 つの手法はすべて 🤗 TRL ライブラリで DPOTrainer を介して実装されており、loss_type 引数は sigmoid(DPO)、ipo(IPO)、kto_pair(KTO)に設定されています。
実験設定
- Models: OpenHermes‑2.5‑Mistral‑7B(未アラインメントの 7B チャットモデル)と Zephyr‑7b‑beta‑sft(すでに教師ありデータでファインチューニング済み)。
- Datasets:
- orca_dpo_pairs(13 k のプロンプトペア、GPT‑4 が選択し Llama‑Chat‑13B が拒否)– OpenHermes に使用。
- ultrafeedback‑binarized(66 k のプロンプトペア)– Zephyr に使用。
- Training configuration: 1 エポック、デバイスあたりバッチサイズ 8、学習率 5e‑7、コサインスケジューラ、β 値は 0.01 から 0.9、勾配チェックポイント、bf16 有効、100 ステップごとに評価。
- Evaluation: MT‑Bench。GPT‑4 を使用してモデルの応答を採点し、Writing、Roleplay、Reasoning、Math、Coding、Extraction、STEM、Humanities の 8 カテゴリにわたって評価します。
完全な設定ファイルとスクリプトは Hugging Face の alignment‑handbook リポジトリで入手可能です。
ハイパーパラメータスイープ
各損失タイプごとに beta パラメータ(0.01、0.1 … 0.9)を変化させ、他の設定はすべて固定した体系的なスイープが実施されました。このスイープは Hugging Face の GPU クラスタ上で、モデル構成、損失タイプ、β 値を反復する Bash スクリプトを使用して実行され、各実行は個別の SLURM ジョブとして送信されました。
configs=("zephyr" "openhermes")
loss_types=("sigmoid" "kto_pair" "ipo")
betas=("0.01" "0.1" "0.2" "0.3" "0.4" "0.5" "0.6" "0.7" "0.8" "0.9")
# ... loop omitted for brevity ...
結果
Zephyr‑7b‑beta‑SFT
- 最低の β(0.01)が 3 つのアルゴリズムすべて に対して最高の MT‑Bench スコアをもたらしました。
- DPO が全体として最高の MT‑Bench スコアを達成しましたが、KTO(ペア) は 1 つを除くすべての設定で DPO と同等または上回りました。
- IPO は理論的なロバスト性にもかかわらず、ほとんどの構成でベースの Zephyr モデルよりも性能が劣りました。
- カテゴリ別の分析では、Reasoning、Coding、Math に顕著なギャップが見られます。
OpenHermes‑2.5‑Mistral‑7B
- アルゴリズムの順位は DPO > KTO > IPO のままでした。
- 最適な β 値は大きく異なりました:
- DPO: β = 0.6
- KTO: β = 0.3
- IPO: β = 0.01
- 嗜好アラインメントにより MT‑Bench が約 0.3 ポイントしか向上しなかったことから、OpenHermes はすでに強力なベースモデルであることが示唆されます。
両モデルファミリーは β が重要なハイパーパラメータ であることを示しており、わずかな変化でも MT‑Bench のスコアが数ポイント変動します。
まとめと洞察
- すべてのアラインメント手法において、β の慎重なチューニングが不可欠です。
- ペア嗜好設定では、DPO が一貫して KTO と IPO を上回ります が、β が適切に選択された場合、KTO も競争力があります。
- 収束保証を提供する IPO ですが、今回の実験ではベースラインを上回りませんでした。
- オープンソースのコード、設定、そして生成されたモデルチェックポイントは、Hugging Face の alignment‑handbook と関連するモデルコレクションで公開されています。
今後の展望
今後の研究では、🤗 TRL に新たな嗜好アラインメントアルゴリズムを追加し、評価スイートを拡張していきます。著者らは、現時点では DPO が最も堅牢な選択肢であり続けると予想しつつ、KTO はペアデータなしで低コストな二値フィードバックを活用する有望な道筋を提供すると考えています。
Links
- ハイパーパラメータスキャンコード: https://github.com/huggingface/alignment-handbook/tree/main/recipes/pref_align_scan
- データセットとモデルコレクション: https://huggingface.co/collections/alignment-handbook/dpo-vs-kto-vs-ipo-65a69c5f03548d61dbe29ef8
- 更新された IPO 実装(損失平均化修正): https://github.com/huggingface/trl/pull/1265