RLHF:人間フィードバックからの強化学習

Reinforcement Learning from Human Feedback。人間の選好データを用いてLLMを訓練する技術。報酬モデル、PPO最適化、InstructGPTからの発展。

最終更新:2025年11月

アライメント・安全性

※画像は生成AIによるイメージです。

1. RLHFの概要

1.1 RLHFとは

RLHF(Reinforcement Learning from Human Feedback):人間の選好データを用いて言語モデルを最適化する手法。

  • 人間が「良い」と判断した応答を学習
  • 有害・不適切な出力を抑制
  • 指示に従う能力を向上

1.2 歴史的経緯

  • 2017:Christiano et al.「Deep RL from Human Preferences」
  • 2020:Stiennon et al.「Learning to summarize with human feedback」
  • 2022:Ouyang et al.「InstructGPT」— ChatGPTの基盤
  • 2023-:DPO等の代替手法の発展

1.3 RLHFの位置づけ

LLM訓練の3段階:

  1. 事前訓練:大規模コーパスでの言語モデリング
  2. 教師ありファインチューニング(SFT):高品質な応答例での訓練
  3. RLHF:人間の選好に基づく最適化

2. なぜRLHFが必要か

2.1 事前訓練モデルの問題

  • 有害コンテンツ:訓練データに含まれる有害な内容を再現
  • 幻覚:事実と異なる情報を自信を持って出力
  • 指示無視:ユーザーの意図を正確に理解・実行しない
  • 冗長・不適切:求められていない情報を出力

2.2 SFTの限界

教師ありファインチューニング(SFT)だけでは不十分な理由:

  • 「良い」応答の定義が曖昧:単一の正解がない
  • データ収集のコスト:完璧な応答を書くのは高コスト
  • 多様性の欠如:限られた例からの学習
  • 比較の方が容易:2つの応答のどちらが良いかは判断しやすい

2.3 人間の選好の活用

人間は「AよりBが良い」という比較判断が得意:

  • 絶対評価より相対評価の方が一貫性が高い
  • 評価者間の一致率が向上
  • より自然な評価プロセス

3. RLHFパイプライン

3.1 全体フロー

RLHFは3つのステップで構成:

  1. ステップ1:SFT
    • 高品質なデモンストレーションデータで教師あり学習
    • 基本的な指示追従能力を獲得
  2. ステップ2:報酬モデル訓練
    • 人間の比較データを収集
    • 選好を予測する報酬モデルを訓練
  3. ステップ3:RL最適化
    • 報酬モデルを報酬関数として使用
    • PPOで方策(LLM)を最適化

3.2 データ収集

比較データの収集プロセス:

  1. プロンプトを用意
  2. SFTモデルで複数の応答を生成
  3. 人間の評価者が応答をランキング
  4. ペアワイズ比較データに変換

3.3 InstructGPTの例

ステップ データ量 内容
SFT 〜13,000 デモンストレーション
報酬モデル 〜33,000 比較ラベル
PPO 〜31,000 プロンプト(ラベルなし)

4. 報酬モデル

4.1 報酬モデルの役割

人間の選好を近似する関数 r(x, y):

  • 入力:プロンプト x と応答 y
  • 出力:スカラー報酬値(高いほど良い)
  • 人間の代わりに大量の応答を評価

4.2 Bradley-Terryモデル

ペアワイズ比較から選好確率をモデル化:

P(y₁ ≻ y₂ | x) = σ(r(x, y₁) - r(x, y₂))

σはシグモイド関数。報酬の差が大きいほど選好確率が高い。

4.3 訓練目的

比較データに対する負の対数尤度を最小化:

L = -E[log σ(r(x, y_w) - r(x, y_l))]

  • y_w:選好された応答(winner)
  • y_l:選好されなかった応答(loser)

4.4 実装の詳細

  • アーキテクチャ:SFTモデルに報酬ヘッドを追加
  • 出力:最終トークンの隠れ状態から線形層でスカラー出力
  • 正規化:報酬値の範囲を制御

