ヒューマンフィードバック強化学習(RLHF) - Andrej KarpathyによるLLMの詳細解説(Part 10)

強化学習において、重要な一分野として「ヒューマンフィードバックによる強化学習」(Reinforcement Learning from Human Feedback、略してRLHF)があります。この手法は特に直接的に検証が難しい問題領域(unverifiable domains)での処理に優れています。

これまで取り組んできたのは主に「検証可能な領域」(verifiable domains)でした。つまり、これらの領域における任意の答えを簡単に標準答案と比較することができます。例えば、標準答案が数字「3」である場合、モデルが出力した答えが「3」かどうかを簡単に確認できます。

さらに、「LLMジャッジ」と呼ばれるメカニズムを使用することも可能です。これは回答にスコアをつけ、モデルの出力を評価する仕組みで、大規模言語モデル(LLM)の能力に基づいており、実際の運用において十分信頼性のある自動評価が可能であることが示されています。

しかし、RLHFの真の挑戦は、答えを容易に検証できない領域、いわゆる「非検証可能領域」(unverifiable domains)にあります。たとえば、創造的な文章作成タスク:ペリカンに関するジョークを書いたり、詩を作ったり、または段落を要約したりするようなもの。これらのタスクでは、特定の正解と簡単には比較できません。

例えば、モデルにペリカンに関するジョークを創作してもらいましょう。

  • なぜペリカンは自分で支払いをしないのか?彼らはいつも「くちばし」(会)で他の人に押し付けるからだ。明らかに、このジョークは成功とは言い難い。

モデルは大量のジョークを生成できますが、その質をどのように評価するかが課題です。理論上、人間に一つずつチェックしてもらい、スコアリングすることで対応できますが、強化学習プロセスは数千回の反復を伴い、各反復で数百〜数千個のサンプルが発生するため、人間がすべてをチェックするのは現実的ではありません。

そのため、ヒューマンフィードバックによる強化学習(RLHF)が登場しました。少量の人間フィードバックを利用してモデルを指導し、モデルが類似の非検証可能領域で優れた生成を行うように学習させる方法です。これにより、人間の関与を大幅に削減しつつ、創造的文章作成や対話生成などの複雑なタスクにおけるモデルのパフォーマンスを向上させることができます。

RLHFは具体的にどのように機能するのでしょうか?

無限の人間の時間を費やすことができれば、理論上は直接的人間フィードバックによってモデルを継続的に改善できます。例えば、1000回の更新を行い、各更新で1000のプロンプトを評価し、それぞれのプロンプトに対して1000の答えを生成すると、合計で10億回のジョークを人間に評価してもらう必要があります。これは明らかに非現実的です。

この問題を解決するために、OpenAI(その後一部メンバーがAnthropicを設立しました)はRLHFの手法を提案しました。

この手法の核心となる技術は「間接的な誘導」です。人間の関与を限定的にし、具体的には「報酬モデル」(reward model)と呼ばれるニューラルネットワークを追加訓練して、人間の評価を模倣させます。

まず、人間は生成されたコンテンツの一部について順位付けを行います(最良から最悪まで)。直接スコアリングではなく順位付けを行うのは、これが相対的に簡単だからです。この順位付けが報酬モデルのトレーニングデータとなります。

次に、報酬モデルはプロンプト(例: 「ペリカンのジョークを書け」)と生成されたコンテンツを入力として受け取り、0から1の範囲のスコアを出力します。このスコアは最悪から最高までの評価を表します。

例えば、誰かが5つのジョークを提供し、それらを順位付けすると、報酬モデルも同じ5つのジョークにスコアを割り当てます。数学的方法(損失関数の設定)を使って、報酬モデルのスコアが人間の順位付けと一致するように調整します。もしモデルのスコアが人間の順位付けと一致しなければ、監督を通じて報酬モデルを調整し、そのギャップを徐々に縮めていきます。

この方法により、大量の自動評価を効率的に行うことができ、強化学習の適用範囲を大幅に拡張できます。このシミュレーターは完全ではありませんが、統計的には人間の判断に十分近いスコアを出す限り、実用上の効果は顕著です。

RLHFの利点は何ですか?

ヒューマンフィードバックによる強化学習の主な利点は以下の通りです。

  • どの領域でも(直接検証不可能な領域を含む)強化学習を適用できる点です。詩を書いたり、ジョークを作ったり、内容を要約するといったタスクにも応用可能です。
  • この方法は実証済みであり、モデルの性能を大幅に向上させることが可能です。これは「識別と生成の難易度の差」に関連している可能性があります。
  • 人間により簡単なタスク(順位付けなど、直接的な創作ではないもの)をさせることで、より正確で信頼性の高いフィードバックデータを得ることができ、モデルのパフォーマンスを向上させます。

RLHFの欠点は何ですか?

RLHFには明確な利点がある一方で、いくつかの顕著な欠点もあります。

  • シミュレーションエラー:報酬モデルは人間のフィードバックの近似シミュレーションに過ぎず、必ずしも実際の人間の判断を完全に反映することはできません。誤った方向に誘導される可能性があります。
  • 対抗サンプル問題:報酬モデルは複雑なニューラルネットワークであり、強化学習が特殊な入力(対抗サンプル)を見つけ、高スコアを獲得する可能性がありますが、実際には意味を持たない結果になります。これを「モデルの騙し行為」(game the model)と呼びます。
  • 対抗的(Adversarial):検証可能な領域(囲碁など)とは異なり、RLHFは無制限に最適化することはできず、モデルが誤導され、意味不明な出力を生成するリスクがあります。最初は向上しますが、急激に崖から転落し、非常に意味不明な結果になることがあります。例えば、ジョークを書かせると「the the the the the the the the」という結果が返ってくることがあります。通常、一定回数の最適化後に停止し、報酬モデルが完全に誤導されることを防ぎます。

したがって、RLHFはモデルの性能を効果的に向上させますが、無限に最適化する強化学習タスクには適していません。有限なファインチューニングタスクに適しています。

RLHF と RL の関係

RLHF分野において、この手法は従来の強化学習(RL)と密接に関連していますが、本質的には重要な違いがあります。簡単に言えば、RLHFは強化学習の一種ですが、伝統的な意味でのRLとは異なり、無制限に持続的な最適化が不可能です。

伝統的な強化学習の状況では、例えば囲碁のように勝敗を明確に判断でき、完璧なシミュレーターを持つ場合、強化学習は継続的に最適化され、最終的に人間を超えるパフォーマンスを達成できます。しかし、RLHFでは、人間のフィードバックをシミュレートするための報酬モデル(reward model)を使用します。このRLHFモデルは基本的に複雑なニューラルネットワークであり、人間のスコアリングを模倣する際に誤差が生じやすく、対抗サンプルに欺かれやすいという特徴があります。

したがって、RLHFは間接的人間フィードバックを通じてモデルのパフォーマンスを効果的に向上させることができますが、実際には無制限の最適化による強化学習というよりも、限定的な「ファインチューニング」に近しいと言えます。計算資源を増やし、継続的に最適化しても無限に向上する「魔法」は存在しません。