見出し画像

GPT-2を読む①要約と結論

前回までに、GPT-1を読み終えました。今回から、OpenAIが2019年に発表した論文「Language Models are Unsupervised Multitask Learners」を読んでいきます。これは、GPTのバージョン2の論文です。

バージョン1の翌年に発表されたこの論文の著者の中には、以前同様にIlya Sutskeverの名があります。彼は2012年にImageNetのコンペで優勝しディープラーニングを一躍有名にしたAlexNet の論文の著者の一人でもあります。最近、OpenAIを去りましたが、ChatGPTに至るまでのGPTの発展に大きく貢献した人物と考えられています。

この論文のタイトルを日本語訳してみると「言語モデルは教師なしマルチタスク学習者」となっています。「教師なし学習」はGPT-1の論文で頻繁に登場した概念ですが、「マルチタスク」と付いているのはどういうことでしょうか。

さっそく要約(Abstract)を読んで、この論文の主張を理解しましょう。また、要約の後に結論(Conclusion)にも目を通して著者たちの自信の程を確認します。

いつものように、論文の読み進め方は、こちらの記事に従っています。また、今回は、論文を読む過程で生じた気になる部分や疑問などをPDFにマークしてコメントする例も提示します。興味のある方には参考になるかと思います。

なお、トランスフォーマーに関する知識を必要とするので、こちらも参考にしてください。


要約で主張を理解する

ファインチューニングなしの学習能力

要約はこう始まります。

質問応答、機械翻訳、文章理解、内容要約などの自然言語処理のタスクは、通常、タスクに固有のデータセットを使った教師あり学習でアプローチされます。

Natural language processing tasks, such as question answering, machine translation, reading comprehension, and summarization, are typically approached with supervised learning on taskspecific datasets.

https://openai.com/index/better-language-models/

タスク固有のデータセットによる教師あり学習に関しては、GPT-1でもファインチューニングで登場しました。ここでは特筆するべきことはありません。なんだかあっさりとした始まり方です。

読み続けましょう。

私たちが示すのは、WebTextと呼ばれる数百万のウェブページからなる新しいデータセットでトレーニングされたとき、言語モデルがこれらのタスクを教師なしでも学び始めるということです。

We demonstrate that language models begin to learn these tasks without any explicit supervision when trained on a new dataset of millions of webpages called WebText.

https://openai.com/index/better-language-models/

WebTextというデータセットは、GPT-1の論文では登場しませんでした。要約の最初に登場しているので重要なデータセットなのでしょう。数百万のウェッブページからなるデータセットは相当莫大なテキストの量だと推測されます。このWebTextを使うと教師なし(ラベル付なし)でタスクを学習できると主張しています。

しかし、タスクを学習するにはラベルが必要ではないのでしょうか。

最初の一文で、「通常、タスクに固有のデータセットを使った教師あり学習で」と言っていたのと対比させていることからも、何か目新しい(通常ではない)ことを発見したのだと言っているようです。

論文のタイトルが「Language Models are Unsupervised Multitask Learners」(言語モデルは教師なしマルチタスク学習者)となっているのと関係がありそうです。「教師なし」だけど、複数のタスク(マルチタスク)を学習できる、と。

読み続けましょう。

文書+質問を条件とした与えた場合、言語モデルによって生成された回答はCoQAデータセットでF1スコアが55に達しました。127,000以上の訓練例を使用せずに、4つのベースライン・システムのうち3つのパフォーマンスに匹敵あるいは超えています。

When conditioned on a document plus questions, the answers generated by the language model reach 55 F1 on the CoQA dataset - matching or exceeding the performance of 3 out of 4 baseline systems without using the 127,000+ training examples.

https://openai.com/index/better-language-models/

「文章+質問を条件として与えた」というのは、GPT-1で質問応答などで入力変換を行なっていたのを思い起こします。入力変換を行うのは、言語モデルを大幅に変更することなく、固有のタスクに対応するためでした。

