復号化プロンプト シリーズ 4. アップグレード命令チューニング: Flan/T0/InstructGPT/TKInstruct

この章ではコマンドの微調整について説明しますが、コマンドの微調整と最初の 3 章で紹介したプロンプトとの間にはどのような関係があるのでしょうか? はは、よく見てみると、プロンプトとインストラクションの定義にはいくつかの違いがあることがわかりますが、インストラクションをプロンプトのサブセットと考える人もいれば、インストラクションを文章形式のプロンプトと考える人もいます。詳細を取得:詳細情報

最初の 3 章で紹介した主流のプロンプト パラダイムと比較して、コマンドの微調整には次の特徴があります。

  1. 規模モデル向け: 命令微調整タスクの核心は、モデルの既存の命令理解機能を解放することです (GPT3 で最初に提案されました)。したがって、命令微調整は大規模モデル向けに設計されています。大規模モデルの新たな機能。プロンプト部分は BERT などの従来のモデル用です。

  2. 事前トレーニング: 命令チューニングというよりは命令事前トレーニングに似ています。特定の下流タスクの微調整ではなく、事前トレーニング段階でさまざまな NLP 命令微調整を統合します。以前のプロンプトは主に微調整とゼロショット シナリオを提供していました。

  3. マルチタスク: 次のモデルは、さまざまな命令微調整データ セットを使用して設計されていますが、以前のプロンプト モデルのほとんどが特定のタスク指向を持っているのに対し、核となるのは多様性と差別化であり、より広範囲の NLP タスクをカバーしています。

  4. 一般化: 大規模なモデルでの命令の微調整には優れた一般化があり、サンプル外の命令でも効果が向上します。

  5. 適用可能なモデル: すべての命令が文の形式であることを考慮すると、En-Dn および Decoder のみのクラスのモデルにのみ適用できます。前のプロンプト部分は Encoder の Cloze タイプでした。

以下に、命令の微調整に関連するいくつかのモデルを紹介します。これらのモデルはすべてよく知られたモデルです。主な違いは、微調整用の命令データ セットが異なることと、評価の焦点が異なることにあります。各モデルの違いのみに焦点を当てます。時系列順に、Flan、T0、InstructGPT、TK-Instruct です。

Google: フラン

  • 論文: 2021.9 Finetuned Langauge モデルはゼロショット学習者です

  • github:GitHub - google-research/FLAN

  • モデル: 137B LaMDA-PT

  • 一言で言えば、この機会を捉えて、Google は大規模モデルの命令理解機能を解放するための命令の微調整を初めて提案しました。

Google の Flan は、命令微調整パラダイムを最初に提案しました。目的はタイトルと同じで、命令微調整を使用してモデルのゼロショット能力を向上させます。この論文では、Web、コード、ダイアログ、Wiki で事前トレーニングされた一方向言語モデルである 137B LAMDA-PT を使用しています。

指図書

Google はデータセットの構築においてはより伝統的です。Tensorflow データセットの 12 の主要カテゴリ、合計 62 の NLP タスク データ セットを、テンプレートを通じて命令データ セットに直接変換します

命令データセットの多様性を高めるために、タスクごとに 10 個のテンプレートが設計されるため、合計 620 個の命令があり、タスク変更テンプレートは最大 3 つあります。いわゆるタスク変換とは、映画レビューなどの感情分類タスクを映画レビュー生成タスクに変換し、既存の注釈付きデータを最大限に活用して、より豊富な指示データセットを構築することです。はは、ここは人工的な力に満ちているような気がします。

データセットの多様性とバランスを確保するために、各データセットのトレーニングサンプルは 30,000 に制限されており、タスクに適応するモデルの速度がタスクデータセットのサイズに依存することを考慮すると、それは比例します。使用されるデータセットのサンプルサイズに合わせてサンプリングされたハイブリッドトレーニング。

効果

実際、137B の命令微調整モデルは、特に NLI タスクにおいて、GPT3 の少数ショットを大幅に上回っています。NLI を考慮した文のペアは、基本的に、事前トレーニング テキスト内で連続した文として自然には現れません。命令の微調整では、より自然なテンプレートが設計され、効果が大幅に向上しました。

効果が大幅に向上する上記のタスクに加えて、常識推論タスクや参照曖昧さ回避タスクなど、命令に似た一部のタスクでは、命令の微調整によって大きな効果の向上がもたらされません。

著者は、指示の微調整における次の変数を検証するために、さらにアブレーション実験を行いました。

  1. モデルサイズ:

