論文 · arXiv 2005.14165
Language Models are Few-Shot Learners
3行まとめ
- 🎯 標準的なNLPモデルは数千件のラベル付きデータを用いたタスク固有のファインチューニングに依存しており、分布外汎化性能の低下を招くリスクがある。
- 🔧 最大175BパラメータのGPT-3を300Bトークンで訓練し、重みの更新を一切行わずにインコンテキストなプロンプトのコンディショニングのみで評価。
- 📈 few-shot設定においてGPT-3 175Bはファインチューニング済みモデルに匹敵または肉薄し、TriviaQAで71.2%、LAMBADAで正解率86.4%を達成。
概要
近年の研究では、大規模なテキストコーパスでの事前学習に続いて特定のタスクでファインチューニングを行うことで、多くのNLPタスクやベンチマークで大幅な性能向上が実証されている。この手法は通常アーキテクチャ自体はタスク非依存であるものの、数千から数万件のサンプルからなるタスク固有のファインチューニング用データセットを依然として必要とする。対照的に、人間は通常わずか数個の例や単純な指示から新しい言語タスクを実行できるが、これは現在のNLPシステムが依然として大いに苦戦している点である。本研究では、言語モデルを大規模化することでタスク非依存のfew-shot性能が大幅に向上し、場合によっては従来の最先端のファインチューニング手法に匹敵する水準に達することを示す。具体的には、従来のどの非スパース言語モデルよりも10倍大きい1750億パラメータの自己回帰言語モデルであるGPT-3を訓練し、その性能をfew-shot設定で評価した。すべてのタスクにおいて、GPT-3は勾配更新やファインチューニングを一切行わずに適用され、タスクとfew-shotのデモンストレーションはモデルとのテキスト対話のみで指定される。GPT-3は、翻訳、質問応答、穴埋めタスクをはじめ、アナグラムの復元、未知語の文脈内での使用、3桁の算術計算など、その場での推論やドメイン適応を要する複数のタスクを含む多数のNLPデータセットで高い性能を達成する。同時に、GPT-3のfew-shot学習が依然として苦戦するいくつかのデータセットや、大規模なWebコーパスでの訓練に起因する手法上の課題を抱えるデータセットも特定した。最後に、GPT-3が人間の評価者にとって人間が書いた記事と区別することが困難なニュース記事のサンプルを生成できることを確認した。我々はこの発見およびGPT-3全般が社会に与える広範な影響について議論する。
英語の原文概要
Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task. While typically task-agnostic in architecture, this method still requires task-specific fine-tuning datasets of thousands or tens of thousands of examples. By contrast, humans can generally perform a new language task from only a few examples or from simple instructions - something which current NLP systems still largely struggle to do. Here we show that scaling up language models greatly improves task-agnostic, few-shot performance, sometimes even reaching competitiveness with prior state-of-the-art fine-tuning approaches. Specifically, we train GPT-3, an autoregressive language model with 175 billion parameters, 10x more than any previous non-sparse language model, and test its performance in the few-shot setting. For all tasks, GPT-3 is applied without any gradient updates or fine-tuning, with tasks and few-shot demonstrations specified purely via text interaction with the model. GPT-3 achieves strong performance on many NLP datasets, including translation, question-answering, and cloze tasks, as well as several tasks that require on-the-fly reasoning or domain adaptation, such as unscrambling words, using a novel word in a sentence, or performing 3-digit arithmetic. At the same time, we also identify some datasets where GPT-3's few-shot learning still struggles, as well as some datasets where GPT-3 faces methodological issues related to training on large web corpora. Finally, we find that GPT-3 can generate samples of news articles which human evaluators have difficulty distinguishing from articles written by humans. We discuss broader societal impacts of this finding and of GPT-3 in general.
論文解説
課題と動機
標準的な事前学習+ファインチューニングのパイプラインでは、大規模なタスク固有のラベル付きデータセット(通常は数千〜数十万の事例)が必要となる。この要件は汎用的な適用性を制限し、見せかけの相関(spurious correlations)に対する脆弱性を高め、指示や最小限の例示だけでタスクに適応する人間の学習様式とも乖離している。より小規模なモデルを用いた従来のインコンテキスト学習の試みは、ファインチューニングに大きく水をあけられていた。
主要なアイデア
- In-Context Meta-Learning: モデルは事前学習中にパターン認識スキルを獲得し、勾配更新を伴わずにテスト時の順伝播における活性化空間内でタスク適応を実行する。
- 条件付けのスペクトラム: タスクは、zero-shot(指示のみ)、one-shot(指示+1つの例示)、few-shot(個の例示、通常は2048トークンのウィンドウ内に10〜100個)にわたって検証される。
- 予測可能なスケーリング: 検証損失の経験的なべき乗則スケーリング(power-law scaling)が、8つのモデルサイズ(125Mから175Bパラメータ)全体で下流タスク性能の継続的な向上へと直結する。
手法
GPT-3はGPT-2に準じた自己回帰Transformerアーキテクチャを採用し、密なアテンションと局所的なバンド状スパースアテンションのパターンを交互に配置している。モデルは実効コンテキスト長 、3000億トークンで事前学習される。
主な評価の定式化は以下の通り:
- トークンごとの補完尤度(Per-Token Completion Likelihood): 多肢選択式データセットでは、正規化されたトークン確率を比較することで候補となる補完を評価する。
- 無条件正規化(Unconditional Normalization): ARC、OpenBookQA、RACEなどのベンチマークでは、モデルの尤度は無条件のベースラインに対して正規化される:
ここで は
"Answer: "や"A: "などの汎用的なプロンプトである。 - 生成デコーディング: 自由記述の補完タスクでは、ビーム幅4、長さペナルティ のビームサーチを使用する。
結果
- Closed-Book QA: GPT-3 175BはTriviaQAのfew-shotで71.2%に達し(ファインチューニングされたオープン・ドメインRAGの68.0%を上回る)、WebQuestionsで41.5%、Natural Questionsで29.9%を記録した。
- 言語モデリング&穴埋めタスク: PTBにおいてパープレキシティ20.5を達成(zero-shot)。LAMBADAでは、タスクを穴埋め問題として定式化することでfew-shot精度86.4%(従来のSOTAを18%上回る)を達成。
- 機械翻訳: 英語への翻訳において39.2 BLEU(仏英)、40.6 BLEU(独英)、39.5 BLEU(ルーマニア英)を達成し、従来の教師なしNMTベースラインを上回った。
- 推論と合成: few-shot設定において2桁の加算を100%、3桁の加算を80.4%の精度で解いた。生成された合成ニュース記事は、人間の評価者が実際の記事と区別できた正解率がわずか52%(ほぼ偶然と同等)であった。
限界と未解決の課題
- 苦手なタスク: シーケンス間の比較を要するタスク、特にNLI(例: ANLI、RTE)やWord-in-Context(WiCは49.4%でほぼランダムと同等)で苦戦している。
- 構造上の制約: 純粋な自己回帰的訓練により双方向の条件付けができず、後方への参照やシーケンス全体の再読を必要とするタスクに悪影響を与える。
- データ汚染(Data Contamination): 大規模なWebスクレイピングによって訓練データとテストデータの重複が生じるため、事後的な広範な-gramフィルタリング監査(例: WinogradやPIQA)が必要となった。
- 社会的影響: インターネット規模の訓練によって深刻なジェンダー、人種、宗教的バイアスが取り込まれており、生成された出力が悪意あるテキスト生成に悪用される可能性がある。
重要用語
- in-context learning(インコンテキスト学習)
- 事前学習済みモデルが、勾配更新を行わずに自然言語の指示やプロンプトの例示のみから、テスト時にタスクを推論して実行する内部ループ適応プロセス。
- few-shot
- タスクの説明に加えて、コンテキストウィンドウ内に収まるだけの多数の例示(通常10〜100件)をモデルに与える評価設定。
- one-shot
- 自然言語によるタスク説明とペアで、単一のタスク例示のみを与える評価条件。
- zero-shot
- タスクの例示を一切与えず、タスクを説明する自然言語の指示のみをモデルに与える評価設定。
- closed-book question answering(クローズドブック質問応答)
- テスト時に外部文書や検索システムにアクセスせず、モデルのパラメータ内に蓄積された知識のみに依存して事実に関する質問に回答するタスク。
- data contamination(データ汚染)
- 下流の評価ベンチマーク、テストセット、または開発セットが、インターネット規模の広範な事前学習コーパスに誤って混入してしまう現象。
- sparse attention(スパースアテンション)
- 長いコンテキスト全体での計算効率を両立させるため、密なアテンション層と局所的なバンド状のスパースアテンションパターンを交互に適用するアーキテクチャの改変。
- unconditional normalization(無条件正規化)
- 多肢選択タスクにおける長さや頻度のバイアスを排除するため、条件付きの補完尤度を汎用プロンプトのみが与えられた場合の補完確率で除算する手法。
よくある質問
フルサイズのGPT-3モデルのパラメータ数と、その訓練方法はどのようなものですか?
GPT-3は96層、96アテンションヘッド、隠れ層次元12,288からなる1750億(175B)の学習可能なパラメータを持ちます。フィルタリングされたCommon Crawl、WebText2、Books1、Books2、およびWikipediaからなる3000億トークンを使い、MicrosoftのV100 GPUクラスタ上でAdamを用いて訓練されました。
GPT-3は下流のベンチマークに対してファインチューニングを行っていますか?
いいえ、論文中のすべての主要な結果は勾配更新やファインチューニングを行わずに評価されており、zero-shot、one-shot、またはfew-shotのコンテキストプロンプトのみに依存しています。
人間はGPT-3 175Bによって生成されたニュース記事をどの程度容易に見分けることができますか?
人間の評価者が、GPT-3によって生成された短い記事(約200語)や長い記事(約500語)を人間が書いた記事と区別できた精度は約52%にとどまり、ランダムな推測(50%)をわずかに上回る程度でした。
GPT-3が最も苦手とするタスクは何ですか?
GPT-3は自然言語推論タスク(例: ANLIやRTE)、Word-in-Context(WiC、スコア49.4%)のような双方向の比較を伴うタスク、ならびにQuACやRACEなどの特定の読解タスクで性能が低下します。
このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。