e4exp / paper_manager_abstract

0 stars 0 forks source link

Language Models are Few-Shot Learners #684

Open e4exp opened 2 years ago

e4exp commented 2 years ago

近年、多くのNLPタスクやベンチマークにおいて、大規模なテキストコーパスで事前学習を行い、その後、特定のタスクで微調整を行うことで、大きな成果が得られることが実証されています。 この方法は、タスクに依存しないアーキテクチャを採用していますが、それでも数千から数万の例を含むタスク固有の微調整用データセットが必要です。 対照的に、人間はわずかな例や簡単な指示から新しい言語タスクを実行することができますが、現在のNLPシステムではこれがほとんどできません。 ここでは、言語モデルをスケールアップすることで、タスクに依存しない数ショットのパフォーマンスが大幅に向上し、場合によっては、これまでの最先端の微調整アプローチと競合するまでになることを示します。 具体的には、1,750億個のパラメータを持つ自己回帰型言語モデルであるGPT-3を学習し、その性能を数ショットの設定でテストしました。 すべてのタスクにおいて、GPT-3は勾配更新や微調整を行わずに適用され、タスクと数ショットのデモはモデルとのテキストインタラクションによって純粋に指定されます。 GPT-3は、翻訳、質問応答、clozeタスクなどの多くのNLPデータセットに加えて、単語の解読、文中の新しい単語の使用、3桁の演算など、その場での推論や領域適応を必要とするいくつかのタスクにおいて、強力な性能を達成した。 一方で、GPT-3の数撃ちゃ当たる学習が苦手とするデータセットや、大規模なウェブコーパスでの学習に関する方法論的な問題に直面しているデータセットも確認しています。 最後に、GPT-3は、人間の評価者が人間の書いた記事と区別するのが難しいニュース記事のサンプルを生成できることがわかった。 この発見とGPT-3の一般的な社会的影響について議論する。

e4exp commented 2 years ago

1 はじめに

近年、NLP システムでは、事前に学習された言語表現を、柔軟かつタスクに依存しない方法で下流に伝達する傾向が見られます。 まず、単層の表現が単語ベクトルを用いて学習され[MCCD13, PSM14]、タスクに特化したアーキテクチャに供給された。 次に、複数層の表現と文脈状態を持つRNNがより強い表現を形成するために用いられ[DL15, MBXS17, PNZtY18](ただし、タスクに特化したアーキテクチャに適用される)、さらに最近では、事前に学習されたリカレントまたはトランスフォーマ言語モデル[VSP+17]が直接微調整され、タスクに特化したアーキテクチャの必要性が完全になくなった[RNSS18, DCLT18, HR18]。 この最後のパラダイムは、読解、質問応答、テキストの含意など、多くの困難なNLPタスクにおいて実質的な進歩をもたらし、新しいアーキテクチャとアルゴリズムに基づいて進歩し続けている[RSR+19, LOG+19, YDY+19, LCG+19]。

しかし、このアプローチの大きな限界は、アーキテクチャがタスクにとらわれない一方で、タスクに特化したデータセットとタスクに特化した微調整が必要であることである。 目的のタスクで強力なパフォーマンスを得るためには、通常、そのタスクに特化した数千から数十万の例のデータセットで微調整を行う必要がある。 いくつかの理由から、この制限を取り除くことが望ましいと考えられます。

まず、実用面では、新しいタスクのたびにラベル付きの例を集めた大規模なデータセットが必要となるため、言語モデルの適用範囲が狭くなります。 文法の修正、抽象的な概念の例の生成、短編小説の批評など、有用な言語タスクは非常に幅広く存在します。 これらのタスクの多くは、大規模な教師付き学習データセットを収集することが難しく、特に新しいタスクごとにプロセスを繰り返さなければなりません。

