GPT-2:未来への道標としての大規模言語モデル

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

 

【開発の背景】

まずは開発の背景について見ていきましょう。これまでの機械学習システムは、大規模なデータセット、容量の大きなモデル、教師あり学習を組み合わせることによって、訓練されたタスクを期待通りに遂行することができていました。この過程で生成されるモデルの特徴は、様々な場面で活用できるというよりは、ひとつのタスクに特化しているという点でした。しかしながら、このシステムには欠点がありました。それは、データの分布やタスクの仕様のわずかな変化に敏感であり、タスクを遂行できなくなってしまうということです。さらに、このようなひとつのタスクに特化したモデルを作るには、モデルのタスクに合った膨大な訓練データを人間の手で作る必要があるため、非常に手間とコストがかかるというデメリットもありました。そこでひとつのモデルで様々なタスクを遂行できるような一般的なシステムを構築することを考えました。

近年、言語モデルの研究が盛んに行われ、タスクに固有のアーキテクチャを用意する必要はなくなりました。さらに、最も優れた言語タスクを遂行できるモデルには、事前学習と教師ありファインチューニングを組み合わせた、半教師あり学習という手法が用いられています。しかし、このシステムでも、最終的にはタスクに合わせたファインチューニングのために教師ありの学習が必要になってしまいます。そこで、zero-shot settingと呼ばれる、モデルのアーキテクチャやパラメータを一切修正しない設定をしました。この設定をした大規模言語モデルが今回の記事の主役である、「GPT-2」なのです。

 

【モデルの学習方法】

  • 学習データ

先行研究のモデルでは、ニュース記事やWikipedia、小説本などの単一領域のテキストで学習していましたが、GPT-2の学習ではできるだけ大規模で多様なデータセットを用意しました。そこで、人間から見て、内容がある程度保証されているデータを集めました。2017年12月以前のデータのみを含んでおり、重複の削除などを行った合計40GBの800万以上の文書からなります。また、他のWebと重複しないように、Wikipediaからの情報は全て削除されています。

 

  • 入力の表現方法

GPT-2のデータの読み込みでは、Byte Pair Encoding (BPE)という手法が用いられています。これは、文字レベルと単語レベルの言語モデリングの中間のようなもので、頻度の高い記号に関しては単語として入力し、頻度の低い記号については文字レベルの入力を補間するという手法です。こうすることで、文字レベルで理解するよりも単語として理解できるため、より効率的な学習が可能になります。

 

  • モデル

GPT-2に使用されているアーキテクチャはTransformerで、GPT-1のアーキテクチャとは大きく変わっていませんが、いくつかの修正は加えられています。

 

【モデルの実験とその結果】

GPT-2の研究開発にあたり、パラメータ数に合わせて4つの異なるモデルが用意されました。最も小さいモデルのパラメータ数は1.17億であり、実質的にはGPT-1と同じです。最も大きいモデルのパラメータ数は15.42億で、GPT-1の10倍以上になっています。これがGPT-2と呼ばれるモデルです。この研究では、これらの4つのサイズのモデルを用いて様々なタスクにおける能力を調査しました。6つのタスクに分類して紹介します。

その前に、これから何度か登場する「Perplexity(ppl)」という単語の解説をします。

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

 

1.Language Modeling

まずは言語モデルとしての性能を調べました。次の表はその結果をまとめたものになります。

表のタスクのうちの主要なものについて簡単に解説をしていきます。

◆LAMBADA

LAMBADAというデータセットでは、テキスト内の遠く離れた単語同士の関係性をテストします。タスクの内容としては、長い文章の最後に来る単語として適切なものを予測し、選択するというもので、人間でも正解するのに50トークン程の文脈が必要な文章が与えられます。単語の予測は言語モデルの最も基本的な能力であり、その中でも特に文脈の理解が必要なタスクとなっています。Perplexity (PPL)は最先端の記録から大幅に改善し、正確性 (Accuracy, ACC)も最大で4ポイント上昇しました。

 

◆Children’s Book Test (CBT)

