報酬モデル訓練で標準的に使用されるペアワイズ比較の確率モデル。各応答の「強さ」パラメータから比較結果の確率を算出し、対数尤度最大化により報酬スコアを学習する。1952年にRA Bradleyと ME Terryが提案した統計モデルをLLM選好最適化に応用したものである。
Bradley-Terryモデル(BT モデル)は、ペアワイズ比較データから各項目の「強さ」を推定する統計モデルであり、LLM の報酬モデル訓練における標準的な損失関数の理論的基盤である。1952年に統計学者 Ralph Allan Bradley と Milton E. Terry が提案したこのモデルは、チェス・スポーツのレーティングシステム(Elo レーティング)と数学的に等価であり、2022年の InstructGPT 以降、RLHF パイプラインの中核手法として広く採用されている。
基本的な考え方は単純で、応答 A が応答 B に「勝つ」(選好される)確率を、各応答の報酬スコア r(A) と r(B) のシグモイド関数で表現する。
応答 $y_w$(chosen, 勝者)が応答 $y_l$(rejected, 敗者)に選好される確率:
$$P(y_w \succ y_l | x) = \sigma(r(x, y_w) - r(x, y_l))$$
ここで $\sigma$ はシグモイド関数、$r(x, y)$ はプロンプト $x$ に対する応答 $y$ の報酬スコアである。
N 個のペアワイズ比較データ $\{(x_i, y_w^i, y_l^i)\}_{i=1}^N$ に対する負の対数尤度:
$$\mathcal{L}{BT} = -\frac{1}{N} \sum{i=1}^N \log \sigma(r(x_i, y_w^i) - r(x_i, y_l^i))$$
この損失を最小化することで、chosen 応答に高スコア、rejected 応答に低スコアを付与する報酬モデルが訓練される。
比較の「確信度」を反映するためにマージン項を追加した変種:
$$\mathcal{L}{margin} = -\frac{1}{N} \sum{i=1}^N \log \sigma(r(x_i, y_w^i) - r(x_i, y_l^i) - m_i)$$
$m_i$ は品質差の大きさに比例するマージンで、明確な選好ペアにはより大きな報酬差を要求する。Skywork-Reward モデルがこのマージン付き損失で RewardBench トップスコアを達成している。
Bradley-Terry モデルと Elo レーティングは数学的に等価であり、以下の対応関係がある。
| BT モデル | Elo レーティング | 対応 |
|---|---|---|
| 報酬スコア r | Elo レート R | R = 400 × r / ln(10) |
| σ(r_A - r_B) | 期待勝率 E_A | 同一関数 |
| 負の対数尤度 | レート更新式 | 勾配が等価 |
LMSYS Chatbot Arena は BT モデルに基づく Elo レーティングシステムで LLM をランキングしており、2026年6月時点で GPT-4o が Elo 1290、Claude 3.5 Sonnet が 1272、Gemini 2.0 Flash が 1260 付近である。
import torch
import torch.nn.functional as F
def bradley_terry_loss(rewards_chosen, rewards_rejected):
"""Bradley-Terry pairwise ranking loss."""
return -F.logsigmoid(rewards_chosen - rewards_rejected).mean()
def bradley_terry_loss_with_margin(rewards_chosen, rewards_rejected, margins):
"""Margin-aware Bradley-Terry loss."""
return -F.logsigmoid(rewards_chosen - rewards_rejected - margins).mean()
BT モデルは「A > B かつ B > C ならば A > C」という推移律を暗黙に仮定するが、人間の選好は必ずしも推移的ではない。例えば、「正確だが冗長な応答」と「簡潔だが不完全な応答」の選好は文脈に依存し、循環する場合がある。
| モデル | 特徴 | 用途 |
|---|---|---|
| Thurstone-Mosteller | 正規分布ベース(BT はロジスティック分布) | 理論的に等価だが計算が重い |
| Plackett-Luce | K個のランキングに対応した BT の一般化 | K-wise ランキングデータの活用 |
| 多次元 BT | 品質軸ごとに独立した BT モデル | ArmoRM の19次元評価 |
| コンテキスト依存 BT | プロンプトの特性に応じてスコア関数を変化 | ドメイン特化 RM |
DPO(Direct Preference Optimization)は BT モデルの閉形式解を利用して、報酬モデルを明示的に訓練せずにポリシーを直接最適化する手法である。BT モデルの下で最適な報酬関数は $r^(x, y) = \beta \log \frac{\pi^(y|x)}{\pi_{ref}(y|x)}$ であり、この関係を損失関数に代入することで RM 訓練を省略する。
Q1: BT モデルはなぜ RLHF で標準なのですか? A: 数学的にシンプルで計算効率が高く、シグモイド関数の対数尤度は凸関数であるため最適化が安定するためである。また、Elo レーティングとの等価性により直感的な解釈が可能で、選好データからの学習に自然に適合する。
Q2: マージン付き損失はいつ使うべきですか? A: アノテーションに「明確な勝ち」と「僅差の勝ち」の区別がある場合に有効である。HelpSteer2 のような詳細スコアリングデータで効果が大きく、単純なペアワイズ比較のみのデータでは通常の BT 損失で十分である。
Q3: BT モデル以外の損失関数はありますか? A: ある。リストワイズ損失(ListMLE)、ヒンジ損失(max-margin)、InfoNCE 損失などが研究されている。ただし、BT 損失は実装の簡潔さ・安定性・実績から2026年現在も最も広く使用されている。