第二に、学習データの偽の相関関係を利用する可能性は、モデルの表現力や学習分布の狭さに応じて基本的に大きくなります。 これは、事前トレーニングと微調整のパラダイムに問題を生じさせる可能性がある。 すなわち、モデルは事前トレーニングで情報を吸収するために大きく設計されるが、その後、非常に狭いタスク分布で微調整される。 例えば、[HLW+20]では、大きなモデルが必ずしも分布外の一般化に優れているわけではないことを観察している。 このパラダイムで達成される汎化は、モデルが訓練分布に過度に特化しており、分布外にうまく汎化できないため、貧弱になる可能性があることを示唆する証拠がある[YdC+19, MPL19]。 このように、特定のベンチマークで微調整されたモデルの性能は、名目上は人間レベルであっても、基本的なタスクでの実際の性能を誇張している可能性がある[GSL+18, NK19]。

第三に、人間はほとんどの言語タスクを学習するために大規模な教師付きデータセットを必要としない。 自然言語での簡単な指示(例:「この文章が何か幸せなことを述べているのか、何か悲しいことを述べているのか教えてください」)や、せいぜいわずかな数のデモンストレーション(例:「ここに2つの勇敢な行動をする人の例がありますが、3つ目の勇敢な例を挙げてください」)で十分である。

image

これは、人間が新しいタスクを少なくとも妥当な程度の能力で実行できるのに十分なものです。 この適応性は、現在のNLP技術の概念的な限界を指摘するだけでなく、実用的な利点でもあります。 例えば、長い対話の間に足し算を行うなど、人間は多くのタスクやスキルをシームレスに組み合わせたり、切り替えたりすることができます。 広く利用されるためには、NLPシステムにもこのような流動性と汎用性が求められます。 このような問題を解決するための1つの方法として、メタ学習^1があります。

^1 言語モデルの文脈では、これを「ゼロショット転送」と呼ぶことがありますが、この用語は曖昧な可能性があります。 この手法は、勾配更新が行われないという意味で「ゼロショット」ですが、モデルに推論時のデモを提供することが多いため、本当の意味でゼロ例からの学習ではありません。 この混乱を避けるために、一般的な手法の内ループ/外ループ構造を捉えるために「メタ学習」という用語を使用し、メタ学習の内ループを指すために「インコンテキスト学習」という用語を使用します。 さらに、推論時に提供されるデモンストレーションの数に応じて、「zero-shot」、「one-shot」、「few-shot」と表現を分けています。 これらの用語は、モデルが推論時に新しいタスクをゼロから学習するのか、それとも単にトレーニング中に見られたパターンを認識するのかという問題に対して不可知論的であることを意図しています。 これは重要な問題であり、論文の後半で議論しますが、「メタ学習」は両方の可能性を包含することを意図しており、単にインナー-アウターループ構造を表しています。

言語モデルの文脈では、モデルが学習時に幅広いスキルとパターン認識能力を身につけ、推論時にそれらの能力を使って目的のタスクに素早く適応したり認識したりすることを意味します(図1.1に図示)。 最近の研究[RWC+19]では、事前に学習された言語モデルのテキスト入力をタスクの仕様として利用する「コンテキスト学習」と呼ばれる方法でこれを実現しようとしている。 モデルは、自然言語による指示やタスクのいくつかのデモンストレーションを条件とし、次に何が来るかを予測するだけでタスクのさらなるインスタンスを完了することが期待される。 例えば、[RWC+19]では、自然な質問で4%しか達成できず、55のF1 CoQaの結果でさえ、最先端の技術に35ポイント以上の差をつけられています。 メタ学習は、言語タスクを解決する実用的な方法として実行するためには、明らかに大幅な改善が必要です。

また、最近の言語モデリングの動向にもヒントがあります。 近年,変換言語モデルの容量は,1億パラメータ[RNSS18],3億パラメータ[DCLT18],15億パラメータ[RWC+19],80億パラメータ[SPP+19],110億パラメータ[RSR+19],そして170億パラメータ[Tur20]と大幅に増加している。 各々の増加は,テキスト合成や下流のNLPタスクに改善をもたらしており,多くの下流タスクとの相関性が高いログロスは,規模が大きくなるにつれて滑らかな改善傾向にあることを示唆する証拠がある[KMH+20]. インコンテクスト学習では、モデルのパラメータ内で多くのスキルやタスクを吸収することになるので、インコンテクスト学習能力がスケールとともに同様に強い向上を示す可能性は十分にある。

