GPT-3
GPT-3は、2020年に登場したOpenAIの1,750億パラメーターの言語モデルです。プロンプト内の例からタスクを学習し、ChatGPTへの道を開きました。
GPT-3(Generative Pre-trained Transformer 3)は、OpenAIが2020年5月に論文言語モデルは少数ショット学習者であるで発表した、1,750億パラメーターの大規模言語モデル(LLM)です。前身のGPT-2より100倍以上大きく、注目された成果はコンテキスト内学習でした。タスクの説明と少数の例をプロンプトに与えると、同じ固定モデルがファインチューニングなしで翻訳、質問応答、算術を実行できました。OpenAIは重みを公開せず、2020年6月に開始したAPIを通じてのみGPT-3を提供しました。GPT-3の派生モデルを指示チューニングしたモデルはGPT-3.5となり、ChatGPTを支えました。これにより、2022年後半にGPTファミリーは広く知られるようになりました。
アーキテクチャと学習#
GPT-3はGPT-2と同じ設計を拡大した、デコーダーのみのTransformerです。最大モデルは96層、幅12,288、各128次元のアテンションヘッド96個を持ち、コンテキストウィンドウは2,048トークンです。各層では、密なアテンションと局所的な帯状のスパースアテンションが交互に使われます。50,257トークンの語彙を持つGPT-2のバイトレベルBPE トークナイザーを再利用します。論文では、1億2,500万から1,750億までの8つのサイズを学習しました。それぞれがMicrosoft提供のクラスター上でV100 GPUを使い、フィルター済みCommon Crawl(学習データの60%)、WebText2(22%)、2つの書籍コーパス(各8%)、英語版Wikipedia(3%)から抽出した3,000億トークンで学習されました。これらのハイパーパラメーターがモデルの規模と学習コストを左右します。
# GPT-3 175B: layers, width, and context from the paper's Table 2.1, plus GPT-2's vocabulary
n_layers, d_model, vocab_size, context = 96, 12288, 50257, 2048
# Each decoder block holds 4 * d^2 attention weights and 8 * d^2 feed-forward weights (4x hidden width)
blocks = n_layers * 12 * d_model**2
embeddings = (vocab_size + context) * d_model # token and learned position embeddings
params = blocks + embeddings
print(f"Parameters: {params / 1e9:.1f} billion ({blocks / params:.1%} in the decoder blocks)")
# Training compute: about 6 FLOPs per parameter per token, over 300 billion training tokens
flops = 6 * params * 300e9
print(f"Training compute: {flops:.2e} FLOPs = {flops / (1e15 * 86400):,.0f} petaflop/s-days")1746億のパラメーターを出力し、その99.6%はデコーダーブロックに含まれます。また、3.14e+23 FLOPs、つまり3,637ペタフロップ/秒・日も出力します。これは論文の付録に記載された1,746億パラメーターと3.14e+23 FLOPsに一致します。
少数ショット学習とコンテキスト内学習#
論文では3種類のプロンプト設定を評価しました。ゼロショットでは指示だけを与え、ワンショットでは実例を1つ追加し、少数ショットではコンテキストウィンドウに収まるだけの例を追加します。通常は10~100例です。モデルの規模と例の数の両方に応じて性能が向上しました。質問応答ベンチマークTriviaQAでは、1,750億パラメーターのモデルはゼロショットで64.3%、ワンショットで68.0%、少数ショットで71.2%を記録しました。最後のスコアは、同じクローズドブック設定のファインチューニング済みシステムを上回りました。少数ショットプロンプトによって、プロンプトエンジニアリングはLLMの標準的な利用方法となり、より大きなモデルほどコンテキストから多くを学ぶというスケーリング則の見方が裏付けられました。同じ「再学習の代わりにプロンプトを使う」考え方は、YOLOE-26による物体検出にも広がっています。ビジュアルプロンプトでは、参照画像内の例をボックスで囲み、クラスを定義します。モデルは重みを更新せずに、新しい画像からそのクラスを検出します。
GPT-3からChatGPTへ#
Microsoftは2020年9月にGPT-3の基盤モデルの独占ライセンスを取得しました。公開コードでファインチューニングしたGPT-3派生モデルであるOpenAIのCodexは、2021年にGitHub Copilotの初期版を支えました。基盤となるGPT-3は文章を適切に続けられましたが、指示に従う能力が低かったため、OpenAIは指示チューニングと人間のフィードバックからの強化学習(RLHF)を適用しました。評価者は、1,750億パラメーターのGPT-3よりも、13億パラメーターのInstructGPTモデルの出力を好みました。この流れは、2022年11月のGPT-3.5とChatGPT、そして2023年3月のマルチモーダルなGPT-4へと続きました。MetaのOPT-175BとBigScienceのBLOOMは、2022年にオープンな重みを持つGPT-3規模のモデルを再現しました。
GPT-3と関連モデル#
- GPT-2: 2019年に登場した15億パラメーターの前身モデルです。アーキテクチャとトークナイザーは同じで、規模は約100分の1、コンテキスト長は1,024トークンです。
- GPT-4: 2023年に登場した後継モデルです。テキストに加えて画像も入力でき、事後学習によって指示により確実に従います。
- BERT: 2018年にGoogleが発表したエンコーダーのみのモデルで、テキストを双方向に読み取り、分類や情報抽出のタスクに適しています。
制限事項#
GPT-3の論文では、モデルの弱点の多くが自ら列挙されています。長い文章では同じ内容を繰り返して一貫性を失い、物理的な常識に関する基本的な誤りを犯します。また、後のLLMと同様に、誤った事実を自信ありげに述べます。これは現在、ハルシネーションと呼ばれています。著者らは、生成文における性別、人種、宗教に関するバイアスを測定し、一部のベンチマークテストセットがWeb上の学習データに混入していたことも発見しました。また、テキスト生成の文章は人間の文章と見分けにくく、評価者が1,750億パラメーターのモデルによる200語のニュース記事を識別できた割合はわずか52%でした。OpenAIは2024年1月4日に、元のada、babbage、curie、davinciのAPIモデルを終了し、babbage-002とdavinci-002に置き換えました。










