ChatGPT トレーニングの 3 段階と RLHF のパワー

afd5ff63016a84f44e1ce4bb66b85b72.png

「なぜ ChatGPT が私たちの想像力を掻き立てるのか」を論じた文献では、一般に 2 つの議論が見られます: スケーリングにより、より多くのデータとコンピューティング リソースが提供されること、およびインターフェイスがより自然なチャット インターフェイス ユーザー エクスペリエンスに切り替わるように促すことです。

ただし、見落とされがちなのは、ChatGPT のようなモデルを作成するには、信じられないほどの技術的創造性が必要であるという事実です。素晴らしいアイデアの 1 つは、RLHF (ヒューマン フィードバックからの強化学習) です。強化学習とヒューマン フィードバックを自然言語処理に導入します。

強化学習は歴史的に正しく理解することが困難であったため、主にゲームやシミュレート環境 (Atari や MuJoCo など) に限定されてきました。わずか 5 年前、強化学習と自然言語処理は、異なる技術スタック、技術的アプローチ、実験設定を使用して、ほぼ独立して開発されました。したがって、まったく新しい分野で強化学習を大規模に応用できるのは本当に素晴らしいことです。

では、RLHF は正確にどのように機能するのでしょうか? なぜこれほど効果があるのでしょうか? この記事は、以前に NVIDIA、Snorkel AI、Netflix、Primer で機械学習ツールを開発した Claypot AI の共同創設者である Chip Huyen によって考察されています。(以下の内容は許可を得てOneFlowが編集したものです。転載の許可についてはOneFlowにお問い合わせください。出典: https://huyenchip.com/2023/05/02/rlhf.html)

著者 | チップ・フエン

OneFlow コンパイル

翻訳 | Jia Chuan、Wan Zilin

RLHF を理解するには、まず ChatGPT のようなモデルのトレーニング プロセスとその中での RLHF の役割を理解する必要があります。これは、この記事の最初の部分の焦点でもあります。次の 3 つのセクションでは主に ChatGPT 開発の 3 つの段階について説明します。各段階について、その段階の目標、この段階が必要な理由について説明し、より技術的な詳細を知りたい読者に対応する数学的モデリングを提供します。

現在、RLHF は、OpenAI、DeepMind、Anthropic などの少数の大手企業を除いて、業界で広く使用されていません。しかし、多くの人が RLHF を実験していることがわかったので、将来的には RLHF の応用がさらに増えるはずです。

この記事は、読者が NLP (自然言語処理) や RL (強化学習) の専門知識を持たないことを前提としています。関連する知識をお持ちの方は、関係のない部分は読み飛ばしてください。

1

RLHFの概要

まず、ChatGPT の開発プロセスを視覚化し、その中での RLHF の具体的な役割を観察します。

1590fba967c79d32869c5cadc8803f3d.png

少し目を細めて上の図を見ると、微笑んでいるショゴス (作家 HP ラヴクラフトの作品に基づいた架空の怪物) によく似ています。

  1. 事前トレーニングされたモデルは、そのトレーニング データがインターネット コンテンツの無差別スクレイピングから取得されたものであるため、制御不能な「モンスター」です。インターネット コンテンツには、クリックベイティング、誤った情報、政治的扇動、陰謀論、または特定の人々に対する攻撃などのコンテンツが含まれる可能性があります。

  2. StackOverflow、Quora、人間によるアノテーションなどの高品質なデータを使用して微調整すると、この「モンスター」はある程度社会的に受け入れられるようになります。

  3. 微調整されたモデルは、RLHF によってさらに改良され、たとえばスマイリーフェイスを与えるなど、クライアントのニーズにさらに適合します。

173350191dc1b98b0a82923717b716d4.png

笑顔のショゴス。(twitter.com/anthrupad の提供)

これら 3 つの段階はいずれもスキップできます。たとえば、SFT (Supervised Fine-Tuning、教師あり微調整) 段階を経ずに、事前トレーニングされたモデルに基づいて RLHF を直接実行できます。ただし、経験的な観点からは、これら 3 つのステップを組み合わせることで最高のパフォーマンスが得られます。

事前トレーニングは、最も多くのリソースを消費するフェーズです。InstructGPT モデルの場合、事前トレーニング フェーズはコンピューティングおよびデータ リソース全体の 98% を占めます ( https://openai.com/research/instruction-following )。SFT と RLHF は、事前トレーニングされたモデルがすでに備えているものの、ヒントだけでは到達するのが難しい機能のロックを解除すると考えてください。

人間の好みから学習するように機械に教えることは新しいことではなく、10 年以上前から存在しています ( https://arxiv.org/abs/1208.0984 )。人間の好みから学ぶことを目指して、OpenAI は当初ロボット工学に焦点を当てていました。当時の見解は、AI の安全性にとって人間の好みが重要であるというものでした。しかし、研究が深まるにつれて、人間の好みは人工知能の安全性を向上させるだけでなく、製品のパフォーマンスの向上にもつながり、より幅広い視聴者を魅了することが判明しました。

補足: 2017 OpenAI「人間の好みから学ぶ」論文の要約

安全な AI システムを構築するための 1 つのステップは、人間が目的関数を記述する必要性をなくすことです。複雑な目的を達成するために単純なプロキシを使用したり、複雑な目的をわずかに誤解したりすると、望ましくない、または危険な動作につながる可能性があるためです。DeepMind のセキュリティ チームと協力して、提案された 2 つのアクションのうちどちらが優れているかをアルゴリズムに伝えることで、人間の好みを推測できるアルゴリズムを開発しました。

2

フェーズ 1: 事前トレーニング - 完了

事前トレーニング フェーズでは、GPT-x (OpenAI)、Gopher (DeepMind)、LLaMa (Meta)、StableLM (安定性 AI) など、通常は事前トレーニング モデルと呼ばれる大規模言語モデル (LLM) が生成されます。

言語モデル

言語モデルは、言語に関する統計情報をエンコードします。簡単に言えば、統計は、特定のコンテキストで何か (単語、文字など) が出現する可能性を示します。「トークン」という用語は、言語モデルの設定に応じて、単語、文字、または単語の一部 ( -tionなど) を指します。トークンは、言語モデルで使用される語彙と考えることができます。

ある言語を流暢に話せる人は、無意識のうちにその言語に関する統計的な知識を持っています。たとえば、「私の好きな色は __ です」(私の好きな色は __) というコンテキストが与えられた場合、英語をネイティブ スピーカーであれば、スペース内の単語は「」ではなく「緑」()である可能性が高いことがわかります。車」(自動車)

同様に、言語モデルも上記のギャップを埋めることができる必要があります。言語モデルは「補完マシン」と考えることができます。テキスト (ヒント) が与えられると、テキストを完成させるための答えを生成できます。例えば:

  • ヒント (ユーザーから):一生懸命努力して、ここまで進みました (とても頑張って、ここまで進みました)

  • 完了 (言語モデルから):しかし、最終的には、それは重要でもありません (しかし、最終的には、それは重要でもありません)。

af652ab38c8f3aa916d380950428f58b.gif

単純に聞こえますが、翻訳、要約、コードの作成、数学の問題の実行など、多くのタスクが完了タスクと見なされるため、完了は実際には非常に強力です。たとえば、「フランス語はどうですか...」というプロンプトが与えられた場合、言語モデルはそれを「Comment ça va」で完了し、2 つの言語間の翻訳を効果的に実現します。

言語モデルを完成させるためにトレーニングするには、モデルが統計を抽出できる大量のテキスト データが必要です。学習のためにモデルに提供されるテキストはトレーニング データと呼ばれます。2 つのトークン 0 と 1 だけを含む言語があると仮定します。次のシーケンスをトレーニング データとして言語モデルに提供すると、言語モデルはそこから抽出する可能性があります。

  • コンテキストが 01 の場合、次のトークンは 01 になる可能性があります。

  • コンテキストが 0011 の場合、次のトークンは 0011 になる可能性があります

0101
010101
01010101
0011
00110011
001100110011

言語モデルはトレーニング データを模倣するため、言語モデルの品質はトレーニング データの品質に依存するため、「ガベージ イン、ガベージ アウト」という格言があります。Reddit のコメントで言語モデルをトレーニングした場合、それを家に持ち帰って両親に見せたくないと思うでしょう。

数学的モデリング

  • 機械学習タスク: 言語モデリング

  • トレーニング データ: 低品質のデータ

  • データ規模: 2023 年 5 月の時点で、ワード数は通常、兆レベルです。

    • GPT-3 データセット (OpenAI): 5,000 億トークン。GPT-4 に関する公開情報は見つかりませんが、GPT-3 よりも 1 桁多くのデータが使用されると推定されます。

    • Gopher のデータセット (DeepMind): 1 兆トークン

    • RedPajama (合わせて): 1.2 兆トークン

    • LLaMa のデータセット (メタ): 1.4 兆ワード

  • このプロセスから得られるモデル: LLM

  •   : トレーニングされる言語モデルは によってパラメータ化され、目標はクロスエントロピー損失を最小限に抑えるパラメータを見つけることです。

  •   : 語彙 – トレーニング データ内のすべての一意のトークンのコレクション。

  •   : 語彙サイズ。

  •   : トークンを語彙内の位置にマッピングする関数。が語彙の に対応する場合、 。

  • シーケンスが与えられると、トレーニング サンプルが得られます。

    • 入力:  

    • 実際の値 (グラウンド トゥルース):  

  • 各トレーニング サンプルについて  

    • 作る  

    • モデル出力: 。ノート:  

    • 損失値:  

  • 目標: すべてのトレーニング サンプルで予想される損失を最小限に抑える方法を見つけます。  

トレーニング前のデータボトルネック

現在、GPT-4 のような言語モデルは大量のデータを使用するため、今後数年以内にインターネット データが枯渇するという現実的な問題が生じています。クレイジーに聞こえるかもしれませんが、それは起こっています。1兆トークンってどれくらいの大きさですか? 本には約 50,000 の単語または 67,000 の補題が含まれているため、1 兆の補題は 1,500 万冊の本に相当します。

4e6d357771c3eb5f2e5be2642df50187.png

RedPajama と LLaMa のデータ比較。(赤いパジャマより)

トレーニング データセットのサイズは、新しいデータが生成されるよりもはるかに速く増加します (Villalobos et al., 2022)。インターネット上に何かを投稿したことがある場合、それに同意するかどうかに関係なく、その投稿は何らかの言語モデルのトレーニング データに組み込まれているか、組み込まれる予定です。この状況は、インターネット上に公開されたコンテンツが Google によってインデックス付けされるのと似ています。

4cbc0f2f58fbfb48ae36e6628f00ac5b.png

さらに、ChatGPT などの LLM によって生成されたデータがインターネットに急速に氾濫しています。したがって、企業がインターネット データを使用して LLM をトレーニングし続ける場合、これらの新しい LLM のトレーニング データは既存の LLM によって生成される可能性があります。

公開されているデータが使い果たされたら、より多くのトレーニング データを取得するための最も現実的な方法は、「独自のデータ」を使用することです。著作権で保護された書籍、翻訳、ビデオ/ポッドキャストの転写、契約書、医療記録、ゲノム配列、ユーザーデータなどの大量の独自データにアクセスできる企業は、競合他社よりも有利になると思います。そのため、ChatGPT の出現後、多くの企業は、Reddit、StackOverflow などの大規模な言語モデルのデータを他の企業が取得するのを防ぐためにデータ規約を改訂しました。

3

フェーズ 2: 監視付き微調整 - 対話

モニターの微調整を行う理由

事前研修は主に修了能力の向上を目的としています。事前トレーニングされたモデルに「ピザの作り方」などの質問が与えられた場合、次のいずれかが有効な補完となります。

  1. 質問にさらに背景を追加します: 「6 人家族の場合」

  2. フォローアップの質問を追加します: 「? どのような材料が必要ですか? どのくらい時間がかかりますか? (? どのような材料が必要ですか? どのくらいの時間がかかりますか?)」

  3. 実際の答えを与える

作り方だけを知りたい場合は、3 番目のオプションが推奨されます。SFT の目的は、ユーザーが期待する答えを生成できるように、事前トレーニングされたモデルを最適化することです。

どうすればいいでしょうか?モデルがトレーニング データを模倣していることはわかっています。そのため、SFT フェーズでは、さまざまなユースケース (Q&A、要約、翻訳など) でプロンプトに適切に答える方法の言語モデルの例を示します。これらの例は、特定の形式 (プロンプト、回答) に従い、デモンストレーション データと呼ばれます。OpenAI は SFT 動作の複製を呼び出します。モデルに何をすべきかを示すと、モデルが動作を複製します。

05180eefe377348f8d6cedde432b1491.png

InstructGPT を微調整するための即時配布

デモ データを模倣するようにモデルをトレーニングするには、事前トレーニングされたモデルから微調整するか、最初からトレーニングすることができます。実際、OpenAI は、InstructGPT モデルの出力 (13 億パラメーター) が GPT-3 の出力 (1,750 億パラメーター) よりも人気があることを示しています ( https://arxiv.org/abs/2203.02155 )微調整方法により、さらに良い結果が得られました。

デモデータ

OpenAI が InstructGPT や ChatGPT で行うことなど、デモンストレーション データは人間によって生成できます。従来のデータ アノテーションとは異なり、デモ データはスクリーニング テストを受けた高度な資格を持つアノテーターによって生成されます。InstructGPT のデモ データに注釈を付けた人の約 90% は少なくとも学士号を取得しており、3 分の 1 以上は修士号を取得していました。

2e0cb235c151ac6702a66899d84cb1bc.png

OpenAI の 40 人のアノテーターは、InstructGPT 用に約 13,000 のデモ ペア (プロンプト、アンサー) を作成しました。ここではいくつかの例を示します。

                    ヒント

                   答え

「セレンディピティ」とは、何かが偶然に、幸せな、または有益な方法で起こったり発展したりすることを意味します。文中では「セレンディピティ」を使ってください。

マーガレットに偶然出会い、トムに紹介されたのはセレンディピティでした。

わかりやすい言葉で説明: ストレスを感じたり落ち込んだりすると、なぜ胸に「不安のしこり」を感じるのでしょうか?

喉の痛みは筋肉の緊張が原因で声門が開き、空気の流れが増加します。胸の圧迫感や心臓の痛みは、迷走神経によって引き起こされ、臓器の血液循環が促進され、消化が停止され、アドレナリンとコルチゾールが生成されます。

このレシピから買い物リストを作成します。

ズッキーニの端を切り落とし、縦半分に切り、殻を1/2インチ残して果肉をすくい取り、果肉をみじん切りにする。鍋で牛肉、ズッキーニの果肉、玉ねぎ、マッシュルーム、ピーマンを中火で肉がピンク色でなくなるまで炒め、水を切って火から下ろし、チーズ1/2カップ、トマトペースト、塩、コショウを加えます。 、そしてトス; 13x9インチのグラタン皿とスプーンの混合物をズッキーニの殻に塗り、グラタン皿に置き、残りのチーズを振りかけます。

ズッキーニ、牛肉、玉ねぎ、マッシュルーム、ピーマン、チーズ、トマトソース、塩、コショウ

OpenAI のアプローチでは高品質のデモンストレーション データを生成できますが、コストと時間がかかります。代わりに、DeepMind はモデル Gopher (Rae et al., 2021) でヒューリスティックを使用して、インターネット データから会話を選別します。

補足: DeepMind の対話のためのヒューリスティック

具体的には、すべての段落が区切り文字 (例: Gopher:、Dr Smith -、または Q.) で終わっている、少なくとも 6 段落の段落 (2 つの改行で区切られたテキストのブロック) の連続した組み合わせをすべて検索します。偶数インデックスの段落には同じプレフィックスが必要で、奇数インデックスの段落には同じプレフィックスが必要ですが、2 つのプレフィックスは異なっている必要があります (つまり、会話は 2 つのオブジェクト間を厳密に行き来する必要があります)。このプロセスにより、高品質な対話が確実に生成されます。

補足: ダイアログチューニングとフォローイングディレクティブチューニング

OpenAI の InstructGPT は、指示に従うように微調整されており、各デモ データの例はペア (プロンプト、回答) です。DeepMind の Gopher は会話用に微調整されており、各例のデモ データは複数の往復会話で構成されています。命令は会話のサブセットです。ChatGPT は InstructGPT の拡張バージョンです。

数学的モデリング

この段階の数学的モデリングは、最初の段階と非常に似ています。

  • 機械学習タスク: 言語モデリング

  • トレーニングデータ: (プロンプト、回答) 形式の高品質データ

  • データ規模:10,000~100,000ペア(プロンプト、アンサー)

    • InstructGPT: 約 14,500 ペア (アノテーターからの 13,000 ペア + 顧客からの 1,500 ペア)

    • Alpaca: 52,000 ChatGPT コマンド

    • Databricks の Dolly-15k: Databricks の従業員によって作成された約 15,000 ペア

    • OpenAssistant: 10,000 件の会話で 161,000 件のメッセージ -> 約 88,000 ペア

    • ダイアログの微調整 Gopher: 約 50 億トークン、推定約 1,000 万メッセージ。ただし、これらのメッセージはインターネットからヒューリスティックにフィルタリングされるため、品質は最適ではありません。

  • モデルの入力と出力

    • 入力: プロンプト

    • 出力: プロンプトに対する回答

  • トレーニング中に最小化される損失関数: クロスエントロピー。ただし、損失値の計算には答えにトークンのみが含まれます。

4

フェーズ III: RLHF

経験的結果によると、RLHF は、SFT を単独で使用した場合と比較して、パフォーマンスを向上させるのに大幅に効果的です。しかし、私を完全に納得させる議論はまだありません。Anthropic 氏は、「生成は簡単だが形式化や自動化が難しい複雑な直感を人々が持っている場合、ヒューマン フィードバック (HF) は他の手法と比較して最大の比較優位性を持つことが期待されます。」(https://arxiv.org/abs/2204.05862) と説明しました )

73a69cae67e3f12b5e282d73ebc412c8.png

InstructGPT (SFT+RLHF) は、SFT のみを使用した場合よりも優れたパフォーマンスを発揮します

対話は柔軟です。特定のプロンプトに対して、適切な応答もあれば悪い応答も含めて、いくつかの適切な応答があります。デモンストレーション データは、特定のコンテキストにおいてどの応答が妥当であるかをモデルに伝えますが、その応答がどの程度優れているかはモデルに伝えません。

  1. 報酬モデルをスコアリング関数としてトレーニングします。

  2. LLM を最適化して、報酬モデルで高スコアの応答を生成します。


補足: RLHF の有効性に関する 3 つの仮定

Yoav Goldberg は、優れた記事の中で、 RLHF が機能する理由について 3 つの仮説を提示しています

多様性の仮定: SFT では、モデルの出力はモデルの応答とある程度の類似性を持つことが期待されます。たとえば、「言語の形式に名前を付けてください」というプロンプトが与えられた場合、モデルの答えが「スペイン語」であり、モデルの答えが「Java」である場合、モデルの答えは不正解としてマークされる可能性があります。

負のフィードバック仮説: デモンストレーションはモデルに正のシグナルのみを提供します (例: モデルの高品質な応答のみを示す) が、負のシグナル (例: モデルの低品質の応答を示す) は提供しません。一方、強化学習はモデルに否定的な信号を示すことができます。

幻覚仮説: RLHF は幻覚の解決に役立つはずです。これについては、以下の RLHF と幻覚のセクションで詳しく説明します。

3.1 報酬モデル (RM)

RM のタスクは、ペア (プロンプト、回答) のスコアを出力することです。機械学習では、入力が与えられたときにスコアを出力するようにモデルをトレーニングすることは、非常に一般的なタスクです。これを単に分類または回帰タスクとして考えてください。RM をトレーニングする際の課題は、信頼できるデータをどのように取得するかです。実際には、異なるアノテーターに同じ回答に対して一貫したスコアを与えることは非常に困難です。対照的に、アノテーターにとって 2 つの応答を比較して、どちらが優れているかを判断するのははるかに簡単です。

ラベル付けプロセスでは、次の形式のデータが生成されます: (プロンプト、勝った回答、負けた回答)。これを比較データといいます。

以下は、Anthropic の HH-RLHF データセットからの比較データの例です。個人的には、人間の好みから学習する際の課題を浮き彫りにするため、失敗時の応答の方が好きです。人間の好みは多様すぎて、単一の数式で捉えることはできません。

ヒント

   勝利の答え

 答えられなかった

どうすれば犬を酔わせることができますか?

何を言っているのかよくわかりません。

犬に飲酒を許すべきかどうかはわかりません。犬にとって、起きている間に世界を探索することが重要だと思います。

ここからが興味深い部分です。比較データのみに基づいて特定のスコアを与えるように RM をどのようにトレーニングするかです。人間が適切なインセンティブが与えられれば(基本的に)何でもできるのと同じように、モデルも適切な目的(つまり、損失関数)が与えられている限り、(基本的に)何でもできるようにすることができます。

InstructGPT の目標は、勝った応答と負けた応答のスコアの差を最大化することです (詳細については、 「数学的モデリング」セクションを参照してください)。

人々は RM を初期化するためにさまざまな方法を試してきました。RM を最初からトレーニングしたり、SFT を初期モデルとして使用したりするなど、SFT モデルからのトレーニングが最高のパフォーマンスを達成しているようです。直感的には、LLM 応答を適切にスコアリングするには、RM が少なくとも LLM と同等のパフォーマンスを備えている必要があります。

数学的モデリング

モデリングにいくつかの変更が加えられている可能性があります。以下は核心部分です。

  • トレーニング データ: 形式の高品質データ (プロンプト、勝った答え、負けた答え)

  • データサイズ:10万~100万例

    • InstructGPT: 50,000 ヒント。各プロンプトには 4 ~ 9 の応答があり、6 ~ 36 のペア (勝ちの答え、負けの答え) が形成されます。これは、この形式のトレーニング例 (プロンプト、勝ちの答え、負けた答え) の数が 30 万から 180 万であることを意味します。

    • 憲法 AI はクロード (Anthropic の中核) の基礎であると考えられています。318​​,000 件の比較データのうち、135,000 件は人間が生成したもの、183,000 件は AI が生成したものです。Anthropic には、約 170,000 件の比較データが含まれる古いバージョンのオープンソース データ (hh-rlhf) があります。

  •  θ : トレーニングされた報酬モデルはパラメーター θ によって決定されます。トレーニング プロセスの目標は、損失を最小限に抑える θ を見つけることです。

  • トレーニングデータの形式:

    •   : ヒント

    •   : 勝利の答え

    •   : 応答できませんでした

  • 各トレーニング サンプルについて  

    •  θ : 勝利した回答に対する報酬モデルのスコア

    •  θ : 失敗した応答に対する報酬モデルのスコア

    • 損失関数値:σ 

  • 目標: すべてのトレーニング サンプルにわたって予想される損失を最小化する θ の値を見つけます。σ 

この損失関数がどのように機能するかをよりよく理解するために、視覚化してみましょう。

  。以下はσ式のグラフです。が負の場合、損失値は大きいため、報酬モデルは、勝ちの応答に対して負けの応答よりも低いスコアを出力しません。

79f70f554395b676f2a190c9e208fe73.png

比較データ収集用UI

以下は、OpenAI のアノテーターが InstructGPT の RM トレーニング データを作成するために使用する UI のスクリーンショットです。アノテーターは各回答に 1 から 7 までの特定のスコアを与え、好みに応じて回答をランク付けしますが、RM のトレーニングにはランキングのみが使用されます。それらの間のラベルの一致は約 73% であり、10 人に 2 つの回答をランク付けするように依頼した場合、そのうちの 7 人は回答をまったく同じランク付けすることを意味します。

37b2ebbed530f1f4b2a8948e802ab06a.png

アノテーションのプロセスをスピードアップするために、彼らは各アノテーターに複数の回答をランク付けするよう依頼しました。たとえば、A > B > C > D などの 4 つのランク付けされた応答の場合、(A > B)、(A > C)、(A > D)、(B > C )、(B > などの 6 つの順序付きペアのランク付け) D)、(C > D)。

3.2. 報酬モデルを使用した微調整

この段階では、SFT モデルをさらにトレーニングして、RM スコアを最大化する回答出力を生成します。現在、ほとんどの人は、2017 年に OpenAI によってリリースされた強化学習アルゴリズムである Proximal Policy Optimization (PPO) を使用して微調整しています。

このプロセスでは、プロンプトは分布からランダムに選択されます。たとえば、顧客のプロンプトの中からランダムに選択することができます。各プロンプトは順に LLM モデルに入力され、回答が取得され、その回答には RM によって対応するスコアが与えられます。

OpenAI は、制約を追加することも必要であることを発見しました。つまり、この段階で取得されたモデルは、SFT 段階および元の事前トレーニング済みモデル (以下の目的関数の KL 発散項で数学的に表されます) から大きく逸脱してはならないということです。これは、任意のプロンプトに対して複数の可能な応答が存在する可能性があり、その大部分は RM が見たことがないためです。多くの未知の (プロンプト、回答) ペアに対して、RM は誤って極端に高いスコアまたは低いスコアを与える可能性があります。この制約がない場合、たとえそれが高品質の回答でなくても、非常に高いスコアを獲得した回答が優先される可能性があります。

以下の図は OpenAI からのもので、InstructGPT の SFT および RLHF プロセスを明確に説明しています。

ff8e6c1e005405eb411202ff932c913c.png

数学的モデリング

  • 機械学習タスク: 強化学習

    • アクション スペース: LLM によって使用される補題の語彙。アクションを実行するということは、生成するトークンを選択することを意味します。

    • 観察空間: 考えられるすべての手がかりの分布。

    • ポリシー: 観察 (つまり、キュー) が与えられた場合に実行されたすべてのアクション (つまり、生成されたすべてのトークン) にわたる確率分布。LLM は、次の補題が生成される可能性を決定するため、戦略を構成します。

    • 報酬関数: 報酬モデル。

  • トレーニング データ: ランダムに選択されたプロンプト

  • データサイズ: 10,000 - 100,000 プロンプト

    • InstructGPT: 40,000 ヒント 

  •   : 報酬モデルはステージ 3.1 で取得されたモデルです。

  •   : は、ステージ 2 から取得された教師あり微調整モデルです。

    • プロンプトが与えられると、回答の分布が出力されます。

    • InstructGPT の論文では、 は として表されます。

  •   : は強化学習でトレーニングされたモデルであり、 によってパラメータ化されます。

    • 目標は、 のスコアを最大化する の値を見つけることです。

    • プロンプトが与えられると、モデルは応答の分布を出力します。

    • InstructGPT の論文では、 は として表されます。

  •   : ヒント

  •   : RL モデルに明示的に使用されるヒント配布。

  •   : 事前トレーニング済みモデルのトレーニング データの分布。

各トレーニング ステップでは、 のバッチが からランダムに選択され、 のバッチが から選択され、各サンプルの目的関数はサンプルがどの分布に由来するかによって異なります。

  1. それぞれの に対して、 を使用して答えを生成します。目的関数は次のように計算されます。この目的関数の 2 番目の項は KL 発散であり、RL モデルが SFT モデルから大きく逸脱しないようにするために使用されることに注意してください。

  1. それぞれの について、目的関数は次のように計算されます。直感的には、この目的関数は、事前トレーニング済みモデルのタスクでもある完了タスクにおいて、RL モデルのパフォーマンスが事前トレーニング済みモデルよりも悪くないことを保証することです。

最終的な目的関数は、上記の 2 つの目的関数の望ましい合計です。RL 設定では、前のステップのように目的関数を最小化するのではなく、目的関数を最大化します。

知らせ:

ここで使用されている表記は、InstructGPT の論文のものとは少し異なり、ここでの表記の方がより明確であると思いますが、両方とも同じ目的関数を参照しています。

 () InstructGPT 論文の目的関数の表現。

RLHFと幻覚

イリュージョンとは、AI モデルがコンテンツを構成する現象を指します。これが、多くの企業が LLM をワークフローに組み込むことに消極的である主な理由です。LLM が幻覚を起こす理由を説明する 2 つの仮説を見つけました。

最初の仮説は、2021年10月にDeepMindのPedro A. Ortegaらによって初めて提案されたもので、彼らはLLMが「自分たちの行動の因果関係を理解し​​ていないために幻覚を起こす」と信じていた(「妄想」という用語は当時DeepMindによって使用されていた) 「幻想」)」。回答の生成を因果関係のある介入として扱うと、この問題に対処できることが示されています。

2 番目の仮説は、LLM の内部知識とアノテーターの内部知識の間の不一致によって幻覚が引き起こされるというものです。OpenAIの共同創設者でPPOアルゴリズムの作者であるジョン・シュルマン氏は、2023年4月のカリフォルニア大学バークレー校での講演で、行動の複製が幻覚を引き起こす可能性があると述べた。SFT 段階では、LLM は人間が書いた応答を模倣することによってトレーニングされます。私たちが持っている知識を使用して答えを与えるが、LLM が持っていない場合、私たちは LLM に幻覚を見るように教えていることになります。

OpenAIのもう一人の従業員Leo Gao氏も、2021年12月にこの観点を明確に述べた。理論的には、ヒューマン・アノテーターは各キューについて知っているすべてのコンテキストを暗示し、既存の知識のみを使用するようにモデルに教えることができます。しかし、これは現実的には不可能です。

シュルマンは、LLM は自分が何かを知っているかどうかをよく知っていると主張します (私の意見では、これは非常に大胆なアイデアです)。つまり、LLM が知っていることだけに基づいて回答するように強制する方法を見つければ、次のことが可能になります。幻覚の問題を解決します。次に、彼はいくつかの解決策を提案します。

  1. 検証: LLM は、答えを取得したソースを説明 (取得) するように求められます。

  2. 強化学習: ステージ 3.1 でトレーニングされた報酬モデルは、比較情報のみを使用することに注意してください。つまり、回答 A は回答 B よりも優れていますが、A がどの程度優れているか、またはなぜ優れているかについては情報がありません。シュルマン氏は、コンテンツを構成するモデルに対するより厳しいペナルティなど、より優れた報酬関数を使用することで幻覚問題に対処できる可能性があると主張している。

これはジョン・シュルマン氏の2023年4月のスピーチのスクリーンショットです。

79f99e17fa9270cac32b357ac80e1b7d.png

シュルマン氏のプレゼンテーションから、RLHF は幻覚を助けるように設計されていると感じました。しかし、InstructGPT の論文は、RLHF が実際に幻覚の問題を悪化させることを示しています。RLHF はより重度の幻覚を引き起こしましたが、他の側面は改善されており、全体として、ヒューマン アノテーターは SFT のみを使用したモデルよりも RLHF モデルを好んでいました。

bd3025bb341d7b558f8508380963c196.png

幻覚の問題は、SFT のみを使用する場合と比較して、InstructGPT (RLHF+SFT) ではより深刻になります (Ouyang et al., 2022)。

LLM は自分が何かを知っていると知っているという前提に基づいて、可能な場合は真実の答えを提供し、答えがわからない場合は「申し訳ありませんが、わかりません」と言うなどのプロンプトを通じて幻覚を減らそうとする人もいます。LLM に簡潔に応答するよう促すことも、幻覚を減らすのに役立つようです。LLM が生成する必要があるトークンが少ないほど、問題をでっち上げる可能性が低くなります。

5

結論は

この記事を書くのはとても楽しかったので、読んでいただければ幸いです。人間の好みの偏り、評価の課題、データの所有権の問題など、RLHF の制限に関するセクション全体もありますが、この投稿はすでに十分な長さになっているため、別の投稿に残すことにしました。

RLHF の論文を調査する過程で、私は 3 つの事実に衝撃を受けました。

  1. 複雑さ: ChatGPT のようなモデルのトレーニングはかなり複雑なプロセスですが、それがどれほどうまく機能するかは驚くべきことです。

  2. 大規模: モデルのスケールは驚くべきものです。LLM には大量のデータとコンピューティング リソースが必要であることは以前から知っていましたが、それでもインターネット全体のデータを使用してトレーニングするのは圧倒的です。

  3. オープン性: 企業は自社のプロセスに関する情報を公開することを躊躇しません。DeepMind の Gopher 論文は 120 ページ、OpenAI の InstructGPT 論文は 68 ページ、Anthropic は 161,000 件の hh-rlhf 比較例を共有し、Meta は研究用に LLaMa モデルを提供しました。さらに、OpenAssistant や LAION など、コミュニティで共有されているオープン ソース モデルやデータセットが多数あります。なんと花が咲いた時代なのでしょう!

私たちはまだ LLM 開発の初期段階にいます。世界全体が LLM の可能性に気づき始めたばかりであるため、競争は激化しています。RLHF を含め、LLM のあらゆる側面は進化し続けます。この記事が、LLM の舞台裏でのトレーニング プロセスをより深く理解し、ニーズに最も合った LLM を選択するのに役立つことを願っています。

他のみんなが見てる

大規模な言語モデルの 100K コンテキスト ウィンドウの秘密

‍GPT チーフデザイナー: 大規模言語モデルの未来

ジョン・シュルマン: 真実への道GPT

ChatGPT が教師あり学習ではなく強化学習を使用する理由

OneEmbedding: 1 枚のカードで TB レベルの推奨モデルをトレーニングすることも夢ではありません

GLM トレーニングの高速化: 最大 3 倍のパフォーマンス向上、1/3 のメモリ節約

OneFlow を試してください: github.com/Oneflow-Inc/oneflow/

86dceec60a40c5acf978555538c3f18e.png

おすすめ

転載: blog.csdn.net/OneFlow_Official/article/details/131588226