本論文では、この仮説を検証するために、1750億パラメータの自己回帰型言語モデル(GPT-3と呼ぶ)を学習し、そのコンテキスト内学習能力を測定した。 具体的には、20種類以上のNLPデータセットと、学習セットに直接含まれていないようなタスクへの迅速な適応をテストするために設計されたいくつかの新しいタスクでGPT-3を評価する。

それぞれのタスクにおいて、GPT-3は3つの条件で評価されます。

(a)モデルのコンテキストウィンドウ(通常10~100)に収まるだけのデモを許可する「数ショット学習」(コンテキスト内学習)、 (b)1回だけのデモを許可する「ワンショット学習」、 (c)デモを許可せず、自然言語による指示のみをモデルに与える「ゼロショット学習」。

GPT-3は、原理的には従来の微調整の設定でも評価できますが、これは今後の課題とします。

image

図1.2は、私たちが研究している条件を示しており、モデルが単語から余計な記号を取り除くという単純なタスクを数ショットで学習している様子を示しています。 モデルの性能は、自然言語によるタスクの説明を追加した場合と、モデルのコンテキストに含まれる例の数Kによって向上します。 このケースの結果は特に顕著ですが、モデルサイズとコンテキスト内の例数の両方に関する一般的な傾向は、我々が調査したほとんどのタスクに当てはまります。 これらの「学習」曲線には、勾配の更新や微調整は含まれておらず、条件として与えられるデモの数が増えるだけであることを強調しておきます。

概して、NLPタスクにおいて、GPT-3はゼロショットおよびワンショットの設定で有望な結果を達成し、また、数ショットの設定では、(最先端は微調整されたモデルによって保持されているにもかかわらず)最先端と競合したり、時には上回ることもあります。 例えば、GPT-3はCoQAにおいてゼロショット設定で81.5 F1、ワンショット設定で84.0 F1、 few-shot設定で85.0 F1を達成しています。 同様に、GPT-3はTriviaQAにおいて、ゼロショットで64.3%、ワンショットで68.0%、数ショットで71.2%の精度を達成しており、これは同じクローズドブックの環境で動作する微調整されたモデルと比較しても最先端の結果です。 GPT-3は、単語の分解、算数、新しい単語の定義を一度だけ見た後に文章中で使用するなど、迅速な適応やその場での推論をテストするように設計された課題においても、ワンショットおよび数ショットの能力を示した。 また、GPT-3は、少数ショットの設定で、人間の評価者が人間の生成した記事と区別するのが難しい合成ニュース記事を生成できることを示した。

一方で、GPT-3の規模であっても、数ショットの性能が苦手とするタスクがいくつかあることもわかりました。 これには、ANLIデータセットのような自然言語推論タスクや、RACEやQuACのような読解データセットが含まれます。

このような限界を含めて、GPT-3の長所と短所を幅広く紹介することで、言語モデルにおける少数ショット学習の研究を活性化し、進歩が最も必要とされる場所に注目してもらいたいと考えています。 図1.3は、様々なタスクを集約したもので、全体的な結果を直感的に把握することができます(ただし、これ自体が厳密で意味のあるベンチマークと見なすべきものではありません)。

image

また、"データ汚染 "に関する体系的な研究も行っています。 この問題は、Common Crawlのようなデータセットで大容量モデルを学習する際に大きくなっています。 このようなデータセットには、テストデータセットのコンテンツが含まれている可能性があります。

本論文では、データ汚染を測定し、その歪みの影響を定量化するための体系的なツールを開発した。 ほとんどのデータセットにおいて、データコンタミネーションがGPT-3の性能に与える影響は小さいことがわかりましたが、結果を歪めている可能性のあるデータセットもいくつか確認しました。 これらのデータセットについては、その深刻度に応じて結果を報告しないか、アスタリスクを付けて表示しました。

上記に加えて、0ショット、1ショット、数ショットの設定でGPT-3と性能を比較するために、一連の小さなモデル(1億2500万パラメータから130億パラメータまで)を学習しました。 注目すべきパターンは、ゼロショット、1ショット、数ショットの性能の差がモデルの容量に応じて大きくなることで、これは大きなモデルがより熟練したメタ学習者であることを示唆していると考えられます。