ここまでの情報から推測すると、WebTextという巨大なラベルなしデータセットで事前学習した後に、ファインチューニング(教師あり学習)なしに、入力変換だけで固有のタスクを使って評価したと解釈できます。

CoQA(Conversational Question Answering)データセットは、質問応答のためのデータセットです。このデータセットは、会話形式での質問と回答のペアを含んでいます。自然な対話の中で文脈を理解し、適切な回答を生成できるモデルを評価することを目的としています。

CoQAでの実験結果として「F1スコアが55に達しました」ということですが、これがどのくらい凄いのかは、さらに詳細を確認しないと実感は湧きません。ただし、比較対象である4つのベースライン・システム(他のモデル)のうち3つのパフォーマンス以上の性能を出したとのことなので、それなりの成績なのだろうとは想像はつきます。

また、「127,000以上の訓練例を使用せずに」とあるので、タスク固有のラベル付きデータセットなしで成果を出したと主張しているわけです。

要するに、「ファインチューニングなしでも結構いける」と言いたいようです。しかし、ファインチューニングありでもっと良い成績が出るなら「ファインチューニングなし」を強調する必要はあるのでしょうか。「ファインチューニングなし」が言語モデルにとってどれほど重要なのでしょうか。

ゼロショットと言語モデルの容量

論文を読み続けます。

言語モデルの容量はゼロショット・タスクの転送の成功に不可欠であり、その容量を増やすことでタスク全体のパフォーマンスが対数線形的に向上します。

The capacity of the language model is essential to the success of zero-shot task transfer and increasing it improves performance in a log-linear fashion across tasks.

https://openai.com/index/better-language-models/

ゼロショット」における「ショット」とは、特定のタスクの学習で使う訓練例の数のことです。それがゼロなので、訓練例(例えば、入力とラベルのペア)を一つも使わないということです。

これが「ワンショット」(one-shot)ならば、一つだけ使う、「少数ショット」(few-shot)ならば、少数の例を使うということです。

よって、「ゼロショット・タスク」とは、モデルがタスク固有の訓練例で学習されていない状態で、その固有のタスクを行うことを意味します。つまり、タスク固有の訓練データによるファインチューニングなどを一切行わないわけです。

転送」は「転移学習」などの意味になります。これは、あるデータセットで学習したモデルを他のタスクやデータセットに適用することです。

すなわち「ゼロショット・タスクの転送」とは、モデルが特定のタスクのために訓練されていない状態でも、そのタスクを実行する(できる)ことで、新しいタスクやデータに対して、事前に学習した知識を利用して結果を出す(出せる)ことを意味します。

また、「容量」とは、言語モデルにおけるパラメータの数やモデルのサイズを指します。容量が大きいほど、モデルが持つパラメータの数が多くなり、より複雑なパターンやデータを学習できる能力が高まります。例えば、ニューラルネットワークの層の数や各層のノード数が増えることで、モデルの容量が増加します。

以上より、「言語モデルの容量はゼロショット・タスクの転送の成功に不可欠」とは、モデルがタスク固有の訓練データなしで新しいタスクをうまく実行できる能力は、モデルの容量(パラメータ数やサイズ)に依存していることを意味します。

もちろん、より大きな容量を持つモデルは、複雑なパターンやデータを学習する能力が高いことが想像できます。このこと自体には特に疑問はありません。

しかし、「それって単なる暗記では?」という疑問が浮かぶかもしれません。さらに、「WebTextにある大量な情報を記憶しているだけ?」とか「容量が大きいほど、いろいろな情報を詰め込めるから?」という疑念が生じるかもしれません。

論文の読みながら生じる疑問に対して、私の場合は、PDFにコメントにして付けたり、関連する文章をハイライトしてあとで思い出しやすくしたりしておきます。自分で伏線を設定して、あとで回収されるかどうかを確認するような感じです。

論文は、何度も繰り返し読むことが多いので、ハイライトなどを辿るだけでいろいろと思い出せると、自分の記憶(容量)の手助けにもなります。

