Upstage

オリジナルを見る

GPTシリーズと発展過程

2023/08/24 | 4分

(このコンテンツはアップステージが制作した 'みんなのためのChatGPT UP! の講義「GPTシリーズと発展過程」の内容をもとに作成されました)


日々進化するAI、その中でも最も一般的に広く知られているChatGPTが誕生するまで、GPTシリーズはどのように発展してきたのでしょうか。基本的な言語モデルの概念からRNN(循環ニューラルネットワーク)からChatGPTの時代と向き合うまでの約5年間の道のりをご紹介します。



言語モデル (Language model)

GPT(Generative Pre-trained Transformer)はOpenAIが開発した大規模な言語モデルで、様々な自然言語処理作業に使用されています。 そのため、まず言語モデルについて理解することで、GPTの発展過程を見るのに役立つかもしれません。 言語モデルが答えを生成する時は、通常、次の単語を合わせる方法で解くことが多いです。下記の問題を例に挙げてみましょう。

Q.空欄に入る単語で適当なものはどれでしょうか。
「今日参加した [ ]は、大変だったけど、本当にやりがいのあることだった」
(1) 走る
(2) 昼寝
(3) お祭り


空欄に何が入るかを当てる問題ですが、このような方法を言語モデルにもそのまま適用することになります。この場合、人がいちいち正解データを生成しなくても、モデル自身が単語や文章の構造を利用して正解データを無数に生成することができるというのがメリットです。 したがって、言語モデリングはこのようなSelf-supervised learningの特徴を持っており、pre-trainedモデルを作るのに有利だと言えます。

Recurrent Neural Networks (出典:https://colah.github.io/posts/2015-08-Understanding-LSTMs/)


ディープラーニングの初期には、言語処理モデルを「RNN」アーキテクチャ(モデルの構造、演算の枠組み)で作っていました。RNNは、ノード間の接続がサイクルを形成することから付けられた名前で、Recurrent Neural Networkを意味します。このような特性により、自然言語のようなsequence形式のデータを扱うことに特化しています。

では、先ほどの例のような単純な次の単語合わせがChatGPTに発展できた背景は何でしょうか?




GPTシリーズと発展過程

Emergence (2017年4月)

Sentiment neuron (出典: https://openai.com/research/unsupervised-sentiment-neuron)


2017年、OpenAIでは言語モデルをRNN(Recurrent Neural Network)で作っていました。 この過程で、特定のニューロンが感情分析をしていることを発見することになります。 これにより、意図していなかった能力が言語モデリングの過程で生まれるのかという仮説が登場します。


<감성 분석이란?>

  • 人工知能技術を活用してテキストの内容を分析し、そこから抽出された感情や意見を判断するプロセス。

  • 主に映画レビュー、オンライン投稿などのテキストデータを対象に行われ、AIが人のように文章を理解し、どのような感情が含まれているかを把握し、肯定、否定、中立などを区別すること。


Transformer (2017年6月)

2017年にはRNN(Recurrent Neural Network)、CNN(Convolutional Neural Network)に似たアーキテクチャの一種であるTransformerが登場します。その中核は、項目と項目間の関連性を表す 「Attention」という演算で、「Attention is all you need」というグーグルブレインチームの論文が登場するほど重要性が高まっています。Transformerは従来のRNNなどに比べて計算効率と結果の品質が良かったため、ビジョン、レコメンデーション、バイオなど他のすべての分野で使われるようになり、大きな影響を与えるようになりました。


GPT (2018年6月)

1年後、Generative Pre-training Transformer(GPT)が初めて登場しました。 これは、先に説明したSelf-supervised learningの方法で言語モデルを作ったと理解できます。GPTはPretraining-finetuningパラダイムの代表的な論文として挙げられます。これは、GPTの登場から大規模な言語モデリングを通じて事前学習されたモデルを作り、このモデルを各taskに合った小さなデータセットで学習するfinetuningの過程を経ると、様々なNLPタスクで優れた性能を示すことを示したからです。

<파인튜닝이란?>

  • 事前学習されたモデル(pre-trained model)を基に、特定のドメインや作業に適した性能を改善する作業。

  • 大容量データセットを使って事前に学習されたモデルを再利用することで、新しいタスクやドメインでモデルの学習時間を短縮し、データが限られた場合でもパフォーマンスを向上させることができるというのがコアアイデアです。



GPT-2 (2019年2月)

出典:言語モデルは非教師付きマルチタスク学習者です。

GPT-2は既存のモデルのサイズを大きくし(117M→1.5B)、学習データの量を増やして(4GB→40GB)誕生したバージョンです。しかし、OpenAIは生成に優れた能力を持つGPT-2が偽情報を大量に生成する危険性が大きいと判断し、外部に公開しないこともありましたが、GPT-2は言語生成能力だけでなく、別の影響力を示唆するemergenceを示しました



"エマージェンシー"ゼロショット学習

GPT-2の登場は、どのような新しい可能性を示したのでしょうか?それは、モデルが例示を全く見ずに新しいタスクを実行する「Zero-shot learning」の概念です。 これをUnsupervised multitask learnersとも呼びます。当初は言語モデルからスタートしましたが、読解、翻訳、要約、Q&Aなど、他の様々なタスクを実行できるのかという疑問を解決するために様々な実験が行われました。

出典:言語モデルは非教師付きマルチタスク学習者です。

上記の論文にもあるように、パラメータ(パラメータ)数を増やすほどZero-shotの性能が上がり、特定のタスクでは既存のSOTA(state-of-the-art、現存する最高のモデル)を上回ることが実際に確認できたことが特異点でした。

GPT-3 (2020年6月)

このように実験を通じてGPTの様々な能力を確認した後、さらにサイズを大きくしたのが2020年に登場したGPT-3です。モデルは1.5Bから175Bに大きくなり、データも600GB以上入りました。 このように前シリーズよりも多くのデータでpretrainingを行ったため、さらに驚くべき生成能力を持つようになりました。 GPT-3も知識や学習がなくてもタスクを「学ぶ」能力(few-shot learners)を含む様々な側面でemergenceを確認することができました。 前バージョンではタスクを実行することにとどまりましたが、自らタスクを学ぶ能力まで見られるようになったのです。

"エマージェンシー"コンテキスト内学習

(In-context learning以前にタスク別例をモデルに入力してファインチューニングした過程を図式化したもの / 出典:Language Models are Few-Shot Learners)

GPT-3で現れたemergenceはIn-context learningとも呼ばれますが、In-context learning以前は、タスクの例をモデルに入力し、ファインチューニングをする必要がありました。 この場合、タスクごとにモデルとデータが必要という点で限界がありましたが、GPT-2からZero-shot learningが可能になり、プロンプトにいくつかの例(few-shot)を入れることで、モデルのアップデートなしで新しいタスクを実行できるようになりました

(出典:Language Models are Few-Shot Learners)

GPT-4発売前、2021〜2022年

GPT-3以降、GPT-4のリリースに対する期待感はますます高まっています。GPT-4の正式発売前に業界では注目すべきものが大きく4つ登場しましたが、画像をテキストのように学習したモデルであるCLIPとDALL-E、そしてコード生成のためのCodex、Instruct fine-tuningを適用した言語モデルであるInstructGPTです。InstructGPTは従来のGPTとは異なり、モデルに直接指示を与えることができ、一連の指示に従ってユーザーの意図に合った答えを出すように設計された言語モデルとして大きな注目を集めました。

  • CLIP(2021年1月):"zero-shot" 画像分類

  • DALL-E(2021年1月):与えられたテキストから画像を生成

  • Codex(2021年8月):コード生成のためのモデル

  • InstructGPT(2022年1月)
    :命令に対するファインチューニングと強化学習が行われたモデル。従来のGPTはプロンプトエンジニアリングを通じてモデルが特定のタスクをうまく遂行できる条件や例を聞かなければならなかったのに対し、InstructGPTは簡単な自然言語指示文だけでもユーザーが要求したとおりの結果物を生成する。

    • <일반 언어 모델이 지시사항에 대해 생성한 내용>

      💬 "ChatGPTについて説明してくれ"

      → BERTについて説明してくれ / GPTについて説明してくれ

      <Instruction fine-tuning을 적용한 언어 모델이 지시사항에 대해 생성한 내용>

      💬 "ChatGPTについて説明してくれ"

      → ChatGPTはOpenAIが開発した自然言語処理モデルの一つです。 このモデルはGPT(Generative Pre-trained Transformer)アーキテクチャに基づいており、会話ベースの人工知能モデルとして使用されます。ChatGPTは事前に大規模なデータで事前訓練された後、様々な会話データに基づいてFine-tuning過程を経て最適化されます。これにより、ChatGPTはユーザーとの会話で自然な応答を生成し、様々なテーマについて会話をすることができます。

GPT-3.5 (2022年3月)

GPT-3.5はGPT-3にコードデータとInstruction fine-tuningが追加されたバージョンです。多くの研究者の推測によると、このような方式がモデルに直接影響を与えるかどうかは分かりませんが、Codeデータを追加することでGPTの推論能力と長い入力に対する理解が上がることを観察したそうです。

他にもGPT-3.5にはInstruction fine-tuningが適用されていますが、命令に対するファインチューニングと強化学習を行うと、ユーザーの意図をよりよく把握して回答することに着目したInstrctGPT(2022年1月)の実験方式が加わっています。

ChatGPT (2022年11月)

2022年に登場したChatGPTは、AIの普及を牽引したモデルの一つです。 これはGPT-3.5を微調整したもので、OpenAIではInstructGPTと学習方法が似ていることから「sibling model」とも呼ばれています。

出典:OpenAI Blog

ChatGPTモデルの学習方法を見ると、最初の段階では、指示プロンプトとデータセットからなるDemonstration dataを入れます。ここでラベラーは指示プロンプトに適していると考えられる行動をラベリングしますが、このように集められたデータセットはSFT(Supervised Fine Tuning)モデル学習を通じてGPT-3.5をファインチューニングするために活用されます。

次の段階では、ユーザーの好みに対する報酬モデル(Reward model, RM)を活用してChatGPTを強化学習(Reinforcement learning, RL)で更新します。このような方法を経て、ChatGPTはより多様で柔軟な会話を提供できるようになりました。

RNNからChatGPTまでの道のり

以上、RNNからChatGPTまで、GPTシリーズの長い道のりを一緒に見てきました。 ChatGPTに続くNext GPTへの動きにはどのようなものがあるのでしょうか。今後、ChatGPTがどのように活用されるのか、また、発展のために必要な様々な側面はどのようなものがあるのか、より詳しい内容はウェビナーのリプレイページを ご覧ください。

←ブログに戻る