Skip to main content

Preference Data

Preference Data は、reward model や DPO 系手法の学習の元になる「人間 (または AI) がどの response を好むか」を表すデータです。データ品質が alignment 性能を大きく左右します。

データの形式

代表的な形式:

形式内容
Pairwise2 つの response を比較。RLHF / DPO の標準。
Ranking3 つ以上の response の順位
Point-wise rating1〜7 のスコア
Binary feedback単一 response への good / bad
Edit人間が response を書き直す
ConstitutionalAI が原則に基づいて自己評価

どう集めるか

方法内容
Human annotators高品質、コスト大
Expert reviewers専門 task で必須
Crowdsourcing大量だがノイズ多い
LLM-as-a-Judge強い LLM で自動評価 (RLAIF)
Implicit feedbackユーザーの thumbs up / down、再生成、コピー

代表 dataset

  • Anthropic HH-RLHF (helpful / harmless)
  • OpenAI WebGPT comparisons
  • UltraFeedback (LLM judge)
  • HelpSteer / HelpSteer2 (multi-aspect rating)
  • Nectar
  • PRM800K (math step-level)

品質の問題

Preference data には次の系統的バイアスが入りやすいです。

バイアス内容
Verbosity bias長い response を好む
Position bias先に提示された方を好む (judge LLM 特有)
Sycophancyユーザーに同意する response を好む
Self-preferenceLLM judge が自分系列の出力を好む
Annotator drift時間とともに基準がぶれる
Domain bias特定 domain の好みが他にも転移

Step-level preference

数学や reasoning の場合、最終答だけでなく 推論ステップ単位 の preference が有効です。OpenAI の PRM800K のような step-level reward は、reasoning model や reward model の質を改善します。

数式で見る preference pair

Preference data は、同じ prompt xx に対する chosen response y+y^+ と rejected response yy^- の pair として表せます。

(x,y+,y)(x,y^+,y^-)

Bradley-Terry model では、人間が y+y^+yy^- より好む確率を reward の差で表します。

P(y+yx)=σ(rϕ(x,y+)rϕ(x,y))P(y^+\succ y^-\mid x)= \sigma\left(r_\phi(x,y^+)-r_\phi(x,y^-)\right)

ここで、σ\sigma は sigmoid、rϕr_\phi は reward model です。Reward model の loss は次のように書けます。

LRM=logσ(rϕ(x,y+)rϕ(x,y))\mathcal{L}_{\mathrm{RM}}=-\log\sigma\left(r_\phi(x,y^+)-r_\phi(x,y^-)\right)

この式の気持ちは、「chosen の reward が rejected の reward より高くなるように学習する」というものです。絶対的な点数ではなく差分を学習するため、annotator 間の基準の違いをある程度吸収できます。

関連ページ

主なソース