4.5 報酬ハッキング

報酬モデルの弱点を悪用する問題:

  • 報酬は高いが実際には低品質な応答
  • 長さ、特定のフレーズ等への過学習
  • 対策:KL制約、報酬モデルのアンサンブル

5. PPO最適化

5.1 PPOの概要

PPO(Proximal Policy Optimization):安定した方策勾配法。

  • 信頼領域内での更新を保証
  • 実装が比較的容易
  • 大規模モデルでも安定

5.2 RLHFでの目的関数

最適化目標:

max E[r(x, y)] - β · KL(π || π_ref)

  • r(x, y):報酬モデルのスコア
  • KL(π || π_ref):SFTモデルからの乖離
  • β:KLペナルティ係数

5.3 KL制約の重要性

SFTモデルからの乖離を制限する理由:

  • 報酬ハッキング防止:極端な最適化を抑制
  • 言語能力維持:流暢さ、一貫性の保持
  • 安定性:訓練の発散を防止

5.4 訓練の流れ

  1. プロンプトをサンプリング
  2. 現在の方策(LLM)で応答を生成
  3. 報酬モデルでスコアを計算
  4. PPOで方策を更新
  5. 繰り返し

5.5 実装の課題

  • 計算コスト:4つのモデルが必要(方策、参照、報酬、価値)
  • ハイパーパラメータ:β、学習率等の調整が難しい
  • 不安定性:報酬ハッキング、モード崩壊

6. 課題と限界

6.1 人間評価の問題

  • 評価者間の不一致:主観的な判断のばらつき
  • バイアス:長い応答、丁寧な表現を好む傾向
  • 専門知識の限界:技術的正確性の評価が困難
  • コスト:高品質な評価は高コスト

6.2 報酬モデルの限界

  • 分布シフト:訓練時と異なる応答への汎化
  • スプリアス相関:本質でない特徴への依存
  • 過信:不確実性の表現が不十分

6.3 最適化の課題

  • 報酬ハッキング:報酬は高いが実際は低品質
  • モード崩壊:多様性の喪失
  • 能力の劣化:特定能力が犠牲になる

6.4 スケーラビリティ

  • Scalable Oversight:人間を超える能力の評価
  • Weak-to-Strong Generalization:弱い評価者での強いモデル訓練

7. 発展手法

7.1 RLAIF

RLAIF(RL from AI Feedback):

  • AIが人間の代わりに評価
  • Constitutional AIで採用
  • スケーラビリティの向上
  • バイアスの継承に注意

7.2 DPO

DPO(Direct Preference Optimization):

  • 報酬モデルを明示的に訓練しない
  • 選好データから直接方策を最適化
  • 実装が大幅に簡素化
  • 詳細ページ

7.3 その他の手法

  • IPO:Identity Preference Optimization
  • KTO:Kahneman-Tversky Optimization
  • ORPO:Odds Ratio Preference Optimization
  • SimPO:Simple Preference Optimization

7.4 Iterative RLHF

反復的な改善:

  • RLHFで改善されたモデルで新たな応答を生成
  • 新しい比較データを収集
  • 報酬モデルと方策を再訓練
  • 継続的な改善サイクル

8. 参考文献

主要論文

  • Christiano et al. (2017). "Deep Reinforcement Learning from Human Preferences" NeurIPS
  • Stiennon et al. (2020). "Learning to Summarize with Human Feedback" NeurIPS
  • Ouyang et al. (2022). "Training language models to follow instructions with human feedback" NeurIPS(InstructGPT)
  • Bai et al. (2022). "Training a Helpful and Harmless Assistant with RLHF" arXiv(Anthropic)
  • Schulman et al. (2017). "Proximal Policy Optimization Algorithms" arXiv(PPO)

サーベイ・解説

  • Lambert et al. (2022). "Illustrating RLHF" Hugging Face Blog
  • Casper et al. (2023). "Open Problems and Fundamental Limitations of RLHF" arXiv