GPT-3:1750億パラメータの真価に迫る!

この記事では、OpenAIが開発したGPT-3について紹介していきます。GPT-3は2020年に発表された大規模言語モデルです。GPT-3の学習方法や能力について解説していきます。

 

【開発の背景】

これまでの大規模言語モデルの開発では、事前学習と教師ありファインチューニングを組み合わせた半教師あり学習が用いられてきました。これにより、様々な自然言語処理タスクを遂行できるようになってきました。しかし、この手法では、タスクごとにファインチューニングという微調整をする段階において、手動でラベル付けをした膨大なデータセットが必要になるという大きな欠点を抱えていました。この問題を解決すべく、OpenAIは新たな言語モデルの開発手法を研究しました。2019年にはGPT-2というゼロショットでタスクを遂行できるモデルが発表されました。しかし、従来のファインチューニングを行ったモデルと比較すると、精度はそれほど高くはありませんでした。そこで今回の研究では、大規模言語モデルの重要な要素である「学習データ量」と「パラメータ数」を大幅に向上することで、モデルの性能を向上できないかと考えたのです。こうして開発されたのが「GPT-3」です。

 

【学習方法】

  • 事前学習データ

今回の研究ではデータの量を大幅に増やしたいのですが、単にデータの量を増やすだけではモデルの品質を担保できません。そこで、データの品質を向上させるために、重複の削除などのフィルタリングを行いました。その結果、合計で570GBに相当するデータを学習しました。事前学習データの詳細は次の表の通りです。

 

 

  • モデルのアーキテクチャ

GPT-3のアーキテクチャはGPT-2とほとんど同じものを使用しています。ただし、Transformerの層ではSparse Transformerに似た局所的なAttentionパターンを使っています。これにより、モデルサイズやデータが大きくなっても、計算時間を短く抑えることができます。

GPT-2の開発のときと同様に、GPT-3でもいくつかのモデルサイズを用意し、それぞれのモデルの性能を比較しました、今回は合計で8つのモデルを用意しています。詳細は次の表をご覧ください。

 

上の表の左から2列目がモデルのパラメータ数を表しています。パラメータ数で比較すると、GPT-2は1.54Bでしたので、GPT-3 175B(いわゆるGPT-3)は約110倍大きくなっていることがわかります。パラメータ数が大きくなると、モデルはより複雑な推論などを実行できるようになります。

 

【実験結果】

実験では9つに分類されたタスクを実行していきますが、ゼロショット(Zero-shot)、ワンショット(One-shot)、フューショット(Few-shot)の設定で調べることで、タスクの解き方を教えたときと教えないときでの性能の違いを確認することができます。一般的には、ゼロショットの方がフューショットよりも性能が落ちてしまうものです。

GPT-2の記事でも解説しましたが、これから何度か登場する「Perplexity(ppl)」という単語の解説をします。

Perplexityとは、言語モデルによってテキストがどれだけ予測可能かを測定する指標です。日本語では「困惑、混乱」などという意味になります。Perplexityが低いほど、言語モデルはあまり混乱せずに予測できたことになるため、より性能が高いと判断されます。

では、以上を踏まえて、モデルの様々なタスクにおける能力を見ていきましょう。

 

1.言語モデリング、クローズテスト、穴埋め

まず、PTB(Penn Treebank)と呼ばれるデータセットを使用しました。これには、単語に対して適切な品詞タグを付与するタスクや句構造解析などが含まれています。GPT-3はPTBのpplの数値において最高記録を更新しました。

これとは別に、3つのデータセット(LAMBADA, HellaSwag, Story Cloze)を使用しました。その結果については次の図をご覧ください。

上の表で紹介した3つのデータセットの内容と、GPT-3での結果を簡単に解説します。

  • LAMBADA

LAMBADAはGPT-2の研究でも使用したデータセットになります。テキスト内で遠く離れた単語同士の関係性を理解、予測する能力を評価することができます。

GPT-3のゼロショットでも、正確性(acc)とPerplexity(ppl)の両方において、最先端の記録(SOTA)よりも上回っていることが確認できます。

  • HellaSwag

このデータセットは、物語あるいは一連の指示の結末としてふさわしいものを選ぶというタスクを含んでおり、最高記録を更新することはできませんでした。参考ですが、人間の回答者であれば平均して95.6%の正答率を達成できるような簡単なテストになっています。

  • Story Cloze

このデータセットは、4文からなる文脈とそれに続く結末を2つの選択肢の中から選ぶというタスクです。ゼロショットで83.2%、フューショット(70回)で87.7%の精度でしたが、いずれもBERTを元にした言語モデルの記録には及びませんでした。

 

2.質問応答

