GPT-1:OpenAIの言語モデル、生成AIへの第一歩

【はじめに】

みなさんはChatGPTを利用したことがあるでしょうか?ChatGPTは、私たちの質問に対して、まるで人間が答えているかのような回答をくれます。この技術の正体が大規模言語モデル(Large Language Model)というものなのです。ChatGPTを開発したOpenAIは、2018年頃からこの大規模言語モデル(LLM)の開発に非常に注力してきました。その中でも、最初に開発された言語モデルを紹介していきます。

 

【開発の背景】

大規模言語モデルの開発は、自然言語処理技術の発展のために進められてきました。ほとんどのディープラーニング技術では、ラベル付けされたデータを用いた学習(教師あり学習)という手法をとっています。この難点は、学習に必要なラベル付けされたデータを大量に集める必要があることです。しかしながら、実際にはこうしたラベル付けされたデータというのはそれほど多くはないのです。そのため、教師あり学習への依存を軽減することが非常に重要なカギを握っていたのです。そこで、教師あり学習から脱却するための一歩として、教師なし事前学習と教師ありファインチューニングを組み合わせた「半教師あり学習」を用いました。この研究論文では言語モデルの名前を「Finetuned Transformer LM」と書いていますが、この次に発表された言語モデルがGPT-2と呼ばれているので、初期モデルはGPT-1と呼ぶことにします。世間的には単にGPTなどと呼ばれることもありますが、OpenAIが開発したLLMのシリーズ全体を表す意味でのGPTと混同しないようにGPT-1としました。

 

【学習方法】

◎教師なし事前学習

言語モデルの学習にはBooksCorpusというデータセットを用いました。これには、未出版の独自の7000冊の書籍データが含まれており、ジャンルも冒険、ファンタジー、ロマンスなどとバラエティに富んでいます。事前学習の段階での重要なポイントは、連続した長いテキストデータが含まれているため、言語モデルが長い情報も学習できるようになっているという点です。

◎教師ありファインチューニング

言語モデルの事前学習が終了したら、特定のタスクに合わせた微調整(これをファインチューニングと呼びます)を行っていきます。これにより、翻訳や質問に答えられるようになります。それでは、4つのタスクの紹介とその性能の評価を見ていきましょう。

 

1.自然言語推論

はじめに、GPT-1の自然言語推論の能力を測りました。自然言語推論とは、2つの文章の関係を、「含意」「矛盾」「中立」の3つの中から判断するタスクを含む、文章中での含意関係の認識です。そこで、5つのデータセットを使用しました。

①SNLI:前提文と仮説文の2つの文章からなるペアと、それらの「含意」「矛盾」「中立」のいずれかのラベルからなるデータセットです。Stanford Natural Language Inference Corpusの頭文字を取って、SNLIと呼ばれています。

②MNLI:手紙や電話、政治報告書などの様々なジャンルの文章を含むデータセットです。

Multi-Genre Natural Language Inferenceの頭文字を取って、MNLIと呼ばれています。

③QNLI:質問文といくつかの文章からなる段落が与えられ、その段落内に質問の答えとなる一文が含まれているか否かを判断するタスクです。Question-answering Natural Language Infereneceの頭文字を取ってQNLIと呼ばれています。

④SciTail:複数選択肢の科学試験とWebの文章から作成されたデータセットです。

⑤RTE:2つの部分に分けられた文章が与えられ、一方の文章がもう一方の文章の意味を含むか否かを判断するタスクです。Recognizing Textual Entailmentの頭文字を取って、RTEと呼ばれています。

以上の5つのデータセットに対して、GPT-1は①~④では当時の最高記録を更新しました。このことから、当時としてはTransformerを使った最先端の言語モデルであったと言えそうです。

2.質問応答

次に、質問に答える能力を測るために2つのデータセットを利用しました。

①RACE:英語の文の一節と、それに関する問題からなるデータセットです。中学校レベルをMidium schoolの「m」、高校レベルをHigh schoolの「h」として、2つのレベルの問題が用意されています。

ReAding Comprehension dataset from ExaminationsからRACEと呼ばれています。

②Story Cloze Test:いくつかの文章からなる物語の結末の文章として適切なものを2つの選択肢の中から選ぶというタスクです。

①②の両方のデータセットにおいて、当時の最高記録を更新したことから、質問に答える能力も優れていたことがわかります。

3.意味的類似性

さらにGPT-1の意味的類似性を測りました。意味的類似性とは言い換えれば、「意訳を検出すること」です。全く同じ言い回しではなくても、同じような意味であるか否かを判断するタスクです。このタスクの難所としては、概念の言い換えを認識すること、否定を理解すること、構文の曖昧さの処理にあります。この研究では3つのデータセットを使ったことが報告されています。

①MRPC:Webサイトから抽出した5800ペアの文章で、人間の手によって言い換え、意味的同等関係の注釈がつけられたデータセットです。Microsoft Research Paraphrase Corpusの頭文字を取ってMRPCと呼ばれています。

②QQP:40万以上の質問文のペアからなり、2つの文章が言い換えであるかの二進数のデータがラベル付けされているデータセットです。言い換えであるときは「1」、そうでないときは「0」が与えられます。

Quora Question Pairsの頭文字を取って、QQPと呼ばれています。

③STS-B:ニュースの見出し、動画の説明などの様々な文章のペアが含まれていて、人間が意味の類似性を1~5までの浮動小数点数で評価したデータを含みます。言語モデルは2つの文章の類似性を評価するタスクを遂行します。また、Semantic Textual Similarity benchmarkの頭文字を取ってSTS-Bと呼ばれています。

GPT-1はQQPとSTS-Bのタスクにおいて最高記録を更新したことが報告されています。

4.文章の分類

最後にGPT-1の文章分類に関するタスクを実行し、その能力を測りました。研究では2つのデータセットを使用しました。

①CoLA:23の言語学の出版物から抽出した10657の文で構成されたデータセットで、文法的受容性(文法的な正しさ)を専門家が判断したデータを含みます。Corpus of Linguistic Acceptabilityの頭文字を取ってCoLAと呼ばれています。言語モデルが文法的受容性を分類し、それらが専門家の分類とどれほど近いかを計算することで評価します。

②SST-2:映画のレビューから抽出された文章が肯定的か否定的かを判断し、分類するというタスクを遂行します。人間によってラベル付けされた分類と言語モデルの分類がどれほど近いかを計算することで評価しています。Stanford Sentiment Treebankの頭文字を取ってSSTと呼ばれており、肯定的か否定的の2つの分類によるデータセットはSST-2と呼ばれます。また肯定的、やや肯定的、中立的、やや否定的、否定的の5段階で分類したデータセットはSST-5と呼ばれています。

GPT-1は、CoLAでは最高記録を更新し、SST-2では最高記録に近い91.3%という精度を記録しました。

【まとめ】

この記事ではOpenAIが最初に開発したTransformerをベースとした言語モデル「GPT-1」を紹介しました。GPT-1では半教師あり学習により、単一のタスクに依存しない言語モデルを実現しました。GPT-1は「自然言語推論」「質問応答」「意味的類似性」などのタスクに対応し、さらに当時の最高記録をいくつか更新しました。

ChatGPTの基礎となるGPT-1を紹介しましたが、その後もOpenAIの大規模言語モデル(LLM)は大きく進化していきます。

 

【参考文献】

Improving Language Understanding by Generative Pre-Training