※画像は生成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段階:
- 事前訓練:大規模コーパスでの言語モデリング
- 教師ありファインチューニング(SFT):高品質な応答例での訓練
- RLHF:人間の選好に基づく最適化
2. なぜRLHFが必要か
2.1 事前訓練モデルの問題
- 有害コンテンツ:訓練データに含まれる有害な内容を再現
- 幻覚:事実と異なる情報を自信を持って出力
- 指示無視:ユーザーの意図を正確に理解・実行しない
- 冗長・不適切:求められていない情報を出力
2.2 SFTの限界
教師ありファインチューニング(SFT)だけでは不十分な理由:
- 「良い」応答の定義が曖昧:単一の正解がない
- データ収集のコスト:完璧な応答を書くのは高コスト
- 多様性の欠如:限られた例からの学習
- 比較の方が容易:2つの応答のどちらが良いかは判断しやすい
2.3 人間の選好の活用
人間は「AよりBが良い」という比較判断が得意:
- 絶対評価より相対評価の方が一貫性が高い
- 評価者間の一致率が向上
- より自然な評価プロセス
3. RLHFパイプライン
3.1 全体フロー
RLHFは3つのステップで構成:
- ステップ1:SFT
- 高品質なデモンストレーションデータで教師あり学習
- 基本的な指示追従能力を獲得
- ステップ2:報酬モデル訓練
- 人間の比較データを収集
- 選好を予測する報酬モデルを訓練
- ステップ3:RL最適化
- 報酬モデルを報酬関数として使用
- PPOで方策(LLM)を最適化
3.2 データ収集
比較データの収集プロセス:
- プロンプトを用意
- SFTモデルで複数の応答を生成
- 人間の評価者が応答をランキング
- ペアワイズ比較データに変換
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 訓練の流れ
- プロンプトをサンプリング
- 現在の方策(LLM)で応答を生成
- 報酬モデルでスコアを計算
- PPOで方策を更新
- 繰り返し
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