見出し画像

大規模言語モデルのための強化学習

以下の記事が面白かったので、軽く要約しました。

Reinforcement Learning for Language Models

1. はじめに

「ChatGPT」とそれに続く「大規模言語モデル」(LLM)のリリースに伴い、「RLHF」の重要性が議論されました。しかし、なぜ「強化学習」が「教師あり学習」よりも言語モデルの学習に適しているのか疑問に思いました。「教師あり学習」 (Instructionチューニング) で十分ではないでしょうか?

私は、ある程度納得のいく理論的な議論を思いつきました。そして、特にChatGPTのようなモデルには、強化学習のケースを支持するだけでなく、それを必要とする追加の論拠があることに気がつきました。この追加の議論は、OpenAIのJohn Schulmanによる講演の(前半部分で)綴られています。この投稿は、彼の主張をより多くの言葉で繰り返し、また、明確に言わなかったことをいくつか付け加えています。

2. 教師あり学習 vs 強化学習

「教師あり学習」と「強化学習」の2つのシナリオを簡単に説明します。

◎ 事前学習
はじめに、大量のテキストをもとに言語モデルの事前学習を行います。この学習は、テキストに続く次のテキストを予測することを目標としています。その結果、言語の内部表現を取得します。しかし、「コミュニケーション」には向いていません。模範となる振る舞いに沿って、モデルを調整することを「ファインチューニング」と呼びます。

◎ 教師あり学習
「教師あり学習」では、「指示」に続く望ましい「回答」を含む学習データを、人間が作成します。「強化学習」は、モデルが「指示」に対してその「回答」を模倣することを目標としています。

◎ 強化学習
「強化学習」では、「指示」のみ人間が作成し、「回答」は提供しません。代わりに、モデルが「回答」を生成し、スコアリングメカニズム(例えば人間)がその「回答」が良いかどうかを判断します。「強化学習」は、モデルが高得点を得ることができる「回答」を生成することを目標としています。

「強化学習」には、「教師あり学習」よりも難しい点がいくつかあります。1つは「信用割り当て」です。モデルはトークンのシーケンスを生成し、シーケンスの最後にのみスコアが付けられますが、回答のどの部分が良いか悪いかを判断するのが難しいです。また、回答を評価するためのスコアリングメカニズムが必要であり、自動評価が難しいです。そのため、各学習ステップで「人間のフィードバック」が必要になり、これは非常に費用と時間がかかります。

3. 多様性の議論

言語モデルにおける「教師あり学習」に対する最も直感的な反論は、現実の人間の言語には同じメッセージを伝えるための多様な方法があり、それらがすべて有効な答えである可能性があることです。そのため、「回答」として指定されたテキストからわずかに逸脱したモデルを「罰する」ことがあり、それがモデルを混乱させるかもしれません。また、モデルが学びにくい表現を強制する一方で、モデルはすでに代替の答えを生成する方法を知っているかもしれません。したがって、強化学習によって提供される多様性が望ましいと考えられます。

これは非常に直感的な議論ですが、教師あり学習が実際に非常にうまく機能することや、強化学習モデルを学習する上での課題を考慮すると、それほど説得力のあるものではありません。これが十分に核心的な問題であるとは思えず、まだ納得していません。

4. 理論的な議論

言語モデルでの「強化学習」と「教師あり学習」の比較において「説得力のある」正当化の第一歩は、「教師あり学習」では肯定的なフィードバックのみが可能であるのに対し、「強化学習」では否定的なフィードバックも可能である点です。正式な学習理論の観点から見ると、両者の間には大きな違いがあり、否定的フィードバックの方がはるかに強力です。

「教師あり学習」ではモデルがをつくことを学んでしまうため、この種のインタラクションには「強化学習」が必要です。モデルは答えを「知っている」場合と「知らない」場合があります。後者の場合、「教師あり学習」はモデルが質問と答えを関連付けるように促し、それが特定の質問と回答ペアを覚えるか、あるいはモデルがでたらめなことを作り出して嘘をつくようになります。モデルが何を知っているかわからないため、「教師あり学習」では避けられない問題になります。

「強化学習」は、モデルに嘘をつくことを積極的に促さず、長期的にはでたらめな回答に対して悪いスコアを与え、内部知識に依存するポリシーか、回答を控えることを学びます。

6. 核心的な議論

言語モデルとの対話には、少なくとも3つのモードがあります。

(a) テキストベース : モデルに「テキスト」と「指示」を提供し 、提供されたテキストをもとにした回答が期待されます。

・このテキストを要約して
・このテキストをスペイン語に翻訳して
・このテキストに登場する人物名は?