著者はさらに、命令の微調整による効果の向上が明らかな大きなモデル効果を持つことを実証しており、モデルのサイズが 100 億程度の場合にのみ、命令の微調整によってサンプル外タスクの改善がもたらされます。著者は、モデルのサイズが小さい場合、より多くのタスクの微調整がモデルの限られたパラメーター空間を占有するため、事前トレーニング中に一般知識が忘れられ、新しいタスクへの効果が減少するのではないかと考えています。

  1. マルチタスクの影響: 命令の微調整が複数のタスクに対して実行されることを考慮して、著者は命令の微調整におけるマルチタスクの微調整の影響を排除したいと考えています。したがって、マルチタスクの非命令微調整 (命令の代わりにデータセット名を使用) を試してみました。実際には、命令微調整の方が大幅に優れており、命令テンプレートの設計が理解を向上させる効果があることを示しています。モデルの命令の。

  2. 少数ショット: ゼロショットに加えて、フランは少数ショットの効果も検証しました。全体として、少数ショットの効果はゼロショットよりも優れています。これは、命令を微調整することによっても、少数ショットの効果を改善できることを示しています。

  3. プロンプト調整とコマンド微調整を組み合わせると、コマンドを理解するモデルの能力が向上します。著者は、ソフト プロンプトの使用もさらに改善する必要があると考えています。したがって、プロンプト チューニングをさらに使用して下流のタスクを微調整しましたが、当然のことながら、Flan は事前トレーニングされた LaMDA よりも大幅に改善されました。

ビッグサイエンス: T0

  • 論文: 2021.10 マルチタスク プロンプト トレーニングにより、ゼロショット タスク生成が可能になります

  • T0:  https://github.com/bigscience-workshop/t-zero

  • モデル: 11B T5-LM

  • 一言で言えば: フラン、私もあなたが考えたことを考えました! しかし、私のコマンド データ セットはより豊富で多様です。

T0 は Flan の直後に発表された論文であり、Flan と比較すると以下のような大きな違いがあります。

  • 事前トレーニング モデルの違い: Flan は Decoder のみ、T0 は Encoder-Decoder の T5、T5 の事前トレーニングには LM ターゲットがないことを考慮すると、T5-LM は LM タスクで事前トレーニングを継続します。プロンプトチューニングが使用される

  • 命令の多様性: T0 は PromptSource データ セットを使用し、Flan よりも豊富な命令を備えています。

  • モデルスケール: Flan はアブレーション実験で、8B 未満の指導微調整の効果は良くないが、3B の T0 も指導微調整によって効果が向上したことを発見しました。考えられる影響は、En-Dn の事前トレーニング目標の違いと、T0 の命令セットがより多様で創造的であることです。

  • サンプル外の一般化タスク: 命令微調整の一般化を検証するために、Flan は、残りのタスクをトレーニングするために一度に 1 種類のタスクを予約し、複数のモデルをトレーニングします。T0 は 4 種類のタスクを修正し、残りのタスクを微調整します。

次にT0のコマンドデータとアブレーション実験について詳しく説明します。

指図書

T0 は、 173 のデータ セットと 2073 のプロンプトを含む、オープン ソースのプロンプト データ セット P3 (プロンプトのパブリック プール) を構築しました豊富さは Flan よりも桁違いに優れていますが、含まれるのは英語のテキストのみです。データ セットの構築の詳細については、PromptSource の論文を参照してください。

著者は、命令セットの多様性について 2 つのアブレーション実験を実施しました

  1. 命令セットに含まれるデータセットの数:

T0 の元の命令セットに基づいて、作成者は T0+ および T0++ モデルをトレーニングするために GPT-3 と SuperGLUE の検証セットを追加しました。5 つのホールドアウト タスクでは、より多くのデータ セットが必ずしも結果の向上をもたらすわけではありません。また、一部の推論タスクでは、より多くのデータ セットは広がりの増加ももたらします (異なるプロンプト テンプレートでのモデルのパフォーマンスの安定性が低下します)。

  1. 各データ セットのプロンプトの数 (p): トレーニングのために各データ セットから異なる数のプロンプトをサンプリングすることにより、プロンプトの数が増加するにつれてモデルのパフォーマンス中央値が大幅に増加し、広がりが減少することがわかりました。程度はさまざまですが、限界効果は減少しているようです。

