NanoGPT Visualizer + Vector Editor

ブラウザ上で動くミニTransformer — 学習・推論・可視化・パラメータ空間直接操作

🧠
モデル学習

未学習
アーキテクチャ:
Token Emb + Pos Emb → [LayerNormCausal MHA + DropoutLayerNormFFN(GELU) + Dropout] × N → LayerNormLinear(weight-tied) → Softmax
Adam + Weight Decay + Gradient Clipping で学習。

🔮
Next Token Prediction

生成結果: (紫=生成トークン)

次トークン確率分布 (Top-15):

📊
トークン埋め込みベクトル可視化 ← ドラッグで実際のEmbeddingを編集

| 選択中: なし

🎛️
Embedding次元エディタ

↑ 上の可視化空間でトークンをクリックすると
各次元をスライダーで直接編集できます

🧮
ベクトル演算 (Word2Vec風)

「king − man + woman = queen」的な演算。学習後のEmbeddingで実際に計算します。
+ ≈ ?
💡 試してみよう
morning − I + She → 朝の文脈で sheが続きやすい単語?
eat − like + want → 似た動詞の文脈が近い?
このモデルは小さいので明確な結果は出にくいですが、原理は同じです。

🧭
Activation Steering(隠れ層への直接介入)

Anthropicの研究と同じ原理:推論時に隠れ状態ベクトルへ特定の方向のベクトルを加算することで、出力を操作します。
「AとBの差ベクトル」を隠れ層に足すことで、モデルをBの概念の方向に誘導します。

⚙️ ステアリングベクトル設定

概念軸: (difference vector = to − from をhidden stateに加算)
負=逆方向, 0=なし, 正=from→to方向
-1=最終LN前, 0〜N=各Transformer層後
🔬 これがAnthropicの研究の本質
steer_vec = emb("evening") − emb("morning") を隠れ層に足す
→ "morning"文脈のプロンプトを入れても"evening"っぽい単語が出やすくなる
α が大きいほど介入が強く、モデルの元の判断が上書きされる
これはGPT-4やClaudeのような大規模モデルでも同じ原理で機能します。

👁️
Attention 重み可視化