ChatGPT が祖先を追う: GPT-3 技術レポートの要点の解釈

論文アドレス:言語モデルは少数回の学習者である

以前の号の関連記事:

この記事のタイトルが論文ではなく技術レポートと呼ばれているのは、63 ページの GPT-3 記事が出版された論文ではなく報告書であるためであり、この記事ではモデルの構造やトレーニング全体については触れられていないためです。 . プロセスの詳細な紹介は基本的に考察なので、このブログでは注目に値すると思われる点のみをピックアップして紹介します。 

抽象的な

GPT-1 と GPT-2 を振り返ると、GPT-1 では主に入力スタイルの変更を使用してモデルにさまざまなタスクの実行を学習させています。GPT-2 の著者は記事全体でゼロショット学習を強調し、追加の使用を放棄しています。区別するために入力に特殊記号を追加する 異なるタスクでは、純粋な自然言語入力を使用して異なるタスクを実行する GPT-3 では、作成者はゼロ サンプルを強調しなくなり、タスク関連の大量の注釈付きデータに依存すると考えています微調整は良いアイデアではありません。著者は、人間が新しいタスクを学習するとき、新しい知識を学習するために少数のサンプルしか必要としないことが多いと述べているので、良いアイデアです。著者は、与えることは不可能だと考えていると思いますサンプルが 1 つもなかったので、著者は数ショットを考えました。 この方法は素晴らしいです。もちろん、後述するワンショット方式についても触れています。要約では、著者は主に、以前の非スパース モデルの 10 倍である 1,750 億個のパラメータを含む GPT-3 を開発したと説明しています。なぜ非スパースなのか? スパース モデルの重みには 0 が多いからです。 、これによりモデルがインフレートされるため、比較の意味はありません。第二に、GPT-3によって生成されたニューステキストは人間でも真実か嘘か、人間が書いたものかを区別するのが難しいことを著者は発見した。

1. 指示する 

次に著者は、タスクに依存しないデータセットで事前トレーニングし、特定のタスクデータセットで微調整するという言語モデルトレーニングの現在のパラダイムについて言及しましたが、このパラダイムには大きな問題があります。モデルはトレーニングされていますが、微調整には大量の注釈付きデータがまだ必要です。具体的には、著者は次の 3 つの問題を挙げています。

要約すると、主に次の 3 つの問題があります。

  • 注釈付きデータセットへの依存、つまりモデルトレーニングには大量の注釈付きデータが必要ですが、これは非常に困難です。
  • 微調整モデルの優れたパフォーマンスは、必ずしも事前トレーニング モデルの強力な汎化能力によるものではなく、事前トレーニングで使用される大量のデータ バッチが微調整データの情報をカバーしているためである可能性があります。微調整されたデータが事前トレーニングで対応する分布を持たない場合、モデルのパフォーマンスが低下する可能性があります。
  • 人間が新しいタスクを学習するとき、多くの場合、手助けとなる多くの例は必要ありません。たとえば、猫について知りたい場合、実際、数匹の猫の外観を与えられれば、おそらく理解できるでしょう。将来、猫がどのような色や品種であっても、それを猫として識別できるようになります。GPT-3 は人間の学習プロセスを類推することを目的としており、モデルの学習にはタスクに関連した多数のサンプルは必要ないと考えています。

上記の問題を解決するために、著者らもアイデアを提案しており、この段落ではメタ学習と呼ばれる比較的新しい用語に言及し、また、コンテキスト学習である「インコンテキスト学習」にも言及しています。メタ学習といっても、実はそこまで高度なものではなく、平たく言えば、異なるタスクのサンプルを大量にモデルに同時に送って事前学習させるというもので、映画でいうところのマルチタスク学習と似ています。 GPT2. サンプルサンプルに基づいてインコンテキスト学習を行う場合、ゼロショット、ワンショット、および少数ショットを区別するため、このインコンテキスト学習プロセスは勾配更新を行っていますか? なにもない。著者はこのページの最後でメタ学習とインコンテキスト学習について説明しています。

