核心概念
本稿では、GPT-3のような大規模言語モデル(LLM)のアーキテクチャを純粋に数学的な観点から記述し、トークン化から埋め込み、フィードフォワード層、アテンション層、デコーダースタック、最終的な予測生成までのプロセスを詳細に解説する。
要約
GPT LLM アーキテクチャの数学的構造に関する注釈
本稿は、大規模言語モデル(LLM)、特にGPT-3スタイルのLLMのアーキテクチャを数学的な視点から解説するものである。LLMの構築とトレーニングは、本質的にユークリッド空間間の写像として捉えることができる関数を構築するプロセスである。本稿では、この関数の詳細を数学的な言語を用いて明示的に記述することを目指す。
1. トークン化、エンコーディング、埋め込み
まず、LLMが実テキストを処理する仕組みの構成要素について説明する。
- 語彙:コーパスを用いてLLMの語彙を定義する。コーパスは、記事、書籍、ブログ投稿、テキスト会話など、インターネット上の様々な場所から収集された膨大なテキストデータである。
- ベース語彙:UTF-8エンコーディングを用いて、コーパス内の各文字をバイト列にマッピングする。ベース語彙V0は、これらのバイト列と、単語の終わりと個々の文書の終わりを示す2つの特殊文字で構成される。
- バイトペアエンコーディング:コーパス内で最も多く連続して出現する2つの記号のペアを1つの新しい記号にマージし、語彙に追加するプロセスを繰り返す。このプロセスは、語彙のサイズが指定された値に達するまで継続される。
- ワンホットエンコーディング:語彙とRnvocabの標準正規直交基底との間の全単射を定義する。
- 埋め込み:ワンホットエンコーディングをより小さなベクトル空間に埋め込む。これは、d x nvocabの射影行列WE(トークン埋め込みと呼ばれる)を用いて行われる。
- 非埋め込み:埋め込み行列WEの転置行列として定義されるnvocab x dの行列WU(非埋め込みと呼ばれる)を用いて、埋め込まれたトークンを元の空間に戻す。
2. フィードフォワード層
- 多層パーセプトロン(MLP):層状のアーキテクチャを持つフィードフォワード人工ニューラルネットワークである。各層は、前の層の活性化を入力として受け取り、アフィン変換と活性化関数を適用して次の層の活性化を出力する。
- 完全結合MLP:各層のすべてのニューロンが前の層のすべてのニューロンに接続されているMLPである。
- フィードフォワード層:完全結合MLPを用いて、入力行列の各行を独立して処理する層である。
3. アテンション層
- ソフトマックス関数:入力ベクトルを確率分布に変換する関数である。
- 自己回帰マスキング:系列データの予測において、未来の情報が漏洩するのを防ぐために用いられる手法である。
- アテンションヘッド:入力行列の各行間の類似度を計算し、その類似度に基づいて入力行列の各行を重み付けするメカニズムである。
- アテンションパターン:アテンションヘッドによって計算された類似度を表す行列である。
- アテンション層:複数のアテンションヘッドの出力を組み合わせて、入力行列のより表現力の高い表現を生成する層である。
4. 完全なTransformer
- 残差ブロック:アテンション層とフィードフォワード層を組み合わせたブロックである。
- デコーダースタック:複数の残差ブロックを順番に積み重ねた構造である。
- Transformer:埋め込み、デコーダースタック、非埋め込みを組み合わせたモデルである。
4.3. ロジットと予測
Transformerの出力は、次のトークンの予測として解釈される。
- ロジット:Transformerの出力ベクトルである。
- ソフトマックス関数:ロジットを確率分布に変換するために使用される。
- 予測:最も確率の高いトークンとして定義される。
本稿では、GPT LLMのアーキテクチャを数学的に記述することで、その動作原理をより深く理解することを目指した。