最後に、GPT-3が示す幅広い能力を考慮して、偏りや公平性、より広い社会的影響に関する懸念について議論し、この点に関するGPT-3の特徴の予備的な分析を試みます。 本論文の残りの部分は以下のように構成されています。 セクション2では、GPT-3をトレーニングし、評価するためのアプローチと方法について説明します。 セクション3では、ゼロショット、ワンショット、数ショットの設定で、全範囲のタスクに関する結果を示す。 セクション4では、データコンタミネーション(トレーニングとテストの重複)の問題を取り上げます。 セクション5では、GPT-3の限界について述べます。 セクション6では、より広範な影響について述べます。セクション7では、関連する研究をレビューし、セクション8では結論を述べます。

e4exp commented 2 years ago

2 アプローチ モデル、データ、トレーニングを含む我々の基本的な事前

トレーニ ングのアプローチは、[RWC+19]で説明されているプロセスに類似してお り、モデルのサイズ、データセットのサイズと多様性、トレーニング の長さを比較的簡単にスケールアップすることができる。 文脈内学習の利用も[RWC+19]と同様であるが、本研究では文脈内学習の様々な設定を体系的に探索する。 したがって、このセクションでは、GPT-3を評価するための、あるいはGPT-3を評価することが可能なさまざまな設定を明確に定義し、対比させることから始める。 これらの設定は、タスク固有のデータにどれだけ依存する傾向があるかのスペクトラム上にあると見なすことができます。 具体的には、以下の4つの点が挙げられます(図2.1を参照)。

image

図2.1は、英語からフランス語への翻訳を例に、4つの手法を示したものです。 本論文では,ゼロショット,ワンショット,数ショットに焦点を当て,これらを競合する選択肢としてではなく,特定のベンチマークでの性能とサンプルの効率性との間に様々なトレードオフを提供する異なる問題設定として比較することを目的としています. 特に few-shot の結果は、最先端のファインチューニングされたモデルにわずかに及ばないものが多いため、注目しています。 しかし、最終的には、ワンショット、場合によってはゼロショットが、人間のパフォーマンスと最も公平に比較できると思われ、今後の重要な研究対象となります。

以下の2.1-2.3節では,我々のモデル,学習データ,学習プロセスについて詳細に説明する。 セクション2.4では、数ショット、ワンショット、ゼロショットの評価方法の詳細を説明します。

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

GPT-2 [RWC+19]と同じモデルとアーキテクチャを使用しています。 初期化、事前正規化、可逆的なトークン化の変更などが含まれていますが、Sparse Transformer [CGRS19]と同様に、変換器の層に高密度と局所的に帯状の疎な注目パターンを交互に使用することを除いています。 MLの性能がモデルサイズに依存するかどうかを調べるために、1億2500万パラメータから1億7500万パラメータまで3桁の範囲で8種類のサイズのモデルを学習し、最後にGPT-3と呼ぶモデルを学習した。 これまでの研究[KMH+20]では,十分な訓練データがあれば,検証損失のスケーリングはサイズの関数としてほぼ滑らかなべき乗則になることが示唆されている. 様々なサイズのモデルを訓練することで,検証損失と下流の言語タスクの両方でこの仮説を検証することができる.

image

表2.1は,8つのモデルのサイズとアーキテクチャを示しています. ここで,nparamsは学習可能なパラメータの総数,nlayersは層の総数,dmodelは各ボトルネック層のユニット数(フィードフォワード層は常にボトルネック層の4倍の大きさにしており,dff = 4 ∗ dmodel),dheadは各アテンションヘッドの次元です. すべてのモデルは、n_ctx = 2048トークンのコンテキストウィンドウを使用しています。 ノード間のデータ転送を最小限にするために,モデルをGPU上で奥行きと幅の両方の次元に分割しました. 各モデルの正確なアーキテクチャパラメータは、計算効率とGPU間のモデルのレイアウトにおける負荷分散を考慮して選択されています。 これまでの研究[KMH+20]では,妥当な範囲内であれば,検証損失はこれらのパラメータに強く依存しないことが示唆されている.

