# Training language models to follow instructions with human feedback
Navigation: [[index]] | [[sources/_index|sources]]
> [!abstract]
> 言語モデルを大きくしても、ユーザーの意図に従う能力が自動的に高まるわけではない。大規模言語モデルは、真実でない、有害、あるいは単に有用でない出力を生成することがある。言い換えると、これらのモデルはユーザーとアラインしていない。本論文では、人間のフィードバックによるファインチューニングにより、広範なタスクにわたって言語モデルをユーザーの意図にアラインする方法を示す。ラベラーが記述したプロンプトと OpenAI API を通じて送信されたプロンプトのセットから始め、望ましいモデル挙動のラベラーによるデモンストレーションのデータセットを収集し、教師あり学習で GPT-3 をファインチューニングする。次に、モデル出力のランキングのデータセットを収集し、人間のフィードバックによる強化学習(RLHF)を使ってこの教師ありモデルをさらにファインチューニングする。得られたモデルを InstructGPT と呼ぶ。我々の API プロンプト分布での人間評価において、1.3B パラメータの InstructGPT モデルの出力は、100 倍以上のパラメータ数を持つ 175B GPT-3 の出力より選好される。さらに、InstructGPT モデルは公開 NLP データセットでの性能をほとんど低下させることなく、真実性の向上と有害出力の削減を示す。InstructGPT がまだ単純なミスを犯すものの、我々の結果は人間のフィードバックによるファインチューニングが言語モデルを人間の意図にアラインする有望な方向性であることを示している。
## 論文情報
| 項目 | 内容 |
|---|---|
| タイトル | Training language models to follow instructions with human feedback |
| 著者 | Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, Ryan Lowe |
| 所属 | [[OpenAI]] |
| 会議/誌 | NeurIPS 2022 |
| 公開日 | 2022-03-04 |
| arXiv | arXiv:2203.02155 |
| コード | https://github.com/openai/following-instructions-human-feedback |
## 概要
本論文は、GPT-3 を人間のフィードバックによる強化学習(RLHF)で微調整した InstructGPT を提案する。3 ステップのパイプライン(監督ファインチューニング → 報酬モデル学習 → PPO 最適化)により、100 倍以上パラメータ数が少ない 1.3B InstructGPT が 175B GPT-3 より人間に選好されることを実証した。RLHF によるアライメントは、事前学習コストに比べてはるかに低コストで達成可能であることも示す。
## 問題設定
大規模言語モデルは次トークン予測目的で学習されており、この目的関数は「ユーザーの指示に従う」という実際の目標と一致していない(目的関数のミスアラインメント)。その結果、LLM は事実でない情報を生成したり、有害・有毒なテキストを出力したり、ユーザーの指示に従わない傾向がある。
**入力**: ユーザーが送信した自然言語プロンプト(生成・QA・ブレインストーミング・要約・チャット等)
**出力**: 有用(helpful)・正直(honest)・無害(harmless)な自然言語応答
**評価基準**: ラベラーによる人間選好評価(ベースライン: 175B SFT モデルとの勝率)、TruthfulQA・RealToxicityPrompts・CrowS-Pairs 等の公開ベンチマーク
## 提案手法
RLHF を 3 ステップのパイプラインで実装する。
![[_attachments/arxiv-2203.02155/fig2-rlhf-pipeline.png]]
**ステップ 1: 監督ファインチューニング(SFT)**
- 約 40 人の契約ラベラーがプロンプトに対して望ましい応答のデモンストレーションを記述
- SFT データセット: 約 13k 訓練プロンプト
- GPT-3 アーキテクチャ上で 16 エポック、コサイン学習率スケジュール、残差ドロップアウト 0.2 で訓練
**ステップ 2: 報酬モデル(RM)学習**
- 同一プロンプトに対する K=4〜9 個のモデル出力をラベラーがランキング
- RM データセット: 約 33k 訓練プロンプト
- 損失関数: $\text{loss}(\theta) = -\frac{1}{\binom{K}{2}} \mathbb{E}_{(x, y_w, y_l) \sim D} [\log(\sigma(r_\theta(x, y_w) - r_\theta(x, y_l)))]$
- 計算効率化のため、同一プロンプトの全比較を 1 バッチ要素として処理
- 6B RM を採用(175B は訓練不安定・計算コスト増で不採用)
**ステップ 3: PPO による強化学習**
- SFT モデルを初期ポリシーとして PPO で最適化
- KL ペナルティを加えて SFT 分布からの過度な逸脱を防止
- 最適化目的関数:
$\text{objective}(\phi) = \mathbb{E}_{(x,y) \sim D_{\pi^{RL}}} [r_\theta(x, y) - \beta \log \pi^{RL}_\phi(y|x) / \pi^{SFT}(y|x)] + \gamma \mathbb{E}_{x \sim D_{\text{pretrain}}} [\log(\pi^{RL}_\phi(x))]$
- **PPO**: γ=0(事前学習混合なし)
- **PPO-ptx**: γ=27.8(事前学習勾配を混合してアライメント税を緩和)
モデルサイズ: 1.3B・6B・175B パラメータ(全て GPT-3 アーキテクチャ)。PPO データセット: 約 31k プロンプト(API のみ)。
## 新規性
先行研究との差分:
| 先行研究 | InstructGPT の新規性 |
|---|---|
| RLHF(Christiano+ 2017; Stiennon+ 2020) | テキスト要約に限定 → **広範な自然言語タスク分布**に拡張 |
| 指示チューニング(FLAN・T0) | 公開 NLP データセットで訓練 → **実際の API ユーザーの多様なプロンプト**で訓練 |
| GPT-3 few-shot | プロンプトエンジニアリングが必要 → **明示的な指示追従**を学習 |
| スケーリング | 100 倍の規模増大 → **RLHF は 100 倍のスケールアップより効果的** |
Paul Christiano らの RLHF の先行提案を、OpenAI の商用 API における大規模な実証として展開した点が主な貢献である。
## 実験設定
**データセット**:
- SFT: 13k プロンプト(ラベラー記述 11,295 件 + API 顧客 1,430 件)
- RM: 33k プロンプト(ラベラー記述 6,623 件 + API 顧客 26,584 件)
- PPO: 31k プロンプト(API 顧客のみ)
**モデル**: GPT-3(1.3B・6B・175B)を起点にした SFT・PPO・PPO-ptx
**ベースライン**: GPT-3、GPT-3(few-shot プロンプト付き)、SFT、FLAN、T0
**評価指標**:
- 人間評価: ラベラーによる 175B SFT モデルとの勝率比較、1-7 Likert スコア
- 真実性: TruthfulQA
- 毒性: RealToxicityPrompts + Perspective API
- バイアス: Winogender・CrowS-Pairs
- NLP 能力: DROP・QuAC・SQuADv2・HellaSwag・WMT15 Fr→En 等
**ラベラー**: Upwork・Scale AI 経由の約 40 名の契約作業者(米国・東南アジア在住英語話者が中心)
## 実験結果
**主要結果(人間評価)**:
![[_attachments/arxiv-2203.02155/fig1-win-rate.png]]
- 175B InstructGPT の出力は GPT-3 比 **85 ± 3%** の頻度で選好
- 175B InstructGPT は few-shot GPT-3 比 **71 ± 4%** の頻度で選好
- **1.3B InstructGPT が 175B GPT-3 を上回る**(100 倍以上のパラメータ差を逆転)
![[_attachments/arxiv-2203.02155/fig3-detailed-winrate.png]]
- 訓練・検証外ラベラー双方で同様の傾向: RM の 5 分割交差検証精度 72.4% → held-out で 69.6%
**真実性**:
- TruthfulQA: InstructGPT は GPT-3 比約 **2 倍**の真実かつ有益な回答を生成
- クローズドドメイン幻覚率: GPT-3 41% → InstructGPT 21%(約半減)
**毒性**:
- 丁重なプロンプト条件で GPT-3 比約 **25% 少ない**有毒出力
- ただし毒性生成を明示的に指示された場合は InstructGPT がより有毒
**バイアス**:
- Winogender・CrowS-Pairs では GPT-3 と有意差なし
**FLAN・T0 との比較**:
- InstructGPT 対 FLAN: InstructGPT 勝率 **78 ± 4%**
- InstructGPT 対 T0: InstructGPT 勝率 **79 ± 4%**
**計算コスト**:
- GPT-3 訓練: 3,640 petaflops/s-days
- 175B SFT: 4.9 petaflops/s-days
- 175B PPO-ptx: 60 petaflops/s-days
## 考察
InstructGPT の成功が示す主要な知見:
1. **アライメントコストの低さ**: RLHF でのアライメント達成コストは事前学習の一部に過ぎない。それでいてスケールアップ 100 倍より効果的であり、現時点では既存モデルのアライメント投資が最も費用対効果が高い可能性がある。
2. **汎化能力**: フランス語の指示追従やコードへの QA など、RLHF 微調整の分布外タスクにも汎化する傾向が確認された。これはアライメントが「指示に従う」という一般概念を学習することを示唆する。
3. **PPO-ptx によるアライメント税の解消**: 事前学習分布の勾配を混合することで、SQuAD・DROP・HellaSwag 等での性能低下をほぼ解消。KL 係数の増大より効果的である。
4. **誰にアラインするか問題**: 現実の RLHF は「人類の価値観」ではなく、具体的なラベラー集団の選好にアラインする。ラベラーの偏り・研究者の指示設計・API 顧客の優先事項が全て影響する。これは根本的な課題として論文自身が指摘している。
## 強み / 弱点・課題
**強み**:
- 実際の商用 API のプロンプト分布で評価した実証的有効性
- パラメータ数 100 倍のスケールアップを少ないコストで上回る劇的な改善
- PPO-ptx でアライメント税をほぼ解消できることを実証
- 広範なタスク(生成・QA・要約・対話・コード)への汎化
**弱点・課題**:
- **誰にアラインするか**: 英語話者・米国/東南アジア在住のラベラー集団への偏り。多様なステークホルダー全員の選好を同時に満たすことは不可能
- **残存する誤り**: 偽の前提を受け入れる・過度にヘッジする・複数制約への対応が弱い
- **明示的有害指示への脆弱性**: 毒性生成を明示的に指示された場合、GPT-3 より有毒な出力を生成する
- **バイアス改善なし**: Winogender・CrowS-Pairs では改善が見られない
- **ラベラー集団の小規模さ**: 40 名のラベラーで多くの比較を 1 名のみが評価
## 出典
- [[.raw/papers/arxiv-2203.02155.pdf]]
- [[.raw/papers/arxiv-2203.02155.txt]]
- arXiv:2203.02155v1 [cs.CL] 2022-03-04