- GPTベースの大規模言語モデル nano-gpt の動作過程を簡潔に紹介
- このモデルは 6文字 のシーケンスを受け取り、アルファベット順 に並べ替えることを目標とする
- 各文字は トークン と見なされ、すべてのトークンは固有の トークンインデックス を持つ
- 各トークンインデックスは 48次元の 埋め込みベクトル に変換され、一連の トランスフォーマーレイヤー を通過する
- モデルは 次に来るトークン を予測し、その結果を繰り返し入力シーケンスに反映して発展させられる
GPT言語モデルの紹介
- 本文書は GPT大規模言語モデル の動作過程を視覚的に説明する資料
- ここでは nano-gpt という非常に小型のモデル(パラメータ数は約85,000)を使用
- モデルの目標は、6文字からなるシーケンスを受け取り、それをアルファベット順に整列させること(例: "ABBBCC")
トークンと語彙
- 各文字は トークン(token) として定義され、モデルが認識するすべてのトークンの集合を 語彙(vocabulary) と呼ぶ
- テーブル内で各トークンには 固有の番号(token index) が割り当てられる
- このトークンインデックスの数列をモデルの入力として使用する
入力変換と埋め込み
- 3D可視化で 緑色のセル は処理中の数値を、青色のセル はモデルの 重み(weight) を表す
- 各入力数値は48次元の 埋め込みベクトル に変換される
- この埋め込みは、モデル構造内の複数の トランスフォーマーレイヤー を連続して通過する
出力と予測の過程
- モデルの出力は、そのシーケンスで予測される 次のトークン の確率として表される
- 6番目の入力位置では、次のトークンが 'A'、'B'、'C' である確率分布を予測する
- 例では、モデルは 'A' である確率が最も高い と予測する
- この予測結果を再び入力に入れて過程を繰り返しながら、全体のシーケンスを生成する
1件のコメント
Hacker News の意見
LLM Visualization - 2023年12月、コメント131件
https://poloclub.github.io/transformer-explainer/
そして
The Illustrated Transformerという有名な可視化資料もおすすめhttps://jalammar.github.io/illustrated-transformer/
Sebastian Raschka, PhD がアーキテクチャについて書いた投稿もある
https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the
Hacker News のこのコメントではさまざまなリソースをまとめて見られる
https://news.ycombinator.com/item?id=35712334
https://alphacode.deepmind.com/
(モバイルなら再生を押して最後までズームアウトしてから下にスクロールすればよい)