著者は、前述のゼロサンプル学習は、実際にはゼロサンプルから学習しているわけではなく、この曖昧さを避けるために、メタ学習を使用して事前トレーニングプロセスを置き換え、インコンテキスト学習を使用して順方向学習を表現していると述べています。伝播プロセス (勾配の更新を含まないため、推論とみなすことができることに注意してください)。そして、推論プロセスで依存する例の数に応じて、ゼロサンプル、単一サンプル、少数サンプルに分けられます。正直に言うと、少し複雑で、作者の意図を深く分析しないと、さらに面倒になります。著者は、このプロセスを説明するために次の写真も添付しました。

外側のループ部分は教師なし事前トレーニング プロセスで、一番下の青い部分はインコンテキスト学習です。画像だけから判断すると、外側のループ部分全体が教師なし事前学習であり、このプロセスにはさまざまなインコンテキスト学習段階が含まれていますが、記事の意味によれば、学習中に勾配更新を実行しないことは不可能です。事前トレーニングプロセス. インコンテキスト学習は勾配更新を行わないため、上の図はいくつかの問題を示している可能性があります. したがって、この図は GPT-3 がどのようにトレーニングされるかについてではなく、そのようなコンポーネント段階があることを示していると思います. 具体的には、教師なしの事前トレーニング段階があり、インコンテキスト学習は順伝播段階でのみ発生します。著者は、事前トレーニング段階では、データ量が十分に大きい限り、コンテキスト学習プロセスにサンプル タスク関連の例が含まれる可能性が非常に高くなります。ちょっと見てください、とにかくかなり奇妙です。もちろん、GPT-3 はオープンソースではないため、これらは単なる推測にすぎません。

この段落の著者は、モデル パラメーターの数が増加し続けるにつれて、モデルのパフォーマンスが実際に常に向上していることを説明したいと考えています。要約すると、モデル パラメーターの数はモデルのパフォーマンスに直接影響を与えます。

著者はさまざまなショットでの実験を比較しました。グラフから判断すると、少数ショットが最も優れているようです。グラフ上の 3 本の実線は n 回の実験の平均であることに注意してください。言い換えれば、与えられる例の数が増加するにつれて、モデルのパフォーマンスは一般にますます向上します。ただし、指定されたサンプル サンプルはモデルを微調整するために使用されるのではなく、勾配を更新せずにサンプル サンプルに基づいてモデルが関連タスクを実行できるようにするために使用されることに注意してください。これは確かに人間のプロセスに少し似ています。新しいタスクを実行しています。

著者はまた、GPT-3 には自然言語推論タスクにおいてまだ多くの改善の余地があり、今後も少数ショット学習の研究を改善する取り組みを強化していくだろうとも述べました。 

これらの段落は主に、著者がこの記事で次に説明する内容を要約しています。データセット、モデルのサイズ、さまざまなトレーニング方法、モデルの制限、社会的影響などを含め、言うことはあまりありません。

2.アプローチ 

次に、著者は、ファインチューニング、少数ショット学習、シングルショット学習、およびゼロショット学習とは何か、およびそれらがどのように実行されるかを紹介します。ここで言及する価値があるのは、著者らが少数ショット学習で実験のサンプル範囲が 10 ~ 100 であることを紹介し、少数ショット学習の大きな欠点は、現在の最良のモデルよりもまだ優れていることであると述べたことです。微調整プロセス、パフォーマンスの低下。ゼロショット学習は、人間が新しいタスクを学習するのに最も近い状況です。以下は、微調整、ゼロサンプル、単一サンプル、少数サンプル学習のさまざまな例を示す図例です。

上の図から、4 つの異なるプロセスが何であるかを明確に理解できます: 微調整は、事前トレーニングされたモデルに基づいた増分トレーニング (勾配更新による) に一定量のラベル付きサンプルを使用することです; ゼロ サンプルは単なるヒント ワードです、サンプル例はありません。サンプルが 1 つある場合は、プロンプト単語と例があることを意味します。サンプルが少ない場合は、プロンプト単語と少数の例があることを意味します。例の目的は、モデルに推論の際に参照する例を提供し、モデルに何をさせたいかを理解できるようにすることです。たとえば、上の図の「英語をフランス語に翻訳してください:」というプロンプト単語では、プロンプト単語の下にサンプル サンプルと予測対象のサンプルが表示されます。「=>」の左側のシーケンスは元のテキストを参照します (英語)、右側はターゲット テキスト (フランス語)、最後のターゲット テキストのないシーケンスは、モデル予測を必要とする予測対象のサンプルです。