(b) 知識ベース : モデルに「質問」や「指示」を提供し、モデルの内部知識に基づいた(真実の)答えが期待されます。

・インフルエンザの一般的な原因は何ですか

(c) クリエイティブ : モデルに「質問」や「指示」を提供し、何らかの創造的な出力が期待されます。

・~についての物語を書いてください

「強化学習」の議論は、(b)のやり取り、すなわち真実で確信が持てる答えが期待される知識を求める質問と、不確かな状況で「わからない」と答えるか回答を拒否するモデルの能力に基づいています。

この種のやり取りでは、「強化学習」の学習が必要です。なぜなら、「教師あり学習」ではモデルに嘘をつかせるからです。根本的な問題は、モデルが内部の知識に基づいて答えるように促したいのに、その内部知識が何を含んでいるかわからないことです。「教師あり学習」では、モデルに質問と正しい答えを提示し、提供された答えを再現するように学習します。

ここで2つのケースがあります。

(1) モデルが答えを「知っている」場合
「教師あり学習」は答えと質問を正しく関連付けるように促し、将来類似の質問に答えるための類似の手順を実行するように促進します。これは望ましい動作です。

(2)モデルが答えを知らない場合
「教師あり学習」はとにかく答えと質問を関連付けるようにモデルを促します。この場合、2つの選択肢があります。モデルが特定の質問-答えのペアを記憶するように促すかもしれません。これは有害ではありませんが、効果的でもありません。なぜなら、モデルが一般化してどんな質問にも答えられるように学ぶことが目的であり、指示の学習データ内の質問だけでないからです。モデルを一般化させたいのですが、これらのケースでモデルを一般化させることに成功した場合、事実上、モデルにでたらめを作り出させることになります。モデルに「嘘」をつかせるように積極的に促してしまうのです。これは悪いことです。

モデルが何を知っているのかわからないため、「教師あり学習」における実際の深刻な問題である(2)を避けることはできません。真実の答えを出すために純粋な「教師あり学習」を使うことはできず、そのため「強化学習」が必要です。

7. モデルの蒸留への影響

「OpenAI」は、言語モデルの強化学習型に多大な努力を投じています。その動機の一つは、モデルが答えを知らない場合に回答を避けることで、事実性や真実性を確保することです。

最近の傾向として、公開されている他の言語モデルを、「GPT」の出力で学習し、GPTの振る舞いを再現しようとするものがあります。

これは、「教師あり学習」(Instructionチューニング)に似ています。モデルは、GPTの回答を正確に再現するように学習されます。これは、モデルに指示を実行させるためにうまく機能するでしょう。しかし、知識を求めるクエリに回答するケース(b)ではうまく機能しません。公開されている基本モデルは、OpenAIモデルとは異なる一連の事実を知っており、GPTの回答を再現する学習は、「教師あり学習」が抱える問題と同じ問題を引き起こします。

解決策は、これらのモデルを「強化学習」で学習することです。しかし、それは高すぎるのではないでしょうか?

8. 人間のフィードバックのない強化学習に向けて

長い間、「強化学習」を用いた言語タスクの学習は、信頼性のある自動評価指標が欠けているため、ほとんどの研究者にとって非現実的でした。「強化学習」の学習では、すべての学習サンプルに対して人間のフィードバックが必要で、これは費用がかかるだけでなく、特に何千、何十万もの例を学習する必要があるモデルにとっては非常に遅いです。

しかし、「強化学習」の学習が実用的になると、まず大規模な事前学習済み言語モデルが少ない例から何らかの方法で学習できるようになります。しかし、より重要なのは、人間を強化学習のループから除外する道を開くことです。

これは、テキストに基づくタスクでは「教師あり学習」のパラダイムが非常に効果的であり、大規模言語モデルがいくつかのタスクを非常にうまく実行できるようになることにもとづいています。そのようなタスクの1つは「これらの2つのテキストは同じ意味か」で、もう1つは「テキストAにはテキストBに現れない事実があるか」です。

経験的には、大規模 (または中規模) 言語モデルは、「教師あり学習」を用いてこのようなタスクを比較的確実に学習できるようです。これにより、「強化学習」で使用できる効果的な自動評価指標が提供できます。人間が提供した指示-応答ペアで学習しますが、人間が直接提供した応答を再現しようとするのではなく、モデルが独自の応答を生成し、「教師あり学習」で学習された専用のテキスト比較モデルを使用して、モデルが生成した応答と人間が提供したものを比較します。


この記事が気に入ったらサポートをしてみませんか?