GPT-3論文
https://scrapbox.io/files/657e5f81b3d92400245f31c6.png
論文情報
タイトル:Language Models are Few-Shot Learners
著者:Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, etc
発行日: 2020年5月
所属:OpenAI
論文のインパクトを簡単に
その後のAI開発に大きな影響を与える「Few-Shotラーニング」という考え方を世に示した。 GPT-3以前の言語モデル、2018年に発表した3億4000万パラメーターのBERTの場合 大量の文章データを事前学習させた後に、数百例の教師データを追加するだけで新しいタスクに対応できる「ファインチューニング」が可能だった。 それに対してBERTよりもはるかに巨大である、1750億パラメーターを備えるGPT-3の場合 事前学習済みの機械学習モデルに対して、わずか数十例の教師データを与えるだけで、新たな能力を追加可能だった。
AIの性能が向上し、万能性が高まると予測できる。
そのためGPT-3の登場以降、機械学習モデルの巨大化競争は一気に加速した。
詳細解説
概要
最近の研究では、大規模なテキストコーパスでの事前学習に続いて特定のタスクでの微調整を行うことで、多くの自然言語処理(NLP)タスクとベンチマークで顕著な改善が見られました。一般的にタスクに依存しないアーキテクチャであるにもかかわらず、この方法は依然として数千から数万の例からなるタスク固有の微調整データセットを必要とします。これに対して、人間は通常、ごくわずかな例や単純な指示から新しい言語タスクを実行できますが、現在のNLPシステムはこの点でまだ大きな困難に直面しています。ここでは、言語モデルのスケーリングアップがタスク非依存のFew-Shot性能を大幅に向上させ、場合によっては以前の最先端の微調整アプローチと競合するレベルに達することを示しています。具体的には、1750億のパラメータを持つ自己回帰型言語モデルであるGPT-3を訓練し、以前の非スパース言語モデルよりも10倍多いパラメータを持ち、Few-Shot設定でのパフォーマンスをテストしました。全てのタスクにおいて、GPT-3は勾配更新や微調整なしで適用され、タスクとFew-Shotデモンストレーションはモデルとのテキストインタラクションを通じて純粋に指定されました。GPT-3は、翻訳、質問応答、クローズタスクなど多くのNLPデータセットで強力なパフォーマンスを達成し、文字のスクランブル解除、新しい単語を文中で使う、3桁の算数を行うなど、即興での推論やドメイン適応を要求するいくつかのタスクでも優れた成果を示しました。同時に、GPT-3のFew-Shot学習がまだ苦戦しているデータセットや、大規模なWebコーパスでのトレーニングに関連した方法論的な問題に直面しているデータセットも特定しました。最後に、GPT-3が生成したニュース記事のサンプルは、人間の評価者が人間によって書かれた記事と区別するのが難しいという結果が出ました。この発見とGPT-3全般のより広範な社会的影響について議論します。 Introduction
Transformerベースのアーキテクチャをファインチューニングすることで、文章読解や質問回答などといった多くのタスクで優れた性能を得ることができている。一方で、こうしたアプローチはタスクを既知として学習しており、目標タスクの学習データが必要になるという制約がある。この制約を乗り越えることは、以下の観点から重要であると言える。
タスクによっては、十分な教師ありデータを用意するのは大変な場合がある。タスク固有の教師ありデータの必要性は、言語モデルの有用性を制限してしまう。
モデルの表現力が高かったり、学習データの分布が狭いと、モデルがデータ内の見せかけ(spurious)の相関を利用してタスクを解いてしまう可能性がある。結果的に、ファインチューニングして得られたモデルのベンチマーク性能は、実際の性能よりも過大評価されたものになってしまう場合がある。
人間は多くの教師ありデータを必要とせずに、簡潔な指示や短いデモンストレーションのみから言語タスクを解くことができる。言語モデルが広く有用であるためには、このような柔軟性と汎用性が望ましい。
これに対して有用と考えられるアプローチの一つがメタ学習である。言語モデルにおけるメタ学習とは、学習時に幅広いタスクに対する認識性能を獲得し、推論時に求められたタスクに高速に適応することである。GPT-2では目標タスクの情報をテキスト入力として扱い、自己回帰型の推論(入力文から次の単語を予測する)形式によってメタ学習を行なった。
Figure1.1は本論文におけるメタ学習の概要である。学習時に入力される文章内には、様々なサブタスクが埋め込まれると考えられる。こうした文章の生成を学習することで、内包される様々な言語タスクへの処理能力の獲得が期待できる。このアプローチはGPT-2から用いられており、ここではICL(コンテキスト内学習: In Context Learning)と呼ぶ。 https://scrapbox.io/files/657e68b989860200230fe7fb.png
評価データには24種類以上のNLPデータセットに加えて、特に適応力が問われるタスクを用いた。また各タスクで3つの条件での検証を行なった。
Few-Shot learning: 推論時に少数(10から100)のデモンストレーションを与える One-shot learning: 推論時に一つのデモンストレーションを与える
Zero-Shot learning: 推論時にデモンストレーションは与えられず、自然言語によるタスク指示のみが与えられる。 結果的に、タスクの説明と多くのデモンストレーション(K)を与えることでモデルの性能が向上していくことが確認された。またモデルを大きくすることによっても、性能が改善していることがわかる。Figure1.2は単語に加えられたランダムな文字を除去するというシンプルなタスクでの検証結果だが、他の多くのタスクでも同様の傾向が見られた。
https://scrapbox.io/files/657e68ea854a4e0024124bdc.png
全体的に、Zero-Shot, One-Shotでも悪くない性能、Few-shotでは一部ファインチューニングを用いたSOTAモデルに匹敵する性能を得ることができた。また計算や新語の処理などといった、適応力が問われるタスクについてもOne-Shot, Few-shotによって良い性能を発揮した。一方で言語推論や文章読解などいくつかのデータセットでは、GPT-3の規模でもまだまだの結果となった。これらのタスクへのFew-shot性能の向上は今後の課題と言える。→5章 Limitations 本論文ではデータの混交(contamination)についても調査した。Common Crawlのようなウェブベースのデータを用いると、テストデータと同じデータを含む可能性がある。これに対してツールによって混交の度合いとその影響を計測し、過大評価が疑われるタスクはそのように記載した。→4章 Measuring and Preventing Memorization Of Benchmarks
最後に、GPT-3の広汎な性能を踏まえて、バイアスや公平性、社会的影響についても議論する。→6章 Broader Impacts Approach
GPT-3の基本的なアーキテクチャ、データ、学習方法はGPT-2を踏襲しており、それぞれをスケールアップさせている。まずファインチューニングとZero-Shot、One-Shot、Few-shotを整理する。 ファインチューニング: 広く利用されるアプローチ。対象タスクで高い性能を得やすいが、タスク固有のデータが必要、与えられたデータに過学習してしまうなどの懸念がある。GPT-3はタスクを未知とした場合の性能に関心があるため、本論文ではファインチューニングは検証しない。 Few-Shot: モデルのパラメータは固定したまま、少量のデモンストレーションから予測を行う方式。タスク固有のデータが少量で済み、過学習の心配がない。一方でファインチューニングほどの性能は発揮できない場合が多い。 One-Shot: Few-Shotでデモンストレーションが一つだけ与えられるケース。人がタスクに取り組むシチュエーションに近いとして個別に取り上げている。 以下は、これらの設定を英語→フランス語の翻訳タスクを例に、比較している。
https://scrapbox.io/files/657e6c737bd283002487042e.png
https://scrapbox.io/files/657e6ca12bf1d30023ca49e2.png
今回検証する中ではfew-shotが最も高性能だが、one-shot, zero-shotで優れた性能を発揮したタスクもあり、検証対象として重要である。