2.2 学習データセット

言語モデルのデータセットは急速に拡大しており,Common Crawl データセット2 [RSR+19]では約 1 兆語に達しています. このサイズのデータセットは,同じシーケンスを2回更新することなく,最大のモデルを学習するのに十分です. しかし,Common Crawlのフィルタリングされていないバージョンやフィルタリングが不十分なバージョンは,精査されたデータセットよりも品質が低い傾向があることがわかりました. そこで、データセットの平均的な品質を向上させるために、3つのステップを実施しました。

(1) CommonCrawlのバージョンをダウンロードし、様々な高品質の参照コーパスとの類似性に基づいてフィルタリングした。 (2) 冗長性を防ぎ、オーバーフィットの正確な測定としてホールドアウトされた検証セットの完全性を維持するために、データセット内およびデータセット間で、ドキュメントレベルでファジー重複排除を行った。最初の2つのポイント(Common Crawlの処理)の詳細は付録Aに記載されています。 3つ目のポイントとして、より長い期間のリンクをスクレイピングして収集したWebTextデータセット[RWC+19]の拡張版、[KMH+20]で最初に記述されたもの、2つのインターネットベースの書籍コーパス(Books1とBooks2)、英語版Wikipediaなど、いくつかのキュレーションされた高品質データセットを追加した。

表2.2は、学習に使用した最終的なデータセットの組み合わせを示している。 CommonCrawlデータは、2016年から2019年をカバーする月刊CommonCrawlの41シャードからダウンロードしたもので、フィルタリング前は45TB、フィルタリング後は570GBの圧縮平文を構成しており、およそ4000億バイトペアにエンコードされたトークンに相当する。 なお、学習時にはデータセットの大きさに比例してサンプリングするのではなく、質が高いと判断したデータセットをより頻繁にサンプリングしています。 例えば、CommonCrawlとBooks2のデータセットは学習時に1回もサンプリングされませんが、その他のデータセットは2~3回サンプリングされます。 これは基本的に、より質の高いトレーニングデータと引き換えに、少量のオーバーフィッティングを受け入れることになります。

インターネット上の広範なデータで事前学習された言語モデル、特に膨大な量のコンテンツを記憶する能力を持つ大規模なモデルの場合、事前学習の際にテストセットや開発セットを誤って見てしまい、下流のタスクに影響を与える可能性があるというのが、方法論上の大きな懸念点です。 このような汚染を軽減するために、本稿で調査したすべてのベンチマークの開発セットとテストセットの重複を検索し、削除することを試みました。 残念ながら,フィルタリングのバグにより,いくつかのオーバーラップを無視してしまいました. また,学習コストの問題から,モデルの再学習を行うことはできませんでした. セクション4では,残りのオーバーラップの影響を明らかにし,今後はより積極的にデータの汚染を除去する予定である.

2.3 学習プロセス

[KMH+20, MKAT18]に見られるように、大規模なモデルは、通常、より大きなバッチサイズを使用することができますが、より小さな学習率を必要とします。 我々は学習中にグラジエントノイズのスケールを測定し,バッチサイズの選択の指針とした[MKAT18]. 表2.1に,使用したパラメータ設定を示します. 大規模なモデルをメモリ不足になることなく学習するために,各行列の乗算内でのモデル並列と,ネットワークの層全体でのモデル並列を併用しています. すべてのモデルは,Microsoft 社が提供する高帯域幅クラスターの一部である V100 GPU で学習しました.

2.4 評価

数ショット学習では、タスクのトレーニングセットからK個の例をランダムに抽出し、タスクに応じて1つまたは2つの改行で区切って条件付けすることで、評価セットの各例を評価します。LAMBADAとStoryclozeについては、教師付きのトレーニングセットがないため、開発セットから条件付けの例を抽出し、テストセットで評価しています。 Winograd(SuperGLUE版ではなくオリジナル)にはデータセットが1つしかないので、そこから直接条件付け例を抽出します。