OpenAI: InstructGPT

  • 論文: 2022.3 人間のフィードバックによる指示に従うための言語モデルのトレーニング

  • モデル:(1.3B、6B、175B)GPT3

  • 一言で言えば: まだ Benchamrk をプレイしていますか? ゲームプレイを変更しました! より優れた AI が目標です

InstructGPT はここで 2 つの部分に分かれています。この章では、トレーニング 3 部作の最初のステップである命令の微調整部分についてのみ説明します。論文ではこれを SFT (教師あり微調整) と呼びます。論文のデータ構築と評価から、より優れたモデルとは何かという OpenAI の定義が他の人々の定義と異なることを見つけるのは難しくありません。Google と BigScience Alliance は依然としてさまざまな標準タスクに関する LM モデルの機能の改善を評価しています。 , OpenAI が焦点を当てているのは、より優れた AI、つまり人間の問題解決をより良く支援できる人工知能です。3H 原則に単純化すると、

  • 役立つ: このモデルはユーザーが問題を解決するのに役立ちます

  • 正直: モデルは実際の情報を出力できます

  • 無害: モデルの出力はいかなる形でも人間に害を及ぼすことはありません

そのため、テキスト部分の評価には基本的に一般的なAccuracyやF1などは含まれず、LikeScoreやHallucinationsなどの各種手動評価スコアとなります。命令微調整データセットの配布も、標準の NLP タスクから、プレイグラウンドでユーザーによって送信された問題に移行します。これら 2 つの部分については以下で詳しく説明します

指図書

まず SFT 命令セットの構築について話しましょう. InstructGPT は 12725 のトレーニング + 1653 の検証プロンプト命令を構築しました, これらはアノテーターのアノテーション サンプルとユーザーがプレイグラウンドでモデルを操作するための命令で構成されています. T0 命令との比較、多様性は大幅に大きくなります。ただし、以下の命令数には少数ショット サンプリングが含まれます。つまり、1 つの命令が異なる少数ショットをサンプリングする場合も複数の命令としてカウントされます。

豊富さに加えて、T0 および Flan 命令セットとの最大の違いは、命令タイプの分布です。 アノテーターは、次の 3 種類のサンプルにラベルを付けました。

  • プレーン: 生徒に自由にタスクの指示を作成するようマークを付ける

  • 少数ショット: 少数ショットの例を示しながら、自由にタスクを構築します

  • ユーザーベース: 待機リストの申請時にユーザーが指定した使用状況に基づいて、マークされた生徒に対応する指導タスクを構築させます。

全体的には、実際のシナリオでモデルを操作するときにユーザーが尋ねる可能性のある質問に偏り、ブレインストーミング、書き換え、チャット、自由作成などの自由形式の生成タスクが大部分を占めます。 T0 に関しては、Flan の命令セットは NLP 分類と QA タスクに重点を置いており、実際の対話におけるそのようなタスクの割合は実際には非常に小さいです。以下の図は、OpenAI プレイグラウンドで収集されたユーザー命令の分布です

そして、論文の説明からの反復 があります。つまり、クラスメートによってマークされた命令セットは、InstructGPT の最初のバージョンをトレーニングするために使用され、その後、プレイグラウンドにリリースされて、ユーザーがモデルを操作するためのさらなる命令を収集します。ユーザー指示を使用して後続のモデルをトレーニングします。したがって、OpenAI はユーザー指向のデータセットにおいて他の競合他社よりも深い蓄積を持っています。モデルを改善するためにデータを収集する人もいます。

SFT は、たとえばコサイン レート減衰を使用して 16 エポックを微調整しますが、検証セットが最初のエポックで過学習されていることがわかりますが、過学習によりその後の RLHF モデル効果が改善されます。この部分については、RLHF の章で説明します。つまり、RLHF の開始点としてどのようなモデルが適しているかについて説明します。

評価指標

3H 原則を客観的なモデル評価指標に変換する方法に関する論文の議論から、OpenAI が 3 つの方向性を含むラベル基準について長期にわたる議論と反復を行ってきたことを感じるのは難しくありません。

  1. 役立つ有用性

主に、一部の指示自体の意図の曖昧さを考慮して、モデルが指示の意図を理解しているかどうかを評価するため、有用性は生徒の好みスコア 1 ~ 7 点に一般化されます。

  1. 無害

