LLMの可視化(Visualization)
(bbycroft.net)- GPT-2、nano-gpt、GPT-3 などの大規模言語モデルの動作原理を視覚的に説明するガイド
- 目次: 紹介と予備知識、埋め込み、レイヤー正規化、セルフアテンション、プロジェクション、MLP、トランスフォーマー、Softmax、出力
全体の紹介部分の要約
nano-gptの場合、85,000個のパラメータを持つ- 与えられた6文字の文字列をアルファベット順に並べ替えることが目標
- 文字列
C B A B B Cを入力として受け取り、ABBBCCに並べ替える過程を例にできる。 - 文字列の各文字を「トークン」と呼び、モデルの語彙はさまざまなトークンで構成される
- 各トークンには数値インデックスが割り当てられ、これをモデルに入力する
- 各数値は48要素のベクトルに変換され、これを「埋め込み」と呼ぶ
- 埋め込みは「トランスフォーマー」と呼ばれる一連のレイヤーを通過する
- 最終的にモデルは、与えられたシーケンスの次のトークンに対する確率を予測する
- 予測されたトークンはモデルの上部に再入力され、全体の過程が繰り返される
1件のコメント
Hacker Newsの意見
LLMを根本的に理解するのに非常に役立つツール
model.pyを参照するとよいという助言がある。アルゴリズムの複雑さが3D空間で明確に表現されていることに驚く
この可視化は本当に驚くべきもの
何か月もの間探していた可視化手法
「魔法を行列積と内積に分解する」と題してもよいくらい
3Dモデルが教育的に驚くほど優れている
LLMがどうしてこれほどうまく動作するのかにさらに驚く
self attentionの強力さに関する説明がしばしば欠けている
著者のTwitterスレッドでこの作業に関する追加の文脈を共有している
自分のモデル向けの低次元版が欲しいならNetronライブラリを勧める
単純な3Dモデルではなく、踏み込んだ内容のある仕事
この可視化は本当に驚くべきもの
これがHacker Newsを愛する理由