※本記事は、スタンフォード大学コンピュータサイエンス学部のPercy Liang准教授およびTatsunori Hashimoto助教授による「Stanford CS336 Language Modeling from Scratch | Spring 2025 | Lecture 15: Alignment - SFT/RLHF」の講義内容を基に作成されています。
Percy Liang氏は、スタンフォード大学コンピュータサイエンス学部准教授であり、基盤モデル研究センター(Center for Research on Foundation Models, CRFM)のディレクターを務めています。Tatsunori Hashimoto氏は、スタンフォード大学コンピュータサイエンス学部助教授です。
スタンフォード大学のオンライン人工知能プログラムの詳細情報は https://stanford.io/ai でご覧いただけます。本講義への受講申し込みについては https://online.stanford.edu/courses/ をご参照ください。講義スケジュールとシラバスの詳細は https://stanford-cs336.github.io/spri... でご確認いただけます。
本記事では、講義の内容を要約しております。なお、本記事の内容は原講義の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの講義動画をご覧いただくことをお勧めいたします。
1. 講義導入・概要
1.1 講義の位置づけと目標
今日からクラスの最後の2つのパートに入ります。これらはpost-trainingの様々な側面を扱うことになります。これまでは大規模な事前学習システムのデータ構成要素に非常に重点を置いてきました。そして今、この大きな事前学習済みモデルを取り上げて、それを様々な方法で有用かつ安全にしていこうとしています。これが私による次の2つの講義になります。
今日はRLHFと安全性アライメントに関する内容を扱い、木曜日は検証可能な報酬からのRLを扱う予定です。推論訓練や数学などの内容は木曜日に行われます。前述したように、今日は事前学習からpost-trainingへとシフトしていきます。
Percyは最後の講義でpost-trainingデータについていくつか取り上げましたが、実際には今日の焦点は、この分野で見られた本質的に大きな転換について述べることだと思います。GPT-3は本当に注目すべきシステムであり、非常に印象的で、大量の事前学習と大量の計算資源を投入されています。しかし、これは実際には有用なシステムではありませんでした。
広告コピーの作成などを中心とした少数のスタートアップが存在したと思いますが、それはあまり有用ではありませんでした。指示に従うこともなく、製品の観点から見て特に興味深いことは何もしませんでした。そして突然、ChatGPTが登場しました。ChatGPTはあらゆる種類の驚くべきことができ、指示に従うことができます。そしてそれ以来、それが社会に与えた影響を我々は目の当たりにしてきました。
そこで今日の焦点は、まさにここにある矢印に向けられます。GPT-3のような事前学習済みシステムを取り上げて、どのようにしてChatGPTのようなものを作るのか。そして我々はそのプロセスの核心部分に迫ろうとしています。皆さんのほとんどは制御可能な生成や前世代のテキスト生成システムに取り組んだことがないと思いますが、実際に現代的な指示追従モデルは本当に素晴らしいものです。
これはSebastien Bubeckの2023年のSparks of AGIペーパーからの私のお気に入りの例の一つで、GPT-4が出た頃のものです。しかし、これは非常に長いブロックの入れ子になった複合指示に従うことができます。そしてそれをコーディング能力と組み合わせて、ゼロショットでmatplotlibコードを出力してくれます。皆さんは今これを当然のことと考えていると思います。もちろん、ChatGPTは一度に10の指示に従うことができる、と。
しかし、これができることは本当に驚くべきことなのです。そして私がこの講義について興奮する理由の一部は、それがこれらすべてを行うことができるという事実にあります。そしてもう一つ非常に重要だと思うことは、これらのシステムが野生に放たれている今、安全性とコンテンツモデレーションが本当に重要になってきているということです。これらのモデルが悪用される可能性があるという観点からの安全性、誰かがそれらを詐欺に使おうとする可能性があります。
また、これが人々が支払い、広告を掲載する有用な製品であると考えているなら、コンテンツモデレーションも重要です。人々は恐ろしく有毒なシステムに支払いをしたり広告を掲載したりすることを本当に望んでいません。ChatGPTがこれほど成功した大きな理由の一つは、その周りに本当に重要なガードレールが設けられていることだと思います。
それを踏まえて、今日の目標は言語モデルに対してはるかにタイトで優れた制御を可能にすることです。事前学習については、それがモデルをあらゆる種類の能力で満たすという心理的モデルを考えることができます。事前学習後、モデルはパラメータのどこかで、推論や質問への回答などの多くのことができるようになっています。しかし、それらをそのままの状態で行うことはありません。
そこで今日我々が行おうとしていることは、モデルがそれらをそのままの状態で行えるようにすることです。そして我々が行うことは、言語モデルから望む様々な種類の行動のデータを収集し、それらのことを行うように訓練することです。そこで今皆さんが問うべき質問は、そのデータはどのようなものなのか、そのデータを収集するのはどれほど困難なのかということです。Percyはこれについて少し触れていますが、データの重要性を考慮して、私はそれを少し再強調するつもりです。私はいくつかのインタラクティブな演習を行い、それを検討していく予定です。
そしてアルゴリズム的な質問があります。そのデータをどのように活用するのか。ある種類のデータは使いやすいです。専門家によるデモンストレーションがあれば、それを模倣するように訓練すればよいのです。しかし、ペアワイズフィードバックのようなもの、つまりモデル出力Aがモデル出力Bよりも優れているというようなものがある場合、それをどのように活用するのか。そして最後に、どのようにしてこれをスケールアップするのか。このクラスで行ってきた通常のことをどのように行うのか。
そこでこの講義の構造は、InstructGPTペーパーをおおよそ反映することになります。なぜなら、今日我々が持っているpost-trainingパイプラインの多くは、まだInstructGPTペーパーに基づいているからです。
1.2 Pre-training から Post-training への転換
この講義の最初の部分は教師あり微調整について扱います。InstructGPTペーパーを見ると、指示追従モデルを構築するための大まかに3段階のプロセスを説明するこの図が見えるでしょう。そこでこの講義のpart oneは最も左の部分になります。我々が専門家によるデモンストレーションに対して教師あり微調整を行う部分です。そしてpart twoでは、この構造の次の2つの部分に従っていきます。強化学習とペアワイズフィードバックについて話していきます。
大まかに言えば、この最初の部分を機能させるための要素について述べます。つまり、考えなければならないことが2つあります。最初の部分は訓練データです。専門家によるデモンストレーションを模倣するつもりなら、専門家によるデモンストレーションを持っている方が良いです。それはどのようなものなのか。そして話したいもう一つのことは手法です。今データがあるなら、どのようにしてそれに適応するつもりなのか。
明白な答えがあります。これについて再び話しますが、勾配降下を行うだけです。しかし、この答えには少し自明でない部分もあります。そして、今日人々がこれらのモデルをどのように構築しているかをフォローしていなかった場合には、これはまだ驚くべきことかもしれません。だからこれは後のための予告として残しておきます。
今日人々がこれらのモデルを構築する方法をフォローしていない場合、これはまだ驚くべきことかもしれません。そこで我々は、事前学習からpost-trainingへとシフトしています。事前学習では、あらゆる種類の能力でモデルを満たすという心理的モデルを考えることができます。事前学習後、モデルはパラメータのどこかで推論や質問への回答などの多くのことを行うことができますが、それらをそのままの状態では行いません。
そして今日我々が行おうとしていることは、モデルにそれらをそのままの状態で行わせることです。そこで我々が行うことは、言語モデルから望む様々な種類の行動のデータを収集し、それらのことを行うように訓練することです。
1.3 GPT-3 から ChatGPT への変革
我々はGPT-3という本当に注目すべきシステム、本当に印象的で、大量の事前学習と大量の計算を持ったシステムを持っていました。しかしこれは実際には有用なシステムではありませんでした。広告コピーの作成などを中心とした少数のスタートアップが存在したと思いますが、それはあまり有用ではありませんでした。指示に従うこともせず、製品の観点から見て特に興味深いことは何もしませんでした。そして突然、ChatGPTが登場しました。ChatGPTはあらゆる種類の驚くべきことができ、指示に従うことができます。そしてそれ以来、それが社会に与えた影響を我々は目の当たりにしてきました。
そこで今日の焦点は、まさにここにある矢印に向けられます。GPT-3のような事前学習済みシステムを取り上げて、どのようにしてChatGPTのようなものを作るのか。そして我々はそのプロセスの核心部分に迫ろうとしています。皆さんのほとんどは制御可能な生成や前世代のテキスト生成システムに取り組んだことがないと思いますが、実際に現代的な指示追従モデルは本当に素晴らしいものです。
これはSebastien Bubeckの2023年のSparks of AGIペーパーからの私のお気に入りの例の一つで、GPT-4が出た頃のものです。このモデルは非常に長いブロックの入れ子になった複合指示に従うことができます。そしてそれをコーディング能力と組み合わせて、ゼロショットでmatplotlibコードを出力してくれます。皆さんは今これを当然のことと考えていると思います。もちろん、ChatGPTは一度に10の指示に従うことができる、と。
しかし、これができることは本当に驚くべきことなのです。そして私がこの講義について興奮する理由の一部は、それがこれらすべてを行うことができるという事実にあります。そしてもう一つ非常に重要だと思うことは、これらのシステムが野生に放たれている今、安全性とコンテンツモデレーションが本当に重要になってきているということです。これらのモデルが悪用される可能性があるという観点からの安全性、誰かがそれらを詐欺に使おうとする可能性があります。
また、これが人々が支払い、広告を掲載する有用な製品であると考えているなら、コンテンツモデレーションも重要です。人々は恐ろしく有毒なシステムに支払いをしたり広告を掲載したりすることを本当に望んでいません。ChatGPTがこれほど成功した大きな理由の一つは、その周りに本当に重要なガードレールが設けられていることだと思います。
2. Supervised Fine-Tuning (SFT) - Part 1
2.1 SFTの基本概念と構造
そこでこの講義の構造は、InstructGPTペーパーをおおよそ反映することになります。なぜなら、今日我々が持っているpost-trainingパイプラインの多くは、まだInstructGPTペーパーに基づいているからです。そしてこの講義の最初の部分は教師あり微調整について扱います。
InstructGPTペーパーを見ると、指示追従モデルを構築するための大まかに3段階のプロセスを説明するこの図が見えるでしょう。そこでこの講義のpart oneは最も左の部分になります。我々が専門家によるデモンストレーションに対して教師あり微調整を行う部分です。そしてpart twoでは、この構造の次の2つの部分に従っていきます。強化学習とペアワイズフィードバックについて話していきます。
大まかに言えば、この最初の部分を機能させるための要素について述べます。つまり、考えなければならないことが2つあります。最初の部分は訓練データです。専門家によるデモンストレーションを模倣するつもりなら、専門家によるデモンストレーションを持っている方が良いです。それはどのようなものなのか。そして話したいもう一つのことは手法です。今データがあるなら、どのようにしてそれに適応するつもりなのか。
明白な答えがあります。これについて再び話しますが、勾配降下を行うだけです。しかし、この答えには少し自明でない部分もあります。そして、今日人々がこれらのモデルをどのように構築しているかをフォローしていなかった場合には、これはまだ驚くべきことかもしれません。だからこれは後のための予告として残しておきます。
2.2 学習データの種類と特徴
Percyの講義では、彼は既にいくつかの異なる種類の指示データについて言及しています。しかし今日は、それらのうちのいくつかを詳しく見ていき、少しインタラクティブな演習を行う予定です。ラップトップを開いている皆さんは、それを良いことに使うことができます。
そこで私は2つの異なる詳細について話したいと思います。そのうちの一つは、これらのデータセットの中に何があるかということです。人々はしばしばデータが非常に重要だと言います。post-trainingは、これが以前よりもさらに真実である場所の一つだと思います。なぜなら、まさに望む行動を得るために非常に少量のデータを使用しているからです。そこで、ノイズの多い指示チューニングデータがあれば、モデルからかなりクレイジーな行動を得ることになります。
そして、どのような種類のことに注意を払うべきなのか。post-trainingデータ収集を担当している場合、どのような種類のことが重要かもしれないのか。そこで私は、基本的に3つの非常に異なる方法で構築された3つの異なるデータセットを取り上げました。指示追従やpost-trainingデータを構築する3つの異なるパラダイムと呼ぶこともできるかもしれません。そして我々はそれぞれを見ていきます。
そして、それらを詳しく見て、これらのデータセットで何が起こっているのかについて少し考えていこうと思います。
3. 異なるデータセット構築手法の分析
3.1 FLAN: NLPタスク集約アプローチ
そこで私はFLANについて話すつもりです。これはたくさんのGoogleの人々によるものです。そしてFLANは本質的に、NLPタスクからの訓練データセットの束を集約することによって構築されます。
それを見ると、Natural Instructions v2のようなあらゆる種類の異なるタスクが見えます。これには質問応答などの束が含まれています。T0-SF、adversarial QA、トピック分類を持っています。そこで基本的に、これは個々のタスクを行うあらゆる種類の既存のNLPデータセットを取り上げて、それらを一つの大きなメタデータセットに集約することによって構築されました。これがそのようなデータセットを構築する一つのアプローチです。
そこで今、FLANデータセットから取られたランダムな例を見てみましょう。そして、ここにある種類のものを見ることができます。この記事のハイライトを書けというような、かなり普通の指示チューニングデータに見えるものがあります。オランダの段差のある切妻建築物を過ぎて緑の並木道をそぞろ歩き、点々点々点々。そして最後に、オランダの旅行についてさらに詳しい情報がwww.holland.comにあると書かれています。
そしてそれは、オランダの都市の中で最も知られていないハーグは村だった、点々点々点々と答えます。そしてそれをハイライトとして要約しています。このようなものがあります。これはテキストについて何なのか、ここに4つの選択肢があるというようなものがあります。それはビジネスです。これは起こっている多肢選択の訓練のようなものです。
Percyはエンロンデータセットについて話しました。そこで皆さんは皆、少し笑顔になることができます。しかし、エンロンメールデータセットを取って、それを貼り付け、このメールの件名を書け、そして今その作業のための監督を得たというようなことがあります。これは、データベースエントリがあって、そのレストランを記述する文を書くことになっているE2Eというデータセットからのものです。
そこで即座に見ることができます、この方法で無料でたくさんのデータを得ることができるでしょう。たくさんのNLP訓練データセットがあり、それらをすべて一緒にまとめれば、本当に大きな集約されたデータセットを得ることになります。そしてその意味で、FLANは時代を先取りしており、この種のもののためのトンのデータを生産しました。
しかし同時に、多くの点でこれはやや不自然であり得ることも我々は見ています。エンロンデータセットが少し奇妙であることは既に見ました。テキストがあって、そしてそれを作業に変えるためにオプションを追加するというようなことを本当に明確に見ることができます。そしてこの種のデータセットを作るために行わなければならない外科手術を非常に目に見える形で見ることができます。そして、これを見れば、これがChatGPTのような通常のチャットインタラクションではないということに同意してもらえると思います。
3.2 OpenAssistant: 人間によるクラウドソーシング
右側にはOpenAssistantがあります。これは非常にユニークな取り組みだったと思います。この中で、たくさんのオンライン愛好家が集まって、言語モデルのための指示チューニングデータを書くことにしました。ChatGPTのリリース直後、この種のことに対する興奮は本当に高かったのです。
そしてその努力から、実際にたくさんの良い、高品質な人間が書いたデータがあります。そしてOpenAssistantは、この指示チューニング物語の第三の足です。左側により複雑なクエリが見えます。そして当時、人々はモデルのための長く詳細な監督を書くことに本当に夢中だったので、実際に本当に詳細な応答を見ることができます。そしてこの一つには、この答えを正しくするものについての引用さえあります。そして非常に高品質ですが、同時に非常に困難でもあります。
3.3 Stanford Alpaca: LM生成データ
最後に、もちろん、これはここで少し自己宣伝になりますが、言語モデル生成のpost-trainingデータまたはAIフィードバックスタイルのデータの代表として、私はStanford alpacaからのデータについて少し話すつもりです。
これの別の例はalpacaです。これは言語モデルを使って指示チューニングデータを生成する本当に、本当に初期の試みでした。そこでここでの手順を説明すると、言語モデルが使用されました。人間が書いた指示のシードセットがあり、そして言語モデルが本質的により多くの指示を生成するために使用されました。それが左側の列で、そしてInstructGPTのようなものを使って本質的に応答を埋めます。
そしてここで、今我々は左側に標準的なChatGPT入力のように見えるものを持っています。これを左側のものと比較すると、これは非常にベンチマーク中心的なタスクのセットです。これは誰かがチャットボットに投げ込むかもしれない一連のインタラクションのように非常に感じられます。
そして応答はほぼ常に長形式の自然言語であり、FLANでは、しばしば一語や句のようなものなど、非常に短いものになり得ることと対照的です。そこで我々はそれを見ます。もちろん、左側でも我々は見ます。これらは、ある意味では、それほど多様ではない入力です。それらは非常に短い指示です。
4. インタラクティブ演習と実際のデータ収集の課題
4.1 学生による回答生成実験
そこで今、これはこのクラスで最初のインタラクティブなタスクです。しかし特にラップトップを開いている皆さんは、このURLに行ってください。これはGoogle formになるはずです。そして一つのプロンプトがあるでしょう。そして今、我々は集合的に指示チューニング応答をクラウドソーシングするつもりです。そして皆さん全員に、そうですね、5分間それを行う時間を与えます。リンクが間違っていれば教えてください。
しかし昨夜テストしましたので、うまくいくことを願っています。そして我々は応答を簡単に見ていきます。そして、なぜ私がこの演習を行ったのかについて話したいと思います。単に皆さんをラップトップから一瞬離れさせるためだけではなく、ここには教訓的な瞬間があります。
OK、素晴らしいです。かなりの数の応答があると思います。そこで私はそれらを表示するつもりです。それらを表示できるか見てみましょう。そう、そこにあります。そこで多くの点で、これは皆さんが得るデータの種類を反映していると思います。つまり、何でも、皆さんは皆、標準的なクラウドワーカーよりもこの作業を行う動機があると思います。
しかし人がいます。つまり、ここで何が起こっているのかはよくわかりませんが、これはおそらくChatGPTです。たくさんの絵文字があります。私はトロールされていますが、これは—つまり、私は離陸の準備をしているというのは良い応答です。「nahhhh fam」というのがあり、これはもちろん、クラウドソーシングから得られる種類のものです。
そして、皆さんがこれを行っているときに見たり感じたりしたことの一つが、実際に長形式の応答を書くのは本当に困難だということだと思います。特に準備していない何かについては。そこで、このような多くの短い応答を得ます。この一番上にあるような長く詳細な応答を人々に書かせるのは非常に困難だと思います。しばしば、そのような種類のものはChatGPTからのものです。
そしてもちろん、このようなものを得るでしょう。これを見ました。アイスクリームは通常牛乳やクリームから作られた冷凍デザートです。そして、クラウドソーシングを通じて得られるそのような種類のものを除外しなければならないでしょう。
4.2 データ品質とアノテーション困難性の観察
そこでなぜ私はこれについて話したのでしょうか。まあ、もちろん、今皆さんはこのタスクがどのようなものかを感じています。野生のアノテーターは、専門家であっても、時間的制約の下にいるでしょう。
そして、AIフィードバックやLMを使ってこれらの種類のデータを改良または生成しようとするような取り組みが本当に人気になった理由の一つは、この質問に対するGPT-4oの応答を見ると、それがかなり良いということです。この質問に対する非常に良い応答です。それは非常に長いです。それは非常に詳細です。
そして、この種の人間による応答を生成するには多くの労力と多くのコストがかかるでしょう。そこで、これらの研究所の一つで人間のデータ収集を担当している場合、OK、スプレッドシートで示したものを取り上げて、代わりにこのように見えるものを生成するよう人々にどのようにインセンティブを与えるかを考えなければなりません。それは決して簡単なタスクではありません。それは非常に困難なクラウドソーシングタスクです。
そして我々が今見たこれらのものは、長さのような点でかなり異なります。箇条書きのようなChatGPTが見えました。多くのスタイルのバリエーションがあります。OpenAssistantの例で、時々人々が参考文献を入れることを見ました。時々彼らは非常に複雑で深い知識を入れます。それは良いことなのか悪いことなのか。私は少ししてそれについて話すつもりです。
そしてこのプロセスには他の重要な側面もあります。たぶん皆さんはたくさんのデータを集めたいのか、それとも高品質な非常に少ないデータを集めたいのか。そこで皆さんにはこのトレードオフがあります。また、安全性についても多く考えなければなりません。我々が今収集したデータは、単に能力データです。それはモデルにCS336とは何かというようなことに答えさせるだけです。それは悪意のある指示を拒否するようにモデルを作ることなどには役立ちません。そこで、その種のデータがどのようなものかについても少し考えなければなりません。
4.3 回答長とスタイルの多様性問題
長さは、これらすべてのデータセットにとって常に大きなgorilla in the roomの問題だったと思います。2023年に戻って、この種の指示チューニングデータセットを生成することが非常に人気だったとき、U-DubのYizhong Wangらによるような調査がありました。彼らはその年の早い時期に作成された多くの異なる種類のデータセットを見ているこの非常に素晴らしい調査を出しました。
そして、プロンプト(つまり入力)と応答(つまり補完)の両方の長さを見ると、入力と出力の両方で本当に異なる長さが見えます。そして入力はおそらく多くの点でタスクの複雑さの尺度です。そして出力はある意味で、アノテーターをどれだけプッシュしたか、またはAI生成応答を使用したかの尺度です。
そして皆さんが認識すべきことの一つは、人間評価を使用している場合、人々はリストに対して強い選好を持っているということです。つまり、皆さんも実際にはそうだと思います。AI judgeを使用しても、彼らもリストに対して非常に強い選好を持っています。
そして人々は長い出力に対して非常に長い選好を持っています。約60%、70%程度の長い出力への選好があり、AI judgeもそうです。そしてこれは少し懸念すべきことです。なぜなら、応答の文体的内容だけでなく、理想的には幻覚を減らし、実際にモデルをより有能にすることをpost-trainingを使って行いたいからです。
5. データセットの品質分析と評価指標
5.1 回答長による性能への影響
長さは、これらすべてのデータセットにとって常に大きなgorilla in the roomの問題だったと思います。2023年に戻って、この種の指示チューニングデータセットを生成することが非常に人気だったとき、U-DubのYizhong Wangらによるような調査がありました。彼らはその年の早い時期に作成された多くの異なる種類のデータセットを見ているこの非常に素晴らしい調査を出しました。
そして、プロンプト(つまり入力)と応答(つまり補完)の両方の長さを見ると、入力と出力の両方で本当に異なる長さが見えます。そして入力はおそらく多くの点でタスクの複雑さの尺度です。そして出力はある意味で、アノテーターをどれだけプッシュしたか、またはAI生成応答を使用したかの尺度です。
そして皆さんが認識すべきことの一つは、人間評価を使用している場合、人々はリストに対して強い選好を持っているということです。つまり、皆さんも実際にはそうだと思います。AI judgeを使用しても、彼らもリストに対して非常に強い選好を持っています。
そして人々は長い出力に対して非常に長い選好を持っています。約60%、70%程度の長い出力への選好があり、AI judgeもそうです。そしてこれは少し懸念すべきことです。なぜなら、応答の文体的内容だけでなく、理想的には幻覚を減らし、実際にモデルをより有能にすることをpost-trainingを使って行いたいからです。
5.2 ベンチマーク性能 vs チャット評価の乖離
我々が見ることの一つは、これらの要因がベンチマーク性能にはそれほど関連していないということです。そこで例えばMMLU性能を見ると、これらのモデルの多くで長さに非常に大きな違いがあるにもかかわらず、単純なものを含むほとんどの指示チューニングデータセットは、上の一番上の行であるベースモデルに対してブーストを与えます。
そしてここで言うことの一つは、チャットスタイル評価にはその場所があるということです。Chatbot Arena、AlpacaEval、これらの種類の自動評価は、ユーザーエンゲージメントなどを理解するのに役立つ場所があります。しかし、ベンチマークも非常に重要な場所があります。なぜなら、post-trainする際に、例えば長さのバイアスやオープンエンドなドメインなどによってあまり影響されたくないからです。
そしてこれらの効果に本当に注意深くありたいと思います。これらの落とし穴を避けようとするために、多様で多彩な評価戦略の配列を持ちたいと思います。
5.3 高品質データの定義とその複雑性
私が本当に人々を混乱させると思うもう一つのことは、彼らが最初にこれらのことについて考え始めるとき、ああ、私がやっていることは高品質のデータを集めることだ、そして高品質のデータはたくさんの深い知識を持ち、たくさんの引用を持っている、と言うことです。それは言うべき合理的なことです。
そして私はOpenAssistantがこれの素晴らしい例を持っていたと思います。そこでここに例があります。入力/出力のペア。経済学における独占の紹介を書けというのがあります。そして右側の応答にこれらの参考文献があります。そこで今、モデルがあり、左側を入力として取り、右側を出力として再現するようにモデルを微調整するとしましょう。
そこで、このプロセスが同時に行う2つの異なることについて考えることができます。そこで、これが行うことの一つは、独占をその引用と関連付けることです。そこで、新しい知識を学んでいます。そこでそれは良いことです。そこでそれは行うべき良いことです。しかし、それは同時に第二のことも行います。それは、もしあなたが私に複雑な概念について尋ねるなら、私は出力を参考文献で終える方が良い、という種の一般化されたことを言うのです。
そこで基本的に最初のことは新しい知識を教えることで、それは良いことです。しかし、ここでの第二のことは、モデルに幻覚させることを教える種のことです。モデルがまだそのパラメータのどこかに、独占とこの引用、このBivensとMishelの本との間の関連を持っていない場合、代わりに起こるかもしれないことは、ああ、私がすべきことは、複雑な入力があるときはいつでも、応答を与えてから最後に参考文献を作り上げることだ、ということを学ぶだけです。それらはここで起こっていることに対する2つの競合する説明です。
6. 知識の教授と幻覚問題
6.1 引用付き回答の二面性分析
私が本当に人々を混乱させると思うもう一つのことは、彼らが最初にこれらのことについて考え始めるとき、ああ、私がやっていることは高品質のデータを集めることだ、そして高品質のデータはたくさんの深い知識を持ち、たくさんの引用を持っている、と言うことです。それは言うべき合理的なことです。
そして私はOpenAssistantがこれの素晴らしい例を持っていたと思います。そこでここに例があります。入力/出力のペア。経済学における独占の紹介を書けというのがあります。そして右側の応答にこれらの参考文献があります。そこで今、モデルがあり、左側を入力として取り、右側を出力として再現するようにモデルを微調整するとしましょう。
そこで、このプロセスが同時に行う2つの異なることについて考えることができます。そこで、これが行うことの一つは、独占をその引用と関連付けることです。そこで、新しい知識を学んでいます。そこでそれは良いことです。そこでそれは行うべき良いことです。しかし、それは同時に第二のことも行います。それは、もしあなたが私に複雑な概念について尋ねるなら、私は出力を参考文献で終える方が良い、という種の一般化されたことを言うのです。
そこで基本的に最初のことは新しい知識を教えることで、それは良いことです。しかし、ここでの第二のことは、モデルに幻覚させることを教える種のことです。モデルがまだそのパラメータのどこかに、独占とこの引用、このBivensとMishelの本との間の関連を持っていない場合、代わりに起こるかもしれないことは、ああ、私がすべきことは、複雑な入力があるときはいつでも、応答を与えてから最後に参考文献を作り上げることだ、ということを学ぶだけです。それらはここで起こっていることに対する2つの競合する説明です。
6.2 John Schulmanの幻覚促進理論
そしてこれは、ある意味では、この講義の第二部分を動機づけることになります。John Schulmanには、彼がバークレーで行った素晴らしい講演があると思います。彼の議論は基本的に、この種のことを行うと、モデルに幻覚を促すことになるということです。
モデルが質問に答える知識を持っていない場合、その質問に答えることを強制します。それが学ぶことは、もちろん、ある抽象的な意味で知識を学ぶでしょうが、応答がどのように見えるべきかをtype checkするために何かを作り上げる必要があるという他の側面も学ぶでしょう。
そこで質問があります。人間の権利設計者ペーパーでは、一つの書いている者が、OK、ここで関連する引用を検索しよう、記憶から、あるいは実際にデータベースを使って検索しようという感覚を持っています。LMが、OK、ここで引用を挿入すべきだということを学んでいるという事実は、実際に正しく望ましいことです。そしてそれが作り上げられた引用であるという事実は、記憶の問題であるか、あるいは皆さんがツール使用で拡張できるかもしれない何かです。引用を追加する必要があるという行動自体が問題である理由がわからないです。もし記憶問題やツール使用問題を修正できるなら。
確かにです。つまり、その質問を繰り返すと、その質問は—私はそれは質問よりもコメントだったと思います。引用を入れることを学ぶことは悪いことではない?たぶんツールでそれを拡張すれば、実際に正しい引用が得られるだろう、と。つまり、それは公正な指摘です。しかし、ここで指摘すべきことは、トークン予測との深い概念的な、あるいは概念的でない、深い問題は、モデルに正しい種類のトークンを予測するように教えていることだと思います。
そして、ここで、本質的に、2つのエラーのうち小さい方は、参考文献をまったく作らないよりも、幻覚の方が私の損失にとって悪くないということです。応答の構造は常に満たされなければなりません。なぜなら、正しい場所でトークンを埋めなければならないからです。もちろん、スケールで、事実を知っている場合、正しいツールがある場合、それらは良いです。正しいスペースで予測を行いたいのです。
しかし、私はこれがモデルが陥ることができる失敗モードを非常に示していると思います。そこで、モデルができないことをやらせようとしている場合です。もしSFTデータが事前学習されたモデルが自然にできることよりもはるかに高度である場合、正しい行動をモデルに教える代わりに、この代替ショートカット行動をモデルに教えるリスクを冒すことになります。
6.3 学習データがモデル能力を超える場合の危険性
そう、それがJohn Schulmanです。私は彼がon policy、RL、強化学習スタイルのものを行うことが重要である理由の一つは、モデルが既に知っていることを知りたい、そして幻覚させることを避けるためにそれらのことのみを教えたいからであるという、かなり合理的な理由を述べていると思います。
そして、知らない事実に遭遇したときはいつでも、その場合は、ああ、その事実を知らない、と言うように微調整データを変更すべきかもしれません。モデルに答えようと強制する代わりに。そして我々は他の知識貯蔵研究でもこれを見ており、人々は、モデルが知られた事実を再現することは、未知の事実を学ぶよりもはるかに簡単であると話しています。そこでは、事前学習で示されていない事実をモデルが学ぶのにはるかに長い時間がかかるだけです。
そして、これはこれらの現象から期待するかもしれないものと一致しています。私がそれで要約することの一つは、指示チューニングには非常に直感に反する現象があるということです。それは、完全に正しく、実際に非常に豊かな指示チューニングデータセットを持つことができますが、実際にそれがLMにとって良くないかもしれないということです。なぜなら、それは言語モデルにその知識の深さに合わせるために事実を作り上げようとすることを教えるからです。
それは常に、教師モデルが学生モデルよりも強い蒸留データや、人間がモデルよりもはるかに知識豊富かもしれない本当の人間アノテーションで、なぜ本当に注意深くありたいかの議論の一つだったと思います。
知らないときにうまく棄権するようにモデルを作りたいのです。そして原理的には、強化学習スタイルの正しさが役立つことができます。そして我々は少ししてそれについて話すつもりです。そして指示チューニングレベルでこれを最適化することは、本当に面倒で非常に困難です。少なくともオープンな研究文献では、人々は実際にそれを釘付けにしていないと思います。
7. 安全性チューニングとガードレール
7.1 安全性データの必要性
私が簡潔に話したいもう一つのことは、これは必ずしも指示チューニングだけでは解決できないものだからですが、安全性に触れ、ここでのトレードオフが何であるかについて少し考えることです。そこで我々は言語モデルにいくつかのガードレールが必要であることを知っています。それらはエンドユーザーに直接展開されます。それらは非常に有能です。そこで、それらが誤情報や詐欺やスパムのようなものの生成に使用される可能性があります。
そしてこれらのモデルに対する安全性チューニングの必要性があります。そして指示チューニングに関する多くの研究と並行して、実際に安全性チューニングを研究する非常に多くの作業も行われてきたと思います。そしてこの分野での初期の作業のいくつかは、指示チューニングプロセスに混ぜ込まれた少量の安全性チューニングデータでさえ、モデルをはるかに安全にすることができることを示しています。指示チューニングに関しても人々が持っていた多くの発見と並行して、実際に、十分に強い事前学習されたモデルがある場合、少量の指示チューニングデータでさえ、多くの道のりを得ることができます。十分であると言っているのではありませんが、実際にそれは合理的な地点に到達させます。
7.2 拒否と過度な拒否のバランス問題
そして安全性チューニングで私がこの簡潔なセクションで触れる核心的なトレードオフは、物事を拒否することと、あまりにも多くを拒否しないこととの間のこのトレードオフです。
そこで、安全でない応答がある場合、安全性チューニングされたモデルに答えることを拒否させたいということが常にあります。そして、他の実際に安全な応答があるかもしれませんが、安全でない応答に見えるような物事があります。Pythonプロセスをkillする方法はどのようにすればよいかというように。我々は皆、それが尋ねるべき合理的な質問であることを知っています。しかし英語を非常に深く理解していない場合、ああ、kill、killは非常に危険に聞こえる、と思うでしょう。
そこでたぶん、その質問に答えることを拒否すべきだと思うでしょう。そこで、モデルにこの微妙さを理解させるにはどうすればよいでしょうか?純粋に指示チューニング設定でそれを行うのは非常にトリッキーなことです。そして人々が行ったことの多くは、このトレードオフのバランスを取ろうとするために、慎重にキュレートされた小さな指示チューニングデータセットを考え出すことです。
7.3 少量データでの効果的な安全性向上
そこで、研究のいくつかは、500例のようなものでさえ、モデルに安全性ガイドラインのいくつかに従わせることができることを示しています。これをまとめると、指示チューニングは驚くべきほど強力です。ChatGPTのようなものがどれほど強力かを考えると、何かが機能するまでには実際に大量の複雑さがあると思うでしょう。
FLANやOpenHermes、OpenAssistant、またはこれらのデータセットのいずれかなどの、かなり標準的な指示チューニングデータセットを取り、ベースモデルを取って合理的なハイパーパラメータでそれに微調整すれば、LlamaやChatGPTのように動作するモデルを得られることがわかると思います。それはそれほど良くはないでしょう。それを最適化するために行う必要がある多くの追加作業があります。しかし、かなり遠くまで到達することができます。
覚えておくべき第二のことは、基本的に高品質データの概念は非常に複雑であり、それについて本当に慎重に推論しなければならないということです。それを行う方法は明らかではありません。そして最後のことは、実際に少量のデータでさえ、この段階でモデルの動作を変える際に大きなレバレッジを持つことができるということです。
8. 現代的なInstruction Tuningの実装
8.1 従来の勾配降下法
このセクションを終了する最後のことで私が話したいのは、この指示チューニングをどのように行うかということです。これにはフリッパントな答えがあります。それは、まあ、デモンストレーションがあるのだから、指示と応答を入れて、勾配降下を行えばよいのです。我々は皆、この時点で勾配降下を行う方法を知っています。そして、ほとんどの学術的設定では、基本的にそれで終わりです。小規模な勾配降下を行って、終わりです。
8.2 Mid-trainingによるスケールアップ
しかし、フロンティアラボにいて、何をしてよいかわからないほどの計算資源とお金を持っている場合、そこで大量の計算資源と大量のデータを持っています。そしてこのプロセス全体をかなりスケールアップすることができます。大幅にスケールアップすることができます。
そして現代的な指示チューニングパイプラインは、事前学習パイプラインによく似始めています。そしてますます、事前学習と指示チューニングの境界は曖昧になってきています。なぜなら、考えてみれば、指示チューニングデータは依然としてシーケンスだからです。それは単にトークンのシーケンスです。そして私はそれを事前学習プロセスに投入することができます。
そしてそれは行うべき完全に有効なことです。そしてこれはますます人気の高いアイデアです。クローズドラボは我々に何も教えてくれないと思います。しかし、人々が断片的に私に話してくれることは、これが彼らが行っていることであることを示唆します。中国からの多くのオープングループは、現在基本的にこれを行っています。そしてあなたが行うことは、通常の事前学習設定を持つことです。純粋な事前学習を行います。
そして次に行うことは、指示チューニングデータを事前学習に混ぜ始めることです。事前学習の後半部分で、特に学習率をアニーリングしているときに、このより高品質なデータや指示チューニングデータをたくさん入れ始めるつもりです。
そして最後に、実際に第二の短い指示チューニングラウンドを行うかもしれません。しかし、おそらく、これは小さくなります。なぜなら、データの大部分は既に第二段階、人々がmid-trainingと呼ぶものに入っているからです。そしてこれは素晴らしいです。なぜなら、破滅的忘却問題なしにスケールアップできるからです。事前学習により深く統合されているため、データからより多くのレバレッジを得ることができるかもしれません。
8.3 Pre-trainingとInstruction Tuningの境界の曖昧化
そして例を挙げて、これがどのようなものかの感覚を与えるために—そして、データミックスがしばしば多くのグループによって非常に厳重に守られた秘密であるのは少し残念です。そこで私は、以前話したことがあるminiCPMからこの図を取り上げました。中国のグループの一つからの素晴らしいペーパーで、基本的に、彼らは2段階の訓練パイプラインを持っています。そこでは第一段階で純粋な事前学習を行います。
そしてこの円グラフを見ると、これはすべて事前学習データセットです。Common Crawlコード、事前学習、pile、dolmaです。彼らはそれをすべて一つの大きな円に投入しました。そして、第二段階があり、彼らはdecay段階と呼んでいます。そして、スケーリング則についての私の講義を覚えているなら、WSD、Warm up Stable Decayについて話しました。
そこで、それがstable段階です。それがdecay段階です。そしてdecay段階で、何を得ましたか?Wikipediaを得ました。人々が高品質データと呼ぶかもしれないものです。まだそこに混合されている事前学習のものも得ました。そこで、それは純粋なpost-trainingデータではありません。しかし、右側を見ると、Code SFT、中国の書籍、UltraChat、Stack Exchange質問回答、Evol-InstructとOSS-Instruct、その他あらゆる種類のものを得ました。
そこで、それらはすべて事前学習の後半に投入した指示チューニングまたは指示チューニング隣接データセットの種類です。そして今日ほとんどのモデルで使用され、多くのCPMやそのモデル系統から派生した他の派生LMが確実にこれを公表していると思います。これを行うのは非常に効果的だと思います。そして皆がこれに従っていると思います。
ここでRLHFに移る前に最後にコメントしますが、このプロセス全体が、事前学習されたモデル対post-trainingされたモデルについて推論することを非常に困難にしています。Qwenやあなたがたが見ている他の会社からの最近のリリースを見て、彼らがベースモデルと言うなら、そのベースモデルはおそらくこのプロセスの最後にあります。
そしてそれは基本的に、訓練プロセスを通じて暗黙的に指示チューニング段階を経ています。これらのクローズドモデルの多くについて、ミックスが正確に何であるかわかりませんが、実際にベースモデルという用語がそれが本当に何を意味するのかますます疑問視されることを意味します。
9. RLHF (Reinforcement Learning from Human Feedback) - Part 2
9.1 生成モデリングから強化学習への転換
そこで、これでpart twoに入ります。part oneは指示チューニングとSFTへの簡潔な紹介でした。さあ、人間フィードバックからの強化学習、この講義のRL部分に入ります。そして概念的に、ここで少しゆっくり進みます。なぜなら、これは重要な概念的転換だと思うからです。我々は、一番上にある生成モデリングの世界から移行することになります。この世界では非常にシンプルな目標があり、それはp-starがあることです。P-starは補完が引き出される参照分布です。
その参照分布はおそらく、インターネットデータとアノテーターが書いたデータの何らかの混合に見えるでしょう。しかし、我々が模倣しようとしているある抽象的なp-starが存在します。それだけです。そこで、これは純粋な生成モデリングです。
今、我々は第二の観点、RLHFに移行することになります。そしてこの世界では、もはや分布にマッチすることを気にしません。そこで確率的観点は完全に窓の外に出るわけではありませんが、それらを採用することについて注意深くありたいです。なぜなら、実際には、我々が探しているのは、報酬を最大化するようなある政策、y given xのpです。
xとyの両方を取り込み、報酬を与えるある報酬関数、r of yとxがあります。そして私が探しているのは、良い報酬を与えてくれる任意の政策です。そしてそこで、LMは必ずしも何らかの根本的な分布のモデルではありません。それらは我々に良い報酬を与える政策です。そこで、なぜ我々はRLHFを行うのでしょうか?我々がこれを行うかもしれない理由が2つあります。
一つ目は、上の方にあるSFTです。この模倣のプロセスを行うために、p-starからサンプルを得なければなりません。そしてそれは非常に高価になることがあります。そして二つ目、我々がする必要があるのは、報酬Rの測定を得ることだけです。そしてSFTデータは本当に、本当に高価になることがあります。これは、さまざまな段階で持つかもしれない様々なコストの戯画です。
ベースモデルを訓練するときにいくらかの計算コストがあり、そして教師あり学習のSFTを行っています。そしてペアワイズフィードバックをたくさん集めてRLを行い、評価を行う、などなどをするつもりです。そこで、これを正しく行うとき、SFTは本当に、本当に高価です。専門の人々に非常に長い形式の応答を書いてもらっています。そしてそれがどれほど煩わしく困難だったかを皆さんは見ました。
そしてフロンティアラボは、このpost-trainingデータに数百万ドルを費やすことになります。まあ、モデルをより良くする素晴らしいデータ収集方法があるかもしれません。そこで、それが我々がこの講義の第二部で行うすべてのことを行う理由の一つの議論です。
9.2 RLHFを選択する理由と動機
我々がこの種のRL訓練を行う理由として、同じように重要である、あるいはそれ以上に重要であるかもしれない第二の理由もあります。そして非常に興味深いことの一つは、人々は良いことについて常に自分自身と同意するわけではないということです。そこで、誰かに要約を書いてもらうと、彼らは一つの要約を書くことができます。そして彼らに自分の要約をLMが書いた要約と比較してもらうと、実際にLMが書いた要約を好む人がかなりの数います。
そして、これは私の学生の論文の一つからの本当に驚くべき結果でした、今から2年ほど前のもので、我々は要約システムをベンチマークしていました。そして、もちろん、annotator 1によって匿名化された一人の人がいて、彼らは多くの要約を書き、実際に自分のものよりもAIの要約を有意により好みました。そして彼らはフリーランスの専門ライターのような人でした。
そして我々は彼らにインタビューしました。そして彼らは、そう、あなたが私に物を書くように頼んだとき、私は華麗な言語でもっと書かなければならないと感じただけだった、と言いました。しかし、そのAIのものを読むと、それらの方がよく読めました。そして皆さんも似たような経験をしたことがあると確信します。そこで、出力を見ると、それは実際に生成する方法についての自分の評価とは異なります。
そして、それらは生成するよりも検証する方が安価ですが、実際に生成するよりも検証する方が高品質かもしれません。そしてそこで、このgenerator validator gapがあります。
9.3 Generator-Validator Gapの発見
そして非常に興味深いことの一つは、人々は良いことについて常に自分自身と同意するわけではないということです。そこで、誰かに要約を書いてもらうと、彼らは一つの要約を書くことができます。そして彼らに自分の要約をLMが書いた要約と比較してもらうと、実際にLMが書いた要約を好む人がかなりの数います。
そして、これは私の学生の論文の一つからの本当に驚くべき結果でした、今から2年ほど前のもので、我々は要約システムをベンチマークしていました。そして、もちろん、annotator 1によって匿名化された一人の人がいて、彼らは多くの要約を書き、実際に自分のものよりもAIの要約を有意により好みました。そして彼らはフリーランスの専門ライターのような人でした。
そして我々は彼らにインタビューしました。そして彼らは、そう、あなたが私に物を書くように頼んだとき、私は華麗な言語でもっと書かなければならないと感じただけだった、と言いました。しかし、そのAIのものを読むと、それらの方がよく読めました。そして皆さんも似たような経験をしたことがあると確信します。そこで、出力を見ると、それは実際に生成する方法についての自分の評価とは異なります。
そして、それらは生成するよりも検証する方が安価ですが、実際に生成するよりも検証する方が高品質かもしれません。そしてそこで、このgenerator validator gapがあります。
10. ペアワイズフィードバックデータの収集
10.1 アノテーションガイドライン分析
そこで、我々はこのRLHFプロセスのさまざまな側面を取り上げることになります。我々は、データをどのように収集するか、そしてRLHFデータ収集を担当している場合に心配すべきことについて話すつもりです。そして、どのようにRLHFを行うかについて話すつもりです。私は2つの代表的なアルゴリズム、PPOとDPOについて話すつもりです。
PPOのより詳細な説明は、スペースの理由で次の講義に延期します。そして最後に、最後にRLHFの落とし穴のようなもの、心配すべきいくつかのことで終わります。そこで、どのようにペアワイズフィードバックを得るのでしょうか?そこで、ペアワイズフィードバックは—ああ、申し訳ありません、ここに戻って、もう少しゆっくり進めます。
そこで、このInstructGPTプロセスの第二部を行うとき、これはどのように機能するのでしょうか?まあ、我々はモデルに自分の出力を生成させます。これらはRL用語ではrolloutです。そして我々はこれらの異なる出力を比較するつもりです。
そして、ここに4つの出力が示されていますが、標準的な設定では、しばしば出力のペアだけを持ちます。そしてAとBがあるとしましょう。私が知りたいことは、AがBより良いかどうかだけです。そして、これらのペアワイズフィードバックが与えられたら、本質的にすべての出力にスカラー値を与えることができ、そしてそれを使って強化学習を行う報酬モデルを訓練するつもりです。この報酬モデルが今、私の報酬です。
そして私は、モデルがそれらの報酬を最大化することを望みます。かなり単純なパイプラインです。そこで、ペアワイズフィードバックデータをどのように収集するのでしょうか?まあ、明白で単純なことは、OK、Webアプリを作るだけだと言うことです。2つの異なるAI応答があり、どの応答が良いかをチェックする4方向チェックボックスを持つつもりです。これは我々が行った研究の一つから取りました。多くのペアワイズフィードバック応答はこれに似て見えます。
しかし、実際にこれが実際にどのようなものかの感覚を得るのに役立ち有用だと思ったので、私は異なる論文や異なる場所からアノテーションガイドラインの例を掘り出してきました。このプロセスについて話しています。そこで、InstructGPTガイドラインを見ると、これは、これらの出力評価プロセスを説明するこれらの会社の一つからリリースされた、数少ない資料の一つです。
彼らは、OK、あなたの仕事は、これらの出力が役に立ち、真実で、無害であることを確認するために評価することです、と言います。そこで、それが彼らの3つの柱です。役に立つことがあり、それは明確な言語で書くことです。彼らが意味する質問に答える、国際性に敏感である。誰かがfootballと言うなら、彼らはアメリカンフットボールを仮定すべきではありません。
もしそれが混乱しすぎるなら、明確化を求める。真実であり、出力を幻覚させないことを望みます。そして無害によって、毒性がなく、非常に親切で、NSWなことを言わないようにすべきです。すべてかなり合理的なことですが、モデル仕様のようなもの(OpenAIが公開で発表する)と、そして非常に詳細なアノテーションガイドラインとの間の相互作用を見ることができます。これはそれほど詳細ではありません。実際にはおそらくもっと大きくて、これらの種類の箇条書きを書き下ろすでしょう。
あなたはそれをアノテーターに渡し、そして彼らはアノテーションを作るでしょう。これはInstructGPTでさえプロダクション級ではありません。これは初期の段階ですが、このプロセスがどのように機能するかを見ることができます。
10.2 InstructGPTとGoogle Bardの実際の指針
もう一つの興味深い例は、実際のテキストが小さすぎる場合は後で調べることができますが、私がすべてを読み上げるつもりはないからです、少しだけ触れます。Google Bardの実際の真のアノテーションガイドラインのリークされたバージョンが実際にあります。それは、何らかのニュース記事の一部だったと思います。
そして、ここで非常に似たようなことが起こっているのを見ることができます。左上のボックスに役に立つことのようなものがあります。ユーザーのプロンプトの意図に対処すべきです。要求事項に従うべきです。誤解を招く情報を持つべきではありません—InstructGPTの設定と非常に似ています。
実際にここにスタイルボックスがあり、どのような種類のスタイルが良いか悪いかということです。そして、異なる応答に対して異なる評価尺度があります。そして正しく覚えているなら、Google Bardの人々は1問あたり約1分でこのタスクを行うと思います。これは非常に困難です。そして、InstructGPTについては、彼らはScaleとUpworkを通じて約40人からデータを収集します。これは今日の基準では本当に、本当に小さいです。
しかし、どのような種類のグループがここに関与しているかの感覚を得ていただけることを願います。
10.3 学生による比較実験とその困難性
そこで、これは我々のインタラクティブ演習の第二部です。OK、素晴らしいです。そこで、それは5分です。草世論調査を取るために、約27人の皆さんがこれを完了できたと思います。それは素晴らしいです、参加していただきありがとうございます。何人の皆さんが、質問の一つについて、すべての事実をファクトチェックできましたか?そう。より長い表現、完全に事実的に間違っています。
そうです、そうです。そのとおりです。そこで、何人の皆さんが事実をファクトチェックできましたか?すべてか何かでも?事実をチェックできましたか?一人だけ。一人だけ、OK。何人の皆さんが5分間で数学をチェックできましたか?OK、そこで数人の人々が—OK、良いです。それは私を幸せにします。
そこで、この演習のポイントは、部分的には、皆さんがここで何が起こるかを推測できたかもしれないと思います。短いものは、そのほとんどは本質的に長いものを取って、実際に私の能力の限りで幻覚を除去したものです。そしてそのほとんどについて、基本的に長いものを選んだ皆さんは、やや長いが幻覚されたものを選んでいます。
どのゲームのペアが幻覚されたものかはあまり覚えていませんが、それらの多くがそうです。そしてそこで我々は強い不一致を見ます。そして実際に長いものは、強い幻覚があるにもかかわらず、より多くの票を得ます。これについては、Bがおそらくより良い選択だと思います。
2つの数学のもの、この構成の不自然さによっても推し量ることができると思います。より結論的なものは実際に間違った結論に到達しています。これは数学的に完全に正しくはありません。そしてそこで皆さんは、これらの判断をこれほど迅速に行うのは困難だと感じるはずです。この種のペアワイズフィードバックを非常に大規模に収集することには、非常に強い課題があります。
数学問題を見せられたり、非常に強い、事実に満ちたテキストのようなものを見せられたとしても、基本的にこれを主張に分解し、それぞれが間違っているかどうか、一つが間違っていて一つが正しいかどうかをチェックしなければならないからです。そこで、これは非常に労働集約的で困難なタスクです。
そして私が皆さんに5分与えたのは、本質的に、Google Bardの記事が関連していたニュース記事は、基本的にアノテーターが例あたり1分与えられており、これがモデルの安全性と事実的正確性を判断するのに十分ではないという大きな苦情があったということだったと思うからです。そして皆さんは、それが非常に困難なタスクであることにある程度同意していただけることを願っています。
11. アノテーションの品質と課題
11.1 時間制約下での事実確認の困難性
OK、ここでの教訓は、講義の流れに戻って、高品質で検証可能なアノテーターを得ることは非常に困難だということです。皆さんは多くの点で、実際にこれを行う動機が高い人々の中でかなり上位にいると思います。なぜなら、皆さんは、成績を得るためや支払いを受けるためではなく、私が頼んだからそれを行っているだけだからです。正確性をチェックさせること、特に時間制約の下で、人々にとって非常に困難です。
そして最後の一つ、皆さんがこれを正しく行っているかどうかわかりませんが。しかし、このようなオンライン調査に入れると、誰かが全体を取り、GPT4にダンプし、そして答えをペアワイズ応答にそのままコピーするだけです。
我々は過去にいくつかの研究で、アノテーターがGPT4と95パーセント以上の一致を持っていた場合がありました。そして、そこで何が起こっているのか不思議に思わなければなりません。そしてそこで、ペアワイズフィードバックが教師あり模倣データよりも収集が容易であるという事実にもかかわらず、まだ重要な問題があります。そして私は、もしあなたが将来、これらの種類のデータ収集パイプラインの一部になるつもりなら、高品質なデータを得ること、そして人々が生活賃金を支払われていることを確実にしたいなら、この種のものを第三世界の国々にアウトソースする場合に作り出される多くの問題について書かれた多くのことを指摘しないわけにはいきません。
価格への懸念と多くの倫理的問題があり、皆さんが気づいているべきものです。
11.2 アノテーター背景による偏見の影響
もう一つ意識すべきことは、バイアスと安全性の角度からですが、アライメントにとってこれは本当に重要なことだと思うので触れたいと思います。ある意味で、RLHFとアライメントはパイプラインの最後に来ます。そしてパイプラインの最後に来るため、モデルの動作に非常に強い影響を与えます。
実際にPercyと私のポスドクの[?Shivani?]、そして私のポスドクの[?Essen?]が取り組んだ論文の一つは、LMの主観的意見が異なる人々のグループとどのように整合するかを把握しようとするものでした。そして我々が見つけた本当に興味深いパターンの一つは、実際にInstructGPTについて—これらは古いモデルですが、今でも有用なモデルです—これらのモデルは何らかの形で以前よりも東南アジアの宗教とより整合するようになりました。
そして我々はInstructGPTの付録を見て、実際に、アノテーションを行っている人々の国籍は何でしょうか?それはフィリピン人、バングラデシュ人、そして17%がアメリカ人です。
私は、ああ、それはちょっと驚きですが、状況証拠はこの種のことと一致している、と思いました。そしてそこで、これがある意味で出荷されるものなので、非常に注意深くなければなりません。他の人々も、アノテーターによって、彼らが注意を払うことが非常に異なることを指摘しています。私は本当にこのHusking、Blunsom、Bartoloからの論文が好きです。そこで彼らは基本的に2つの異なる種類のアノテーターを研究しています。
一つは著者たちで、彼らは引用符付きで正しく物事を判断することに非常に動機があります。そしてクラウドワーカーたちです。そして彼らが実際に見つけたのは、クラウドワーカーは事実性にあまり注意を払わないということです。それがここの行です。彼らは書式により注意を払います。そこで、アノテーターによって、同じことを尋ねているにもかかわらず、異なる種類のフィードバックを得ています。
11.3 AI Feedbackへの移行とその理由
そしてますます、人々は指示チューニング段階でのAIフィードバック、LM生成フィードバックのように転向しています。そしてそこで、GPT4からペアワイズフィードバックを得ようとすると、GPT4との非常に強い一致を持つことを示した我々自身のものを含む多くの作業がありました。GPT4が推定したモデルや応答の勝率とy軸上の人間が推定したもの、ここでも同じです。
人間対人間の一致、これがここの青いボックスですが、それはGPT4と人間の一致とおおよそ同じですが、はるかに安価です。そこで、AIフィードバックが人気になった理由がたくさんあると思います。そしてそれはRLHFで非常に広範囲に使用されています。
そこで、Ultra feedbackを見ると、これはoff policy RLHFのための非常に人気のあるオープンソースデータセットの一つだと思います。Zephyr-7bを見ると、これは昨年、強力で大きなオープンモデルを構築するHugging Faceの取り組みだったと思います。そして私がこれを取り上げる理由—Zephyはおそらく最も有名なモデルではないと思いますが—Hugging Faceモデルプロセスについて私が覚えていることの一つは、最初に、彼らは人間のデータ収集に本当に興味を持っていたということです。
十分に支払い、適切なベンダーを得れば、人間のクラウドワーカーがAI生成フィードバックを上回る性能を発揮すると確信していました。しかし、プロセスの遅い段階で、この種のことに対してGPT4生成フィードバックの方がはるかに良く機能することを実感しました。そしてそこで、これのより現代的な例はTulu3です。これはAI twoからのpost-trainingペーパー/プロジェクトです。
そして彼らはおおよそこれを行っています。異なるプロンプトを取り、多くの異なるモデルに応答を生成させ、選ばれた対選ばれなかったを得るためにLMにこれらを評価させます。そしてこれは本当にすべて、AIフィードバックがこの種のアライメントプロセスに使用されることについて地面に旗を立てた、Anthropicの Constitutional AIに関する古典的なペーパーに遡ります。
最後に、データについて話したい最後のことは長さの効果です。アノテーションを行ったとき、皆さんが見たことの一つは、より長い応答を見て、これはより詳細だ、詳細が好きだ、これは良い、と思ったことだと思います。それは皆さんだけではありません、モデルと人々はすべてこのバイアスを持っています。そしてそこで、人々はより良いと思ったモデルは、実際にはより長いだけかもしれないことを発見しました。
そして、AIフィードバックはモデルを一般的により長くするように見えます。そしてそこで、これは一般的な嗜好に対する長さの交絡として常に注意したいものです。
12. 強化学習アルゴリズム
12.1 Bradley-Terryモデルと報酬関数
そこで、手法について話しましょう。我々の目標はこのことを行うことです。私の報酬を最大化する政策を見つけたいのです。そこで、報酬が何であるかを教える必要があります。そして最大化プロセスが何であるかを教える必要があります。そこで、今それを行いましょう。
私がInstructGPTペーパーに言及する頻度によってわかると思いますが、指示チューニングとpost-trainingの全体のサブエリアは、InstructGPTと非常に密接に結びついています。そこで、InstructGPTペーパーから、我々が最適化している目的を記述する方程式2があります。そこで、我々はこのr theta of x of yを持っています。これが我々の報酬です。そして少ししてそれを定義します。
そして我々は第二項、私のRL政策を私のSFT出力で割ったもののlog ratioを持っています。そこで、この対象は何でしょうか?これは、私のRL政策と私の元のSFTモデルとの間のKL発散です。そこで、RLを行うとき、始めた場所からあまり遠くに移動しないでください、と言っています。
そして、この第二行、このγ項は、基本的にRLを行いながら事前学習を続けるので、破滅的に忘れないでください、と言っています。多くの人々は第二ステップを行いません。しかし、このKLのことは標準的なことです。今日でも残っています。そこで今、報酬は何でしょうか?報酬は一番上のこの事柄です。そしてそこで、たぶんそれは小さな方程式です。そこで、それが何であるかについて話していきます。
そこで、存在する世界の仮定されたモデルがあります。そこで、世界の仮定されたモデルは何でしょうか?それは、世界のすべての出力、言語モデルが出力できるすべてのシーケンスが、それに関連付けられたスカラー値、rを持っているということです。そして我々は、そのrが何であるかを観察しません。
そして人がそれを評価するとき、AとBのペアワイズ評価を行うとき、彼らが行うことは、それらの2つのシーケンスの2つの報酬を比較することです。そして差に基づいて、彼らはコインを投げます。そこで、これは2つの報酬の差のロジスティックモデルです。そこで、すべてのシーケンスは報酬を持っています。ペアワイズ比較を行うとき、差を取って、コインを投げます。これがBradley-Terryモデルの人間の嗜好です。
そして、これが起こっていることです。そしてそこで、報酬を最適化したいとき、我々がしようとしていることは、最も高いrを持つシーケンスを出力したいのです。そして、rは我々が観察するものではありません。r thetaを通じてノイズのあるペアワイズ比較のみを観察します。そこで、それが我々が行うことです。そこで、それが目的です。そこで、それが我々が最適化しようとしているものです。
12.2 PPO (Proximal Policy Optimization)の概要
そして今、どのようにして行うかについて話しましょう。そして明確にするために、私はPPOについてのみ話すつもりです。これはOGアルゴリズムです。これはInstructGPTと多くのOpenAIのもので出現します。私はそれについて非常に簡潔にのみ話すつもりです。そして木曜日にそれについてはるかに詳細に話します。なぜなら、そこではより自然に属するからです。
そこでは、はるかに多くの実際のRLをその講義で行います。そこで概念的なレベルで、我々がしたいことを覚えておいてください。ある政策の報酬を最適化したいのです。それが左の項です。そして何かを最適化する良い方法は何でしょうか?まあ、いくつかの勾配を取りましょう。勾配降下を取りましょう。そこで、それが左上の方程式です。
今、少し数学を行うことができます。そして、この対象の勾配を取ると、これが報酬にp thetaの勾配を掛けたものの期待値と等価であると書くことができます。そしてそこで、これは非常に自然です。あなたが行っていることは、事前学習や何でものように行う通常の勾配を取ることです。これはp theta of zと言っています。
その確率を最大化したく、rで掛けます。そこで、報酬が正である場合、それらの確率を上重みしたいのです。報酬が負である場合、それらの確率を下重みしたいのです。これが政策勾配定理です。これはreinforceです。RLのクラスを受講したか何かのようなものであれば、これは間違いなく以前に見たことがあります。
今、PPOは何でしょうか?PPOは、通常非常に威圧的な対象だと思いますが、実際には非常にシンプルだと思います。そこで、起こる2つのステップがあります。まず、報酬を取る代わりに、アドバンテージと呼ばれるものを見ます。アドバンテージは、多くの詳細に関与することを省略するために、基本的に報酬の分散削減バージョンです。
数学を経れば、任意の定数を引くことができることに気づくことができます。実際には、rからの状態依存変数を引くことができ、この勾配は依然として正しいでしょう。それは、私が望む任意のベースライン値を引いた後にこの報酬を潜在的に書き直すことができることを意味します。そして、それをアドバンテージと呼びましょう。
今、それだけでなく、p thetaから一度サンプリングした後に複数の勾配ステップを取りたいかもしれません。これは本質的に、一つのrolloutからサンプリングして、ほぼoff policyに行くと呼ばれます。それを可能にするために、基本的に重要度重み付け補正を持たなければなりません。なぜなら、取るステップが多いほど、私の元のサンプルはより古くなるからです。そして、これがTRPOと呼ばれるものです。
基本的に、あなたが取るすべての勾配ステップに対して補正を行います。そして、近くにとどまるように自分を制約します。今、PPOは最終ステップを取って、このKL制約を使って古い政策に近くとどまるように明示的に自分を制約する代わりに、たぶん私にできることは確率比をクリップするだけで、これは自然にモデルを元の政策に近くとどまるようにインセンティブを与えるだろう、と言います。そこで、これが一つのスライドでのPPOです。
私はこれについてあまり詳細に入るつもりはありません。なぜなら、実際には、これは講義の残りを通して行きたい主要なアルゴリズムではないからです。
12.3 DPO (Direct Preference Optimization)の導出
そこで、少なくともオープン研究スペースと学術スペースでは、人々が心配していた質問の多くは、PPOを取り除くことができるかということでした。木曜日にもこのテーマを見ることになります。PPOは非常に複雑です。そして我々は、それがsufferingになるので、PPOを実装してもらうことに反対すると議論して決定しました。そしてそこで、多くの人々が、PPOを取り除くことができるか、と考えました。
そして彼らは他の合理的なことを試しました。そして私はそれらの合理的なこと、たぶん我々はペアに対してSFTできる、を説明します。しかし、ペアのそれぞれについて、選ばれた良い出力に良いトークンを前置き、悪い出力に悪いトークンを前置きできます。そして、生成するときに良いに条件付けできます。それはあまり良く機能しません。好ましい出力のみでモデルを訓練できます。それもあまりうまく機能しません。
報酬モデルを使用して、それらの中で最良のものをサンプリングし、それらで訓練できます。それはOKに機能しますが、それほど素晴らしくはないかもしれません。そしてそこで、人々はこれらすべての変種を試しました。
しかし、本当に定着したものは基本的にDPOでした。そして、それがそれほど普及した理由は、PPOの複雑さの多くを取り除いて、比較的良く機能したからだと思います。そしてそこで、PPOに存在する報酬モデルを取り除きます。これはアドバンテージを計算するために使用されます。任意のarm policyのもの、私が話していた重要度比のことを取り除きます。それらすべてを取り除きます。
代わりに、我々は基本に戻ります。良いものの対数損失で勾配ステップを取り、悪いもので負の勾配ステップを取ります。非常にシンプルで基本的なことに戻ります。そして、私が今日話したいことの最後の部分は、DPO式を導出することです。
そこで、我々の目標は何でしょうか?我々の目標は、一番上のこの量を最適化することです。これは、そのInstructGPT方程式の書き直しです。前面に報酬があり、そしてKL発散があります。これは私を参照に近いpi thetaに保ちます。そこで、これは非常に自然です。
そこで、最初に行うことは、私の政策、pi thetaが、実際にはニューラルネットワークではないと仮定することです。それは任意の種類の任意の関数であると仮定します。そしてそれを行うなら、本質的に最適政策がどのように見えるかを書き下すことができます。それはこの形を持っています。それは報酬の指数であり、ここで参照分布pi refを掛けています。
そして我々は、r xyを解くことによって、含意される報酬を解くことができます。そして、DPOについての巧妙な部分は、今、OK、基本的にすべての政策について、政策について考える代わりに、報酬について考えることができると言うことです。なぜなら、この非パラメトリック仮定の下では、この2つは同一だからです。
そしてそこで、私が行うことは、覚えておいてください、私はこれら2つの断片を持っています。左側は、これはStiennonペーパーからのBradley-Terry方程式です、InstructGPTの前のものです。そして右側では、これは私が書き下したDPO等価性です。そして今、私ができることは、これらの報酬、rをこの目的に差し込むことができ、この損失を最小化できます。
私ができることは、私が望むことは、今、含意される報酬がその政策に対して、私のペアワイズ比較を生成する最高の確率を持つような政策を見つけることです、と言うことです。そこで今、私はRL問題を取って、それを最尤問題、事前学習のようなものと概念的に非常に似た問題に変えました。我々が行っていることはすべて確率を最大化することです。
ここで我々が行っていることを除いて、ペアワイズ比較の確率を最大化しています。そこで、それらが重要なステップです。非パラメトリック仮定を作ることから始めます。政策を通じて報酬をパラメータ化します。そして教師あり損失を使ってそれを最適化します。少し時間オーバーだと思います。そこで、ここで止めます。
DPOの導出を通り抜けたので、これは良い場所だと思います。そして我々は次の講義の開始でRLHFの残りを通り抜けます。皆さん、たくさんの良い質問をありがとうございました。
13. 実験的知見と発見
13.1 長い回答に対する人間とAIの偏見
人々が認識すべきことの一つは、人間評価を使用している場合、人々はリストに対して強い選好を持っているということです。つまり、皆さんも実際にはそうだと思います。AI judgeを使用しても、彼らもリストに対して非常に強い選好を持っています。
そして人々は長い出力に対して非常に長い選好を持っています。約60%、70%程度の長い出力への選好があり、AI judgeもそうです。そしてこれは少し懸念すべきことです。なぜなら、応答の文体的内容だけでなく、理想的には幻覚を減らし、実際にモデルをより有能にすることをpost-trainingを使って行いたいからです。
アノテーションを行ったとき、皆さんが見たことの一つは、より長い応答を見て、これはより詳細だ、詳細が好きだ、これは良い、と思ったことだと思います。それは皆さんだけではありません、モデルと人々はすべてこのバイアスを持っています。そしてそこで、人々はより良いと思ったモデルは、実際にはより長いだけかもしれないことを発見しました。
そして、AIフィードバックはモデルを一般的により長くするように見えます。そしてそこで、これは一般的な嗜好に対する長さの交絡として常に注意したいものです。
13.2 自己生成出力への偏好バイアス
そこで質問があります。
はい、そこで非常に強い、あるいはほとんどのモデルで検出可能な自己選好が自分の出力に対してあります。そしてそこで、私を含む多くの人々が行った評価にそれを使用するとき、その自己バイアスに対して非常に注意深くなければなりません、絶対に。
13.3 フィリピン・バングラデシュアノテーターによる宗教的偏見
実際にPercyと私のポスドクの[?Shivani?]、そして私のポスドクの[?Essen?]が取り組んだ論文の一つは、LMの主観的意見が異なる人々のグループとどのように整合するかを把握しようとするものでした。そして我々が見つけた本当に興味深いパターンの一つは、実際にInstructGPTについて—これらは古いモデルですが、今でも有用なモデルです—これらのモデルは何らかの形で以前よりも東南アジアの宗教とより整合するようになりました。
そして我々はInstructGPTの付録を見て、実際に、アノテーションを行っている人々の国籍は何でしょうか?それはフィリピン人、バングラデシュ人、そして17%がアメリカ人です。
私は、ああ、それはちょっと驚きですが、状況証拠はこの種のことと一致している、と思いました。そしてそこで、これがある意味で出荷されるものなので、非常に注意深くなければなりません。ある意味で、RLHFとアライメントはパイプラインの最後に来ます。そしてパイプラインの最後に来るため、モデルの動作に非常に強い影響を与えます。
14.1 On-policy vs Off-policy学習
そこで質問がありました。Off policyとon policy について詳しく説明してください。OK、そうですね、off対on policyについては後で話します。Off policyは、これらのペアワイズフィードバックのものを別々に収集することを指すと思います。それらは自分のモデルの出力から収集されていません。たぶん自分のモデルが関与しています。例えばTuluでは、左側にこれらすべての種類のoff policyデータがあります。それは自分のものではないモデルです。
しかし、自分からのon policyデータもあります。そこで、off policyデータは自分がいない場所の風景について教えてくれ、on policyデータは自分を洗練させる方法を教えてくれます。
14.2 Self-improvementの限界
そこでたくさんの手があります。そう、あなたが最初だったと思います。モデル自身の出力を持っていることから得られる情報量とのバランスを取ることについてどう思いますか?そして、推測ですが、モデル自身のフィードバックを使うということです。そこで、何回の反復を行うことができるかについてのヒューリスティックです。そしてそれは、異なるモデルのサンプリングを言うなら変わりますか?
そうですね、モデルが自分自身に対して行うことからどれだけ抽出できるかという質問は興味深い質問です。しかし、ある意味で、情報理論的境界、いわば、は非常に高いです。なぜなら、技術的にはモデルは事前学習コーパス全体を摂取し、それはモデルのどこかに保存される可能性があるからです。そして、どのようにプロンプトするかによって、素晴らしいモデルを得ることができるかもしれません。
そしてそこで、自己改善ループの一部としてモデルをどのように使用するかに基づいて、モデルからより多くの能力を抽出することが可能です。そして我々は、その上限が何であるかを知りません。なぜなら、基本的に、入力は単に膨大だからです。しかし、どれだけ自己改善が役立つか?スケーリング特性は何か、などを研究した論文が実際にたくさんあると思います。最終的には、それは非常に実証的な質問だと思います。
14.3 次回講義への橋渡し
私がPPOについてあまり詳細に入るつもりがない理由は、実際には、これは講義の残りを通して行きたい主要なアルゴリズムではないからです。木曜日にもこのテーマを見ることになります。そして木曜日には、それについてはるかに詳細に話します。なぜなら、そこではより自然に属するからです。そこでは、はるかに多くの実際のRLをその講義で行います。
そして我々は、それがsufferingになるので、PPOを実装してもらうことに反対すると議論して決定しました。そしてそこで、多くの人々が、PPOを取り除くことができるか、と考えました。
私は少し時間オーバーだと思います。そこで、ここで止めます。DPOの導出を通り抜けたので、これは良い場所だと思います。そして我々は次の講義の開始でRLHFの残りを通り抜けます。皆さん、たくさんの良い質問をありがとうございました。