このテストは、言語モデルが異なる品詞(固有名詞や普通名詞、動詞、前置詞など)を認識する能力を評価するために作られました。20の連続した文章のあとにその続きの一文が与えられるのですが、一つだけ単語が欠けています。その隠された単語を10個の単語の選択肢の中から選ぶというタスクです。

GPT-3の結果については、普通名詞(Common Noun)を当てるテスト(CBT-CN)では99.3%、固有名詞(Named Entity)を当てるテスト(CBT-NE)では89.1%の精度で、ともに最先端の記録を更新しました。

 

2.Winograd Schema Challenge

Winograd Schema Challengeでは、人間にとっては意味が明らかでも、文法的には必ずしもそうでないような代名詞の意味を判断するタスクです。このテストは常識的な推論の能力を測る目的で行われました。結果としては当時の最先端の記録を7%上回って、70.7%の精度を示しました。

 

3.Reading Comprehension(読解)

次にGPT-2の読解能力をテストしました。評価のベンチマークとしては、CoQAを使用しています。CoQAは7つの異なる情報源から作成された会話文と、それに関連した質問のデータセットです。教師なし学習にしては良い結果ではあったものの、ファインチューニングモデルには及びませんでした。

 

4.Summarization(要約)

さらにGPT-2の要約の能力について評価しました。要約には、CNNとDaily Mailデータセットを使用しました。GPT-2に100トークンの要約のようなものを生成してもらい、最初に生成した三文を要約として採用しています。要約に近い文章を書けているときもあれば、具体例について詳述し過ぎている場合もありました。

 

5.Translation(翻訳)

続いて、GPT-2の翻訳能力を評価しました。翻訳のタスクでは、BLEU (BiLingual Evaluation Understudy)という算出方法が使われることが多いです。これは人間の翻訳家が翻訳した文章と機械翻訳で訳した文章の類似度を0から1で表します。わかりやすいように100倍して、パーセンテージのように表すときもあります。また、WMT14という翻訳のデータセットを使用しています。GPT-2のフランス語から英語への翻訳能力は、BLEUスコアで11.5を記録しました。GPT-2発表当時の翻訳用に最適化された最先端のモデルで33.5という結果であったことと、GPT-2の学習データ量が以前の500分の1程度であることを考慮すると、GPT-2は大規模言語モデルの潜在能力を見せてくれたと言えるでしょう。

 

6.Question Answering(質問応答)

最後に質問応答の能力を調査しました。調査方法としては、短文の質問に対して1単語で答えるという形式を採用しました。言語モデルには前もって回答方法を学習させました。質問内容例とそれに対するGPT-2の回答をいくつか紹介します。質問文の右側の語句がモデルの生成した回答で、上の2つは正解、下の2つは不正解となっています。

  • Who wrote the book the origin of species?                            Charles Darwin
  • Who came up with the theory of relativity?                           Albert Einstein
  • Who won the most MVP awards in the NBA?                         Michael Jordan
  • Who played John Connor in the original terminator?              Arnold Schwarzenegger

 

結果として、GPT-2は4.1%の問題に正解することができました。またGPT-2だけではなく、パラメータの最も小さいモデルでもテストしたところ、パラメータの小さい方は正答率が5.3倍も低くなりました。このことから、パラメータを大きくすることでこのようなタスクへの適応力は向上すると考えられます。

 

【まとめ】

この記事ではGPT-2について紹介してきました。技術レポートからは、大規模言語モデルが十分に大きい多種多様なデータセットで学習することで、様々なタスクにおいて優れたパフォーマンスを発揮することがわかりました。また、GPT-2は言語モデルのベンチマークでは8つのうち7つにおいて、最高記録を更新しました。一方で、翻訳や要約、読解などのタスクにおいては、ファインチューニングモデルの方が上回っていることもわかりました。

OpenAIはこの技術レポートから、文字通り「大規模な」言語モデルはファインチューニングをしなくても様々なタスクを高精度で実行することができるというところに目をつけ、さらに大規模なモデルを作っていくことになります

GPT-2の後継モデルである「GPT-3」や「GPT-4」について知りたい方は以下の記事も併せてご覧ください。

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

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

【参考文献】

Language Models are Unsupervised Multitask Learners