モデルの出力が実際に有害かどうかは、モデルの出力が使用されるシナリオによって異なります。OpenAIは当初、有害性の疑いを判断の注釈として使用していましたが、二重レビュー間の一致率は高くない可能性があり、異なる注釈を持つ学生の間で有害性​​の疑いの認識に大きな違いがあるようです。したがって、OpenAI は、リスク管理と同様に、ポルノ、暴力、侮辱的な言葉などを含む、いくつかの明確な有害な標準を設計しました。

  1. 正直な事実

Honest の意味と比較して、Truthness は値を持たないモデルに適しており、論文ではモデルが閉じた領域で事実を偽る確率と QA 質問の正確さを評価に使用します。

上記のラベル基準は、次のラベル ページに具体的に反映されています。

モデル効果

評価データも、標準的なNLPデータセットと、OpenAI独自のデータであるAPIによって収集される指示データの2つに分かれています。

  1. APIデータセット

有用性の点では、GPT をリクエストしているのか、InstructGPT の命令サンプルをリクエストしているのか、新しい注釈付きクラスメートを使用しているのか、注釈付きトレーニング サンプルとして同じ注釈付きクラスメートを使用しているのかにかかわらず、元の GPT3 と比較して、SFT 後のモデルのようなスコアが有意です. より高く、モデル サイズの影響があります。

具体的には、指示に従っているかどうか、虚偽の事実を伝えているかどうか、ユーザーを助けることができるかどうかに分けて、SFT 微調整後のモデルが大幅に改善されました。

同時に、この論文では GPT3 を微調整するために Flan および T0 命令セットの使用を比較し、元の GPT3 と比べて改善されたものの、その効果は、人間の好みに近づけます。この論文では考えられる理由を 2 つ挙げています

  • パブリック NLP タスク タイプは分類と QA に焦点を当てており、OpenAI プレイグラウンドで収集されたタスク分布とはまったく異なります。

  • 公開 NLP データセットの命令の豊富さ << 人々が実際に入力する命令の多様性

  1. 標準的な NLP タスク

TruthfulQA タスクでは、SFT モデルは GPT と比較してわずかながら大幅な改善が見られますが、全体的な事実性はまだ改善する必要があります。

RealToxicityPrompts データ セットでは、手動スコアリングとパースペクティブ モデル スコアリングの両方で、GPT3 と比較して、SFT では生成される有害なコンテンツの割合が大幅に減少していることが示されています。

要約すると、InstructGPT の命令微調整における最大の進歩は、命令データ セットの配布の違いです。標準的な NLP タスクが減り、自由でオープンなタスクが増えています。また、ユーザー命令を継続的に収集するために Openai の無料でオープンなプレイグラウンドにも依存しています。モデルの反復。同時に評価基準については、言語モデルに加えて3Hシステムを導入し、AIとしての能力を評価します。

AllenAI:TK-Instruct

  • 論文: 2022.4 SUPER-NATURAL INSTRUCTIONS:1600+ NLP タスクの宣言的命令による一般化

  • オープンソースの命令セット:命令から学ぶ

  • モデル: 11B T5

  • 一言で言えば、最大値はなく、英語および英語以外のさまざまなタスクで InstructGPT を超えるより大きな命令セットがあるだけです。

Tk-Instruct の最大の貢献は、より大きな命令データセットをオープンソース化し、上記の T0 (promptSource)、Flan、および InstructGPT 命令セットを次のように比較して要約したことです。

TK-Instruct は 76 のカテゴリと合計 1616 のタスクに基づいて命令セットを構築します。タスクの分布は T0 や Flan よりも多様かつ広範ですが、InstructGPT よりも小規模です (ただし、Instruct GPT の命令はよりオープン世代のユーザー命令であるため、そうではありません)かなり似ています)、その割合は依然として標準の NLP タスク タイプに近いです。

その他の詳細についてはここでは説明しませんが、上記の T0、InstructGPT、TK-Instruct の効果の比較を確認したいため、TK-InstructGPT をここに追加します。内容理解タスクではTk-InstructがInstructGPTを大きく上回り、生成タスクではほぼ同等であることが分かる。しかし、全体としては、教師あり微調整 (破線) と比較すると、まだ改善の余地がたくさんあります。Chatgpt の機能については、実はいくつか疑問があります。擬人化と対話において成功していることは否定できませんが、標準的な NLP タスクにおける ChatGPT のレベルを評価する必要があります。最近同様の論文が出版されているようです。この部分は後で追加します

記事の転載元:嵐の中のXiaoqi

元のリンク: https://www.cnblogs.com/gogoSandy/p/17259275.html

おすすめ

転載: blog.csdn.net/sdgfafg_25/article/details/131658334