IPO, KTO, ORPO, SimPO
DPO の登場以降、その弱点を補ったり、設定を変えたりした direct preference optimization variants が次々と提案されました。ここでは代表的なものを整理します。
比較表
| 名前 | キー特徴 |
|---|---|
| IPO | DPO の logistic loss を squared loss に置き換え、overfitting を抑制 |
| KTO | 単一 response への good / bad だけで学習可能 |
| ORPO | SFT loss と preference loss を 1 stage に統合 |
| SimPO | Reference model を省き、length-normalized log-prob で学習 |
| cDPO | Label noise を仮定し、robust に loss を smoothing |
IPO
DPO は preference data に対して overfit しやすく、reward gap が極端に開く ことが知られています。IPO (Identity Preference Optimization) は logistic loss の代わりに次の二乗 loss を使います。
これにより、勝者と敗者の差を「無限に広げる」方向の degenerate solution を避けやすくなります。
KTO
DPO は (winner, loser) pair を要求しますが、現実には「この response は good / bad」という 単独 feedback しか集められない場合も多いです。KTO (Kahneman-Tversky Optimization) は、prospect theory にヒントを得て、
- Desirable response の効用を上げる
- Undesirable response の不効用を抑える
を別々に扱う objective を設計します。Pair が不要な点で、production の thumbs-up / down log と相性が良いです。
ORPO
通常 alignment は SFT → preference の 2 stage ですが、ORPO (Odds Ratio Preference Optimization) は SFT と preference を 1 stage に統合 します。
は odds ratio に基づく preference loss です。Reference model も不要で、reproducibility と簡潔さで人気があります。
SimPO
SimPO は、
- Reference model を省く
- Length-normalized average log-probability を使う
- Margin を導入する
ことで、DPO のメモリ要件と length bias を緩和します。
選び方の目安
| 状況 | 候補 |
|---|---|
| 高品質 pair preference + SFT 済 | DPO / SimPO |
| Overfit / reward gap 暴走 | IPO |
| Pair が無く binary label のみ | KTO |
| Pipeline をシンプルにしたい | ORPO |
| メモリ厳しい | SimPO |
| Annotator noise が大きい | cDPO |
共通の注意
これら DPO 系は、
- SFT がしっかりしていることが前提
- Length bias が出やすい
- 同じ data で iterate しすぎると過剰最適化
- Reasoning task では PPO / GRPO の方が強いこともある
ことに注意が必要です。
数式で見る DPO variants の共通形
DPO 系の preference optimization は、chosen と rejected の policy score 差を大きくする形として統一的に見られます。
ここで、 は method ごとに異なる score です。DPO では reference policy との log ratio が使われます。
SimPO は reference model を使わず、sequence length で正規化した log probability を score として使います。
ORPO は、SFT loss に preference の odds ratio penalty を足す見方ができます。KTO は chosen / rejected pair ではなく、good / bad の単独 label から prospect theory 風の utility を学習します。
この整理の気持ちは、「各 variant は、何を score と見なし、reference model を使うかどうか、pairwise か unary label かが違う」と理解することです。
関連ページ
主なソース
- IPO: https://arxiv.org/abs/2310.12036
- KTO: https://arxiv.org/abs/2402.01306
- ORPO: https://arxiv.org/abs/2403.07691
- SimPO: https://arxiv.org/abs/2405.14734
- cDPO / robust DPO: https://arxiv.org/abs/2403.00409