なお、ちょっとだけネタバレをすると、この論文には、「一般化 vs 暗記」というセクションがあり関連したことが解説されています。

論文の読み方のヒント

また、「その容量を増やすことでタスク全体のパフォーマンスが対数線形的に向上します」と言っています。

これは、容量とパフォーマンスの関係が対数線のようだと比喩的に表現してます。

対数線形のイメージ

つまり、容量が増えると、パフォーマンスが対数的に増加するということです。対数は、単調に増加する関数ですが、その増加具合はだんだん鈍くなります。よって、容量を増やせばパフォーマンスが向上するが、その向上具合はだんだん鈍くなるということです。

以上より、言語モデルの容量を増やす(そしてWebTextで訓練する)ことで、ゼロショットでのタスク適応能力が対数線形的に向上すると主張しています。

15億パラメータのGPT-2

GPT-1の論文では、そのパラメータ数についてほとんど言及はありませんでした。しかし、12個のトランスフォーマー・ブロックを持ち、オリジナルのトランスフォーマーのデコーダが5個だったのと比べて2倍以上になっていたので、容量がかなり大きな印象がありました。なお、Wikipediaによると、GPT-1のパラメータ数は1億1,700万です。

しかし、GPT-2では、さらに容量が増えたことが伺えます。

私たちの最大のモデルであるGPT-2は、1.5Bパラメータを持つTransformerで、8つの言語モデリングのデータセットのうち7つでゼロショット設定において最先端の結果を達成しました。それでも、WebTextにはまだ適合不足です。

Our largest model, GPT-2, is a 1.5B parameter Transformer that achieves state of the art results on 7 out of 8 tested language modeling datasets in a zero-shot setting but still underfits WebText.

https://openai.com/index/better-language-models/

GPT-2は、15億(1.5 billion)パラメータを有します。これはGPT-1の10倍以上です。これによって、「8つの言語モデリングのデータセットのうち7つでゼロショット設定において最先端の結果を達成」したとのことです。このテストの詳細もまだわからないのですが、言語モデルにおける容量の大型化が性能を向上させるという事を強調しているのがわかります。

また、「WebTextにまだ適合不足です」という主張は、おそらく「WebTextを暗記しているだけではない」と言っているのでしょう。これも本文を読むことで明確にされることを期待します。

なお、GPT-1の論文では、「GPT-1」や「GPT」といった省略形の名前は登場しませんでした。この論文では、すでに「GPT」という呼び名が定着していたので「GPT-2」という名前が使われています。

言語モデルの大型化と展望

要約をここまで読んできて、GPT-2のメインテーマが見えてきました。それは、言語モデルにおける容量の大型化です。その効果を、ファインチューニングなしでも高い性能を出すということから示しています。そのために、巨大なデータセットであるWebTextが重要なのも伝わります。

要約の続きを読みます。

モデルからのサンプルはこれらの改善を反映しており、首尾一貫した段落を含むテキストが生成されています

Samples from the model reflect these improvements and contain coherent paragraphs of text.

https://openai.com/index/better-language-models/

「モデルからのサンプル」とは、訓練された言語モデルが生成したテキストの例を指します。そのクオリティが言語モデルの大型化によって以前よりも改善されていると主張しています。

首尾一貫しゅびいっかんした段落を含むテキスト」とは、きちんとした意味のつながりのある複数文章のことです。つまり、短い文章を生成するだけでなく、まとまりのある段落を生成することができているということです。

要約は次のように結ばれています。

これらの発見は、自然発生の例題(デモンストレーション)からタスクを学習する言語処理システムの構築への有望な道を示唆しています。

These findings suggest a promising path towards building language processing systems which learn to perform tasks from their naturally occurring demonstrations.

https://openai.com/index/better-language-models/

「自然発生の例題(デモンストレーション)」とは、ウェッブからのテキストなどを指します。つまり、言語モデルの学習のために意図して構築されたものではなく、人間の会話のように自然発生したものです。

