GPT (大規模言語モデル)

GPTとは、OpenAIなどが研究開発している Generative Pre-trained Transformerという大規模な生成AIの言語モデルで、タスクに特化した学習が必要なく自然な文章を生成できることが特徴です。

オリジナルのGPTモデルは、2018年にリリースされて、1億1700万のパラメータを持つ巨大なモデルでした。その後、GPT-2、GPT-3とスケールアップし、GPT-2では10倍の15億のパラメータ、GPT-3ではさらにその100倍の1750億のパラメータの超巨大な言語モデルとなっています。GPT-3.5で、ChatGPTがリリースされてテレビのニュースなどでもよく取り上げられるようになりました。

GPT-3の論文はこちらです。 Language Models are Few-Shot Learners

この論文を解説してくれている動画もあり、とてもわかりやすいです。

GPT-3: Language Models are Few-Shot Learners (Paper Explained)

特に10分から17分あたりのところで、Zero shot, One shot, Few shotについて説明してくれていてわかりやすいです。

GPTですが、基本的にはTransformerのDecoderだけを使います。このDecoderのプレフィックスとして、タスクやFew shot Learningのサンプルを入れ、最後に本題となる質問を入れると、その後を生成してくれるイメージです。下にイメージ図を書きます。

図1: GPTのDecoder

これはTransformerのDecoderだけの構成なのですが、Few shot Learningでは、いくつかのサンプルを学習させる際にモデルの再学習やファインチューニングをするわけではなく、デコーダのプレフィックスとしてタスクやサンプルを入れます。そして本題の質問を入れると、これまでの入力の流れから推測し自然に続く文章を生成する過程で、質問の回答を生成してくれるというようなイメージです。

動画で紹介されている例を示します。

Translate English to French:   (Task Description)
sea otter =>  loutre de mar    (Example 1)
peppermint =>  menthe poivree  (Example 2)
plush giraffe =>  giraffe peluche  (Example 3)
cheese =>             (Question)

この例では、Task Descriptionとして、”Translate English to French:” としています。英語をフランス語に訳すというタスクを頼むという宣言です。

そしてその後に、サンプルとして3つほど、英語からフランス語に訳した例を入力します。

最後に cheeseは?という質問を入力しています。プロンプトの ”=>”で終わると、これまでの経験から cheeseのフランス語を答えればいいのだなとわかってくれます。そして、fromage(フランス語のチーズ)という単語を生成してくれます。文章の場合は、この後も1単語ずつTransformerのデコーダと同じように生成していきます。

さて、GPT-3を使ってみた感想ですが、文章だけみると本当に人間が書いたような文章だと思うぐらい自然な文章を生成してくれます。内容に関してはまだ弱い部分もあるようですが、自然な文章を生成する能力においてはかなり人間レベルに近いのではないかと思いました。

さらにChatGPTになると、Instruct-GPTという人手の採点による強化学習も組み込まれており、人が生成するにふさわしい文章がでてくるようになっております。言語能力としての汎用性能も上がり、Few Shot Learningしなくても、プロンプトに好きな指令を自然な文章で書けば、それに対応した文章を生成してくれます。内容も人間を超えてると思えるものがでてきたりします。誰でも使える魔法のようなチャットボットが誕生したわけです。

さらには、GPT-4もでてきました。より難しい依頼にも対応できるようになっていたり、言語としての美しさに磨きがかかっております。

今後、人間に求められるのは、創造性やオリジナリティの部分なのかなと思いました。