Kは0からモデルのコンテキストウィンドウで許容される最大値までの任意の値をとることができ、すべてのモデルでnctx=2048であり、通常は10から100例に適合します。 開発セットとテストセットが別々に用意されている場合は、開発セットでいくつかのKの値を試してから、テストセットで最適な値を実行します。 いくつかのタスク(付録G参照)では、デモに加えて(K = 0の場合は代わりに)自然言語によるプロンプトを使用します。 複数の選択肢から1つの正解を選ぶタスク(多肢選択)では、文脈+正解の例をK個、文脈のみの例を1個用意し、それぞれの正解のLM尤度を比較します。 ほとんどのタスクでは、(長さを正規化するために)トークンごとの尤度を比較しますが、少数のデータセット(ARC、OpenBookQA、RACE)では、P (completion|context)/ P (completion|answer-context) を計算することにより、各補完の無条件確率で正規化することで、開発セットで測定された追加の利益を得ることができました(ここで、answer contextは文字列 "Answer: "または "A: "であり、完成品が回答であるべきことを促すために使用されますが、それ以外は一般的なものです。

二値分類を伴うタスクでは、選択肢に意味的に意味のある名前(例えば、0か1ではなく、"True "か "False")を与え、タスクを多肢選択のように扱う。 また、[RSR+19]で行われているようにタスクをフレーム化することもある(詳細は付録Gを参照)。 自由形式の補完タスクでは、[RSR+19]と同じパラメータ(ビーム幅4、長さペナルティα=0.6)でビームサーチを用いる。 F1類似度スコア、BLEU、完全一致のいずれかを用いてモデルを評価する。 最終的な結果は,テストセットが公開されている場合には,モデルサイズと学習設定(ゼロショット,ワンショット, 数ショット)ごとに報告される. テストセットが非公開の場合は、モデルが大きすぎてテストサーバーに収まらないことが多いため、開発セットで結果を報告しています。 テストサーバへの投稿が可能な少数のデータセット(SuperGLUE、TriviaQA、PiQa)では、200Bの少数ショットの結果のみを投稿し、それ以外は開発セットの結果を報告しています。

e4exp commented 2 years ago

3 結果

図3.1は,セクション2で述べた8つのモデルの学習曲線を示したものである. このグラフでは,10万個のパラメータを持つ6つの超小型モデルを追加している. KMH+20]で観察されたように,言語モデリングの性能は,学習用計算機を効率的に利用した場合にべき乗に従う. この傾向をさらに2桁拡張しても、べき乗からわずかに離れるだけである。

クロスエントロピー損失の改善は、訓練コーパスのスプリアスな詳細をモデル化したことによるものだと心配する人もいるかもしれません。 しかし、クロスエントロピー損失の改善は、幅広い自然言語タスクにおいて一貫したパフォーマンスの向上につながることが、次のセクションでわかります。 以下では、第2節で述べた8つのモデル(1,750億個のパラメータを持つGPT-3と、それよりも小さい7つのモデル)を、さまざまなデータセットで評価します。 データセットは、ほぼ同様のタスクを表す9つのカテゴリーに分類している。

セクション3.1では、従来の言語モデリングタスクと、Clozeタスクや文/段落完成タスクなどの言語モデリングに類似したタスクで評価します。 セクション3.2では、モデルのパラメータに格納された情報を使用して一般的な知識の質問に答える必要があるタスクである「クローズドブック」質問応答タスクについて評価します。 セクション3.3では、モデルの言語間の翻訳能力を評価します(特にワンショットと数ショット)。 セクション3.4では、Winograd Schemaのようなタスクにおけるモデルの性能を評価する。 セクション3.5では、常識的な推論や質問応答を含むデータセットで評価する。 セクション3.6では、読解タスクについて評価し、セクション3.7では、SuperGLUEベンチマーク・スイートについて評価し、セクション3.8では、NLIについて簡単に説明する。 最後に、セクション3.9では、文脈内での学習能力を調べるために特別に設計されたいくつかの追加タスクを考案した。 これらのタスクは、その場での推論、適応スキル、または自由形式のテキスト合成に焦点を当てている。 これらのタスクは、オンザフライ推論、適応能力、オープンエンドテキスト合成に焦点を当てています。

image