そして、そのような自然発生の例題からの学習を通して、実は固有のタスクもこなせるようになるとしたら、これは自然に発生するデータから多様なタスクを自律的に学習し、応用できる言語処理システムの開発へとつながるでしょう。

それが有望な道だと主張しているわけです。

結論で自信の程を確認する

要約での主張はだいたいわかりました。自然発生のデータから教師なし学習しても固有のタスクをこなせるようになるために、WebTextのようなデータセットの巨大化とともに言語モデルの大規模化が必要であり有望なアプローチだということです。

では、結論でも同様の主張が繰り返されているのかを確認します。ここで一貫性があるならば、論文に対する著者たちの自信が伺えます。

結論はこう始まります。

大規模な言語モデルが十分に大規模で多様なデータセットで訓練されると、多くの分野やデータセットにわたって良好なパフォーマンスを発揮することができます。

When a large language model is trained on a sufficiently large and diverse dataset it is able to perform well across many domains and datasets.

https://openai.com/index/better-language-models/

これは要約での主張を繰り返しています。よって、自信が高いのがわかります。

GPT-2は、テストされた8つの言語モデリングデータセットのうち7つで、ゼロショット設定で最先端の性能を発揮しました。

GPT-2 zero-shots to state of the art performance on 7 out of 8 tested language modeling datasets.

https://openai.com/index/better-language-models/

これも要約での主張を繰り返しています。

モデルがゼロショット設定で実行できるタスクの多様性は、十分に多様なテキストコーパスの尤度を最大化するように訓練された高容量モデルが、明示的な教師なしで驚くほど多くのタスクを学び始めることを示唆しています。

The diversity of tasks the model is able to perform in a zero-shot setting suggests that high-capacity models trained to maximize the likelihood of a sufficiently varied text corpus begin to learn how to perform a surprising amount of tasks without the need for explicit supervision.

https://openai.com/index/better-language-models/

これまた要約での主張を繰り返しています。

あえて一つ注目すると「明示的な教師なしで驚くほど多くのタスクを学び始める」というのは、タイトルの「言語モデルは教師なしマルチタスク学習者」を示唆しています。

繰り返しになりますが、教師なし学習で固有のタスクをこなせるようになるということです。ただし、「学び始める」(begin to learn)と言っています。

要約の中でも「WebTextと呼ばれる数百万のウェブページからなる新しいデータセットでトレーニングされたとき、言語モデルがこれらのタスクを教師なしでも学び始めるということです」と同じ表現が使われています。

しかし、これ以上の詳細はここまでの情報からはわかりません。よって、その真意はよくわかりませんが、おそらく上述の教師なし学習だけでは十分でないのでしょう。これも一つの疑問としてPDFにマークしておきましょう。

これから本文をより詳細に読むことで、疑問への答え合わせや、要約での主張の裏付けができることが期待されます。

PDFへのマークとコメントの例

要約と結論を読む中でいくつか疑問が生じました。以下は、PDFへのマークとコメントの例です。

気になる点をマークしてコメント
気になる点をマークしてコメント

実際にはもっとごちゃごちゃいろんな色でマークして書き込んだりしますが、ここではこの記事に合わせて綺麗に整理したマークとコメントを表示しています。これだけでも、後で読み返すときに思い出すのに役立ちます。特に、論文の続きを読むときに以前に読んだことや疑問点を素早くおさらいするのに便利です。

だいたい初めて読む論文にはたくさんのマークや疑問があり、その後繰り返し読むことで不要になったマークを削除したり、コメントの疑問や答えを整理したりします。

それぞれ個人的な趣味があるので自分の好きな方法で記憶と理解を助けてくれるのが一番良い方法でしょう。

次回予告

次回は、GPT-2の論文全体を見渡して、どの部分にフォーカスして読むべきかを決めていきます。

お楽しみに!

いいなと思ったら応援しよう!