次に、著者は記事内で設計したさまざまなサイズのモデルのパラメータをリストします。

写真を見れば一目瞭然ですが、このうちGPT-3 SmallはBert-base、GPT-3 MediumはBert-Largeとパラメータが似ています。GPT-3 XLはパラメータ数はGPT-2と同等ですが、ベクトル次元がGPT-2より広く、層数がGPT-2より深くなり、GPT-2の層数は48層となります。これらのパラメータがなぜこのように設定されているかについては、著者の形而上学的思考が役割を果たしているはずだと思います。さらに不思議なのは、GPT 層の数が増えても、そのベクトル次元はそれほど増加せず、バッチサイズが増加するにつれて学習率も低下することですが、これは私たちの理解に少し反するような気がします。通常、層数の増加の倍数は、ベクトル次元の増加に相当します。層の数が増えると、より多くの情報を記憶するためのベクトル次元が増えるためです。バッチ サイズが増加すると、学習率も増加する必要があります。はい、サンプルのバッチがこれほど大きい場合、最適な空間に迅速に近づくには大きな学習率が必要になるためです。一言で言えば、これは非常に形而上学的です。

2.1 モデルとアーキテクチャ

皆さんが最も懸念しているモデル構造の問題に関して言えば、最も重要な部分のスペースが非常に少ないのは残念です。著者は冒頭で「GPT-3とGPT-2のモデル構造に本質的な違いはない。唯一の違いは、GPT-3ではアテンション機構にSparse Transformerと呼ばれるネットワーク構造を採用していることだ」と述べました。このモデルについてはまだ詳しく調べていないので、今は説明しません。8 人のモデル作成者全員が 2048 トークンの入力制限を採用しました。これは、GPT-3 が最大 2048 トークンをサポートすることを意味します。著者はまた、計算の複雑さを軽減できる、モデルの深さと幅を複数のマシンに並行して分散するというエンジニアリング上の問題についても簡単に言及しました。

2.2 トレーニング データセット

GPT-3 ほどの大規模なモデルが必要な場合は、ビッグデータを考慮する必要があります。著者らはこのセクションで、主要なデータ ソースが Common Crawl サンプリングに基づいていることを紹介します。

GPT-2 の記事では、著者はこのデータセットの品質が低いため使用せず、代わりに他の方法を使用して新しいデータセットを構築したと述べましたが、GPT-3 では、このような大規模なモデルをトレーニングするには、作成者はこのデータ セットを使用する必要がありました。データ セットの品質を向上させるために、著者はデータ セットの平均品質を向上させる 3 つの手順を実行しました: (1) 一連の高品質の参照コーパスと同様の Common Crawl バージョンをダウンロードしてスクリーニングします。一般的なクロールでは、参照コーパスを比較して高品質のコーパスを選択します。インターネットで誰かが言った比較方法は、2 つの分類を使用することです。共通クロール データ セットをネガティブ サンプルとして、その他の高品質データ セットをポジティブ サンプルとして使用し、2 クラス モデルをトレーニングし、その 2 クラス モデルを使用して共通クロールをフィルタリングします。これはメソッドです。問題ではありません。とにかく、ジョブを適切に完了できる限り、どのような方法でフィルタリングしても構いません。データはデータに属します。特徴量エンジニアリングのタスク。(2) ファジィ重複排除はドキュメント レベルで実行され、冗長性を防ぎ、データの保持を維持します。過学習を正確に測定するための基礎として、検証セットの完全性を検証します。このような大規模な重複排除バッチは非常に効果的だと思います。Eighty-nine は、LSH に似たハッシュ手法を使用します。(3) 既知の高品質の参照コーパスを、 GPT-2、Bert などの Common Crawl の多様性と豊かさを高めるトレーニング ミックス。使用されるコーパス。

