GPT-1を読む①要約
今回からは、OpenAIが2018年に発表した論文「Improving Language Understanding by Generative Pre-Training」を読んでいきます。これは、GPTの最初のバージョンの論文です。
著者の中に、Sam Altmanを解任劇の主要人物であるIlya Sutskeverの名もあります。ちなみに、彼は AlexNet の論文の著者の一人でもあります。
なお、トランスフォーマーに関する知識を必要とするので、こちらも参考にしてください。
また、論文の読み進め方は、こちらの記事に従っています。
では、さっそく要約から読み進めましょう。
まず要約を読む
論文「Improving Language Understanding by Generative Pre-Training」は、以下のようなセクションに分かれています。
要約(Abstract)
導入(Introduction)
関連研究(Related Work)
フレームワーク(Framework)
実験(Experiments)
分析(Analysis)
結論(Conclusion)
論文の読み方で解説したように、よくある論文の構造を持っています。
そこでまずは、要約でこの論文が主張していることを理解していきましょう。どのような問題提起をし、どのように解決したのかを把握します。
問題提起
論文は次のように始まります。
自然言語理解には、テキストの含意認識、質問応答、意味的類似性評価、文書分類など、多岐にわたる多様なタスクが含まれます。
Natural language understanding comprises a wide range of diverse tasks such as textual entailment, question answering, semantic similarity assessment, and document classification.
すでに知っていることですが、この論文は自然言語に関するものです。そして、自然言語の分野には多様なタスクが含まれています。つまり、平たくいうと「いろいろあって大変だ」ということです。一見すると、それぞれのタスクについて専用の手法が必要な印象を受けます。
なお、あんまり普段使わないような日本語訳が並んでいます。むしろ英語の方がわかりやすいかもしれません。
テキストの含意認識(text entailment)
質問応答(question answering)
意味的類似性評価(semantic similarity assessment)
文書分類(document classification)
「テキストの含意認識」とは、あるテキストが別のテキストを意味的に含んでいるかどうかを判断するタスクです。つまり、異なる表現が同じ意味であることを認識することです。二つの文の関係を「含意する(Entailment)」、「含意しない(Contradiction)」、「関係なし(Neutral)」の三つに分類します。
「質問応答」は、与えられた質問に対して適切に答えるタスクです。例えば、短い記事や物語を読ませた上で、「この物語の主人公は誰ですか?」といった質問に答えさせるタスクなどがあります。
「意味的類似性評価」は、二つの文がどれだけ意味的に似ているかを測定する自然言語処理のタスクです。類似度を数値で表します(例えば0から1のスケール)。
「文書分類」は、テキストを特定のカテゴリやクラスに分類するタスクです。簡単な例としては、メールをスパムまたは非スパムとして分類するタスクがあります。そのほかにも、製品レビューやソーシャルメディアの投稿をポジティブ、ネガティブ、ニュートラルなどの感情カテゴリに分類するタスクや、ニュース記事をスポーツ、政治、経済などのカテゴリに分類するタスクなどがあります。
論文の書き出しで、自然言語のタスクの多様性を述べているということは、おそらくこの多様性を処理できるより一般的な手法を目指しているのだろうと推測できます。そういう雰囲気というか意図を感じます。
論文は次のように続きます。
これらのタスクの学習のためのラベル付きデータは少なく(ラベルが付けられていない大規模のテキストコーパスは豊富に存在しますが)、教師あり学習(識別による訓練)が行われたモデルが適切に機能することを難しくしています。
Although large unlabeled text corpora are abundant, labeled data for learning these specific tasks is scarce, making it challenging for discriminatively trained models to perform adequately.
「テキストコーパス」は、収集されたテキストの集まりを指します。自然言語を研究するために用いられる文章や単語のデータセットのことです。インターネットなどから大量に集めることができますが、そのすべてにラベルをつけるのは大変な作業なので、ラベルがついていないものがほとんどになります。
しかし、教師あり学習などでは、ラベル付きのデータセットが必要なので問題となります。なんとかラベル無しのコーパスを利用できないでしょうか。
解決方法
次に論文は解決方法を提示します。
私たちは、多様なラベル無しテキストコーパスで言語モデルの生成的事前学習を行い、その後、各特定のタスクに対して識別的なファインチューニングを行うことで、これらのタスクにおいて大きな改善が実現できることを示しました。
We demonstrate that large gains on these tasks can be realized by generative pre-training of a language model on a diverse corpus of unlabeled text, followed by discriminative fine-tuning on each specific task.
具体的な仕組みは説明されていませんが、「ラベル無しテキストコーパス」を使って、言語モデルの「生成的事前学習」(Generative Pre-training)を行うと言っています。ちなみに、GPTのGとPはここから来ています。また、論文のタイトルの一部でもあります。よって、重要であることがわかります。
「生成的」の具体的な内容についてはまだ触れられていませんが、言語モデルなので文章を生成することに関連するのは想像できます。
いずれにせよ、ここで提示されている解決方法は、事前学習されたモデルを特定のタスクに対してファインチューニングすることで良い成果が得られるというアプローチです。
つまり、多様なタスクに対して共通のモデルを訓練します。これは特定のタスクのための学習の前に行われるので事前学習と呼ばれます。よって、各タスクに対して独立なアプローチを取るのではなく、共通の基盤となるモデルをラベルなしで訓練するわけです。
しかし、画像モデルなどのファインチューニングを思い起こすと、各タスクに対して異なる出力層を付け替えてから訓練によるネットワークのパラメータの微調整を行う必要があります。これを言語モデルのさらに多様なタスクに対して行うのは、非常に手間がかかるのではないでしょうか。
論文はこう続けます。
これまでのアプローチとは対照的に、ファインチューニングのタスクに合わせて変換した入力を利用することで、モデルアーキテクチャへの変更を最小限に抑えつつ、効果的な転移学習を実現します。
In contrast to previous approaches, we make use of task-aware input transformations during fine-tuning to achieve effective transfer while requiring minimal changes to the model architecture.
つまり、出力側ではなくモデルに対する入力をタスクに合わせて変換すると言っています。
ある特定のタスクを言語モデルが理解できるような入力文章に変換すれば、それに対して言語モデルはなんらかの文章を出力することができます。これが期待されるものであるかどうかを損失関数として判定することができれば教師あり学習が可能となります。このアプローチだと事前学習されたモデルの構造をほとんど変える必要がありません。
まとめると、この論文は、ラベル無しの事前学習で共通基盤のモデルを訓練し、その構造をほとんど変えることなく各タスクに対してラベル付きのデータセットで微調整(ファインチューニング)ができると主張しています。
主張の裏付け
さらに論文は、彼らのアプローチが有効であることを宣言しています。
私たちは、自然言語理解のための幅広いベンチマークで、私たちのアプローチの有効性を実証しました。
We demonstrate the effectiveness of our approach on a wide range of benchmarks for natural language understanding.
さらに、「幅広いベンチマーク」で実証したということについて、次のように述べています。
一般的でタスクに依存しない私たちのモデルは、各タスク専用に設計されたアーキテクチャを使用する教師あり学習モデルの性能を上回り、12のタスクのうち9つで最先端の結果を大幅に改善しました。
Our general task-agnostic model outperforms discriminatively trained models that use architectures specifically crafted for each task, significantly improving upon the state of the art in 9 out of the 12 tasks studied.
また、さまざまなタスクに関しては、次のような具体例を紹介しています。
例えば、私たちは常識推論(Stories Cloze Test)で8.9%、質問応答(RACE)で5.7%、テキストの含意認識(MultiNLI)で1.5%の絶対改善を達成しました。
For instance, we achieve absolute improvements of 8.9% on commonsense reasoning (Stories Cloze Test), 5.7% on question answering (RACE), and 1.5% on textual entailment (MultiNLI).
絶対改善とは、性能指標の絶対的な増加を意味します。これは、以前のモデルと比較して、新しいアプローチやモデルがどれだけ性能が向上したかを示す指標です。
例えば、あるタスクの性能が元々50%だった場合、それが58.9%に改善されたとき、絶対改善は8.9%となります。これは、元の性能に対する絶対的なポイント増加を表しており、相対改善(パーセンテージで計算される改善の割合)とは異なります。
以下のタスクにおいて、次の絶対改善が達成されました。
常識推論(Stories Cloze Test)で8.9%
質問応答(RACE)で5.7%
テキストの含意認識(MultiNLI)で1.5%
以上から、新しいアプローチが多様なタスクを含む幅広いベンチマークにおいて性能改善が得られたことを示唆しています。
まだ、アプローチのより具体的な中身まではわかりませんが、言語モデルに興味を持つならば、この論文を読み進める価値がありそうです。
次回予告
この調子で読み進めましょう。次は、結論から先に読んでいきます。
お楽しみに!
