6.5.1 Transformer ロードマップ:Attention で token 同士を見る
Transformer は深層学習から現代 LLM への橋です。最初の直感は単純です。各 token が、どの他 token を重要視するかを決めます。
まず Attention の流れを見る
Section titled “まず Attention の流れを見る”

| 概念 | 最初の意味 |
|---|---|
| token | 系列内の1つの位置 |
| Q / K / V | token の query、key、value 視点 |
| attention weight | ある token が別の token をどれくらい見るか |
| block | attention と feed-forward による表現の更新 |
| mask | 生成時に未来 token を見ないための制御 |
Attention の形を一度確認する
Section titled “Attention の形を一度確認する”transformer_first_loop.py を作り、torch をインストールしてから実行します。
import torch
attention = torch.nn.MultiheadAttention(embed_dim=8, num_heads=2, batch_first=True)tokens = torch.randn(1, 4, 8)output, weights = attention(tokens, tokens, tokens)
print("tokens_shape:", tuple(tokens.shape))print("output_shape:", tuple(output.shape))print("attention_shape:", tuple(weights.shape))出力:
tokens_shape: (1, 4, 8)output_shape: (1, 4, 8)attention_shape: (1, 4, 4)attention_shape は [batch, query_position, key_position] です。4つの位置それぞれが4つの位置を見られます。
この順番で学ぶ
Section titled “この順番で学ぶ”| 順番 | 読む | まず見ること |
|---|---|---|
| 1 | 6.5.2 Attention 機構 | QKV、attention 重み、mask |
| 2 | 6.5.3 Transformer アーキテクチャ | block 構造、残差、feed-forward 層 |
Attention bridge note を 1 つ作ります。
- トークン
- シーケンス内の位置
- attention の形状
- [batch, query_position, key_position]
- QKVの意味
- query が問い、key が一致を見つけ、value が内容を運ぶ
- マスクの理由
- 生成は未来のトークンを見てはいけない
- LLM への橋渡し
- デコーダーブロックはコンテキストを次トークンのスコアに変換する
attention 重みの形を読み、attention がなぜグローバル文脈を持てるかを説明し、mask をテキスト生成と結びつけられれば合格です。
確認の考え方と解説
- 合格レベルの答えでは、tensor、model layer、loss、
backward()、optimizer update を1つの学習ループとしてつなげます。 - 証拠には、動く小さな実験、tensor shape の確認、説明できる loss または validation curve を含めます。
- shape mismatch、loss が下がらない、過学習、data leakage、Attention/Transformer の data flow を説明できない、といった失敗例を1つ言えればよいです。