上の表からわかるように、共通クロール ベースは大きいにもかかわらず、そのサンプリング レートは以下のデータ セットのサンプリング レートほど良くありません。これは、作成者が共通クロール データの品質が依然として高いと信じているためと考えられます。設定が低いため、サンプリング レートを下げる必要があります。 

著者は、大量のインターネット データで事前トレーニングされた言語モデル、特に大量のコンテンツを記憶する能力を備えた大規模なモデルには、大きな方法論的な問題がある、つまり、テスト セットや開発セットが学習中に誤って表示される可能性があると述べました。事前トレーニングプロセスにより、下流のタスクに潜在的な汚染を引き起こす可能性があります。実際、これはモデルの「不正行為」の問題であり、モデルのパフォーマンスが誤って高くなってしまう可能性があります。著者はある程度の重複排除を実行しましたが、フィルター設計にいくつかの欠陥があるため、重複排除は不完全です。つまり、GPT-3 データセット内のトレーニング サンプルとテスト サンプルの間にはまだ多くの重複があります。コストが高すぎて不可能なので、今後の研究で解決したいと考えています。

2.3 トレーニングプロセス

このセクションではトレーニング プロセスを簡単に紹介します (詳細はありません) が、注目に値するものはあまりありません。

この段落では主に、v100 分散トレーニングを使用していることを作成者に説明します。他には多くはありません。内容は付録 B で読むことができます。 

付録 B から次の点を抽出できます。

  • Adam オプティマイザのパラメータは β1=0.9、β2=0.95、\ε=10^-8 です。
  • 学習率は、最初の 260 億トークンの前に学習率を初期値から 10% に減衰させるコサイン減衰戦略を使用し、その後は変更されず、3 億 7,500 万トークンの前に線形学習率ウォームアップ戦略を使用します。
  • モデルのサイズに応じて、最初の 40 ~ 12 億トークンのトレーニング中にバッチサイズを小さな値 (32,000 トークン) から最大値まで直線的に徐々に増やします。
  • トレーニング段階でのデータ サンプリングは置換なしで行われます。
  • すべてのモデルは 0.1 の比率で重み付け減衰されます。
  • 入力長は 2048 トークンに制限されています。ドキュメント内のトークンの合計数が 2048 未満の場合、他のドキュメントがその量を補うために使用されます。つまり、各入力シーケンスには 2048 トークンが含まれることが保証されます。シーケンスが複数のドキュメントで構成されている場合、ドキュメントを相互に区別するために特別な終了文字が使用されます。

2.4 評価

このセクションは実験的評価の入門です。違いは、著者がコンテキスト学習を使用していることです。微調整が含まれていないため、GPT-3 の評価では、事前トレーニングされたモデルを直接使用して、さまざまな数の例を取得します。評価されました。

この時点で、GPT-3 のより重要な部分が実際に紹介されています。次のコンテンツは、さまざまな実験タスクの紹介と、たくさんの付録です。興味のある友人は、自分のニーズに応じて選択して読むことができます。

要約する

要約すると、GPT-1 では、著者はタスク関連の微調整トレーニングと組み合わせた教師なし事前トレーニングのパラダイムを提案し、入力構造をタスク関連の外観に変更して微調整を行うトレーニング方法でもあります。後続の Bert、T5、およびその他のモデル用; GPT- 2 では、著者は、さまざまなタスクを区別するために特殊な記号を使用する代わりに、すべてのタスク関連の入力を自然言語で記述します。これは、後の指導学習のパラダイムでもあり、アプリケーションを提案しています言語モデルのトレーニングにおけるゼロサンプルの数; GPT-3 以前のモデルのトレーニングパラダイムを変更し、特定のタスクの微調整を使用せずに大規模なコーパスを直接使用してモデルをトレーニングし、大規模データのパフォーマンス向上を検証します少数のサンプル例でのトレーニングと大きなパラメーターのモデル。これは、今日の主要な言語モデルで使用されている基本的な方法でもあります。一言で要約すると、「素晴らしい!」

おすすめ

転載: blog.csdn.net/qq_36583400/article/details/132889472
おすすめ