次は幅広い知識に関する質問への回答機能を評価しました。従来の方法では、モデルが情報検索システムを利用して、関連する文章を検索し、それに基づいて回答を作成していました。しかし、外部の知識にアクセスしなくても、事前学習済みモデルのモデルサイズを大きくすることで、情報検索システムを利用した場合に匹敵するような能力を持つことが分かったのです。そこで、今回もそのような手法(Closed Bookと呼ぶ)を用いて、質問に答える能力を評価しました。ここでは、3つの異なるデータセットを使用しています。

  1. Natural Questions
  2. WebQuestions
  3. TriviaQA

特に、TriviaQAのゼロショット、ワンショット、フューショットと、モデルサイズを変えたときの精度の変化が下図になります。図の上部にある点線は、質問応答用にファインチューニングして、情報検索システムを使用したモデルの最高記録になりますが、GPT-3のフューショットの設定で、最高記録を更新したことがわかります。残りの2つのデータセットでは最高記録の更新とはならなかったものの、最高記録に匹敵する性能を示しました。

 

3.翻訳

続いて、翻訳タスクの能力の評価を見ていきます。GPT-3の翻訳タスクは異なる2言語の6つのペアで実行しました。自然言語で翻訳タスクの説明を受けたゼロショットの設定では、精度は著しく低くなりました。

複数のテキスト用の翻訳能力を評価するMultiBLEUというデータセットを用いて調べた結果が下の図になります。英語とフランス語、ドイツ語、ルーマニア語のペアを調べていますが、英語から他言語への翻訳よりも、他言語から英語への翻訳の方がBLEUの数値が高いことがわかります。また、モデルの容量の増加に伴って、翻訳の能力も向上したことが確認できます。

 

4.代名詞の意味理解

次に「Winograd-Style Tasks」と呼ばれる、代名詞の意味を判断するタスクを実行しました。このデータセットでは、人間にとっては意味的に明らかであっても、文法的には必ずしもそうでないような代名詞の意味を判断する必要があります。研究当時のファインチューニングしたモデルでは、人間並みの精度を持つモデルも出てきたため、さらに難易度の高い「WinoGrande」というデータセットも作られたのですが、こちらに関しては依然として人間の能力には及びませんでした。

上の図はショット数による精度の比較になりますが、どちらのデータセットでもファインチューニングモデルの最高記録を更新することはできませんでした。

 

 

5.常識的な推論

ここでは、これまでの読解能力や広範な知識に対する質問応答などとは全く別のタスクである、物理的あるいは科学的な論理的思考能力テストについて扱います。そこで、3つのデータセットを利用しました。結果については論文から引用した表を参照してください。

  • PhysicalQA (PIQA)

自然界における物事の物理的な振る舞いに関する質問を通して、根拠に基づく自然界の理解する能力を調査するデータセットです。「物理的な」とは言っても、すべてが学術的な質問というわけではありません。例えば、次のようなものがあります。(ただし、データは全て英語で書かれています。)

「金属製の脚を椅子に永久的に固定するには」

選択肢:

「金属を溶接してしっかりと固定する。」

「釘で打ち付けてしっかりと固定する。」

この場合、より強く固定できるのは前者であるとわかります。

 

  • AI2 Reasoning Challenge (ARC)

ARCは、アメリカで言うと3年生から9年生までの科学の試験に関するデータセットで、複数選択肢の中から答えるものになっています。難易度によって「Easy」と「Challenge」があり、「Challenge」の方は単純な統計的検索や情報検索では正しく回答するのが難しい内容になっています。

 

  • OpenBookQA (OBQA)

OpenBookQAは初等的なレベルの科学に関する複数選択肢で回答する問題となっています。

 

上の表はGPT-3の結果と最先端の結果を比較したものです。表を見てわかる通り、PIQAのみ最先端の記録を更新しました。

 

6.読解能力

次に、読解能力の判定するために5つのデータセットを用意しました。5つのデータセットについて簡単に紹介します。

  • Conversation Question Answering (CoQA)

CoQAでは、モデルが会話文を理解し、さらに一連の関連する質問に答える能力を評価しています。

CoQAの特徴としては、回答の形式を自由にしていることや、データを7つの多様な情報源から収集していることが挙げられます。データを多様な情報源から集めることで、より一般的なデータセットで立証されていることになり、モデルの評価に説得力が持てるようになります。

 

  • Question Answering in Context (QuAC)

QuACは、情報を求める対話をモデル化し、対話を理解し、そして対話に参加するためのデータセットです。データセットには、あるテーマについて全体を知っている「先生」とテーマのことをよく知らない「生徒」に分かれ、生徒が次々に質問をしていくという対話データが含まれています。「生徒」の質問はその文脈内でないと意味が通じなかったり、そもそも答えられなかったりするため、とても挑戦的な内容となっています。

 

  • Discrete Reasoning Over Paragraphs (DROP)

DROPは読解能力を測るデータセットではありますが、文章の内容を参照して、それに関する質問に答えるという従来の質問形式とは異なります。具体的には、文章から質問の回答内容を探すというだけではなく、簡単な足し算や分類などの推論が必要な質問となっています。

 

  • Stanford Question Answering Dataset 2.0 (SQuAD 2.0)

SQuADは文章を読み、それに関連する質問に答えるというタスクを含むデータセットです。SQuAD 2.0は以前のデータセットであるSQuAD 1.1に加えて、答えのない質問を含むため難易度が高くなったものだと言えます。これは生成AIの課題のひとつである幻覚(ハルシネーション)に対して、きちんと回避する能力を備えているか、というところまで調査をすることができます。

 

  • ReAding Comprehension dataset from Examinations (RACE)

RACEは12~18歳の中国の学生を対象とした中学・高校レベルの英語の試験を元にして作られたデータセットで、4択問題となっています。中学レベルはRACE-m、高校レベルはPACE-hとなっています。このデータセットの特徴は、一般のクラウドワーカーではなく専門家によって、人間の英語能力を測定できるような高品質な問題が作られているということです。

 

以上の5つのデータセットに対するモデルの性能は、以下の表の通りです。

CoQAでは当時の最先端の記録まで5ポイントと、非常に惜しい結果となりました。一方で、残りの4つのデータセットでは、従来の読解能力試験よりも難易度が高かったためか、最先端の記録から大きく差をつけられる形となりました。

 

7.SuperGLUE

さらに、自然言語推論でよく知られている「BERT」や「RoBERTa」などと能力を比較できるように、SuperGLUEという自然言語理解のベンチマークも調べました。この記事では詳しく述べませんが、8つのタスクからなるデータセットになっています。結果については以下の表を参照してください。

表の下にも記載してあるのですが、BERTはファインチューニングされている(つまり、タスクに合わせたモデルを使っているということ)のですが、GPT-3では問題の解き方を各タスクについて、32回だけ教えたもの(これをFew-shotと呼びます)を使っています。結果的には、最先端の記録には及ばないですが、タスクによってはBERTに上回っているところもあります。

また、この技術レポートのテーマのひとつである「モデルのサイズとタスク処理能力の関係」についても調査されており、GPT-3のモデルサイズの拡大に伴ってSuperGLUEのスコアが上昇すること、またshot数の増加に伴ってスコアの上昇が確認されました。実際の結果については以下の表をご覧ください。

 

8.自然言語推論

最後に自然言語推論について紹介します。自然言語推論では、具体的には2つの文章の関係性を判断するものとなっています。回答の方法としては2種類あります。ひとつは、「前の文章に続くものである」または「前の文章と矛盾している」と判断するもので、もうひとつはそれら2つの選択肢に加えて、「中立的である」という回答を加えたものになります。SuperGLUEにも自然言語推論のタスクは一部含まれているため、ここでは重複を避けるため、より難易度の高い「Adversarial Natural Language Inference (ANLI)」というデータセットを利用しています。このデータセットでは3択であるため、ランダムに答えを選択すると約33%の正答率が期待できるため、その数値を大きく上回らなければ、能力が高いとは言えないでしょう。そして実際の結果がこちらになります。

GPT-3(175Bのパラメータを持つモデル)は、shot数を重ねることで40.2%まで正答率を上げることができました。しかし依然として、正答率は半分を下回っているため推測能力が高いとは言えなさそうです。

 

その他にも、GPT-3の演算能力やニュース記事作成の能力などについても調査したものや、社会的な影響などに関する記述がありますので、ご興味のある方は論文の方に目を通してみてはいかがでしょうか。

 

【まとめ】

この記事では1750億のパラメータからなる大規模言語モデルGPT-3を紹介してきましたが、様々な自然言語処理タスクにおいて、優良な性能を示しました。Zero-shot, One-shot, Few-shot での設定を試しましたが、いくつかのベンチマークでは最高記録を更新しました。また、GPT-3はファインチューニングすることなく、様々なタスクを遂行できるモデルであることが確認できました。今回の研究結果からは、こうした非常に大規模な言語モデルが、より一般的で順応性のある言語システムの発展に必要不可欠な存在であることがわかります。

GPT-3の後継のモデルとしてGPT-3.5やGPT-4も登場していますので、そちらの記事も併せてご覧ください。

 

GPT-4:マルチモーダル対応と高度な安全性

 

【参考文献・画像出典】

Language Models are Few-Shot Learners