Transformer Architecture
Transformer は、2017 年の "Attention Is All You Need" で提案された、self-attention を中心に据えた sequence model です。LLM、VLM、video model、ASR、protein model など、現代の foundation model のほぼすべての基盤になっています。
全体構造
LLM で広く使われる decoder-only transformer は、次の block の積み重ねです。
各 block は次の構成です。
Encoder-Decoder、Encoder-only、Decoder-only
Transformer は一つの形だけではなく、用途に応じて三つの family に分かれます。
| 形式 | 代表例 | 使い道 | Attention の特徴 |
|---|---|---|---|
| Encoder-Decoder | original Transformer、T5 | translation、seq2seq | encoder self-attention + decoder self-attention + cross-attention |
| Encoder-only | BERT、RoBERTa | classification、retrieval、embedding | bidirectional self-attention |
| Decoder-only | GPT、Llama、Qwen | text generation、chat、agent | causal self-attention |
LLM で現在もっともよく使われるのは decoder-only transformer です。これは次 token prediction と相性が良く、causal mask によって未来 token を見ないようにします。
QKV の直感
Self-Attention の は、次のように理解できます。
- Query: 今の token が探しているもの
- Key: 各 token が持つ検索用の見出し
- Value: 実際に混ぜ込まれる情報本体
Query と Key の内積で参照比率を作り、その比率で Value を加重平均します。詳しい直感は Self-Attention and QKV に分けました。
Self-Attention
各 token は、query 、key 、value に線形写像されます。
ここで、
- は token 間の類似度行列
- で割るのは、softmax の入力 scale を抑えるため
- LLM では causal mask を加え、未来 token を見ないようにする
t1 t2 t3 t4
t1 ● . . .
t2 ● ● . .
t3 ● ● ● .
t4 ● ● ● ●
Multi-Head Attention
異なる head で異なる subspace の関係を学習します。
各 head は独立に attention を計算します。Head ごとに、syntactic / semantic / long-range / short-range など異なるパターンを捉えることが知られています。
FFN (Feed-Forward Network)
各 token に対して独立に適用される 2 層 MLP です。
- 古典的には ReLU / GeLU
- 現代 LLM では SwiGLU や GeGLU のような gated variant が主流
LLM のパラメータの過半数は FFN にあります。
Residual と Normalization
Residual connection と layer normalization は、深い transformer を安定して学習するために必須です。
- Pre-LN: 各 sub-layer の前に LN (現代 LLM の主流)
- Post-LN: sub-layer の後に LN (オリジナル transformer)
- RMSNorm: より単純な normalization (Llama 系で採用)
Transformer の改良軸
Transformer の派生研究は、主に次の軸で整理できます。
| 改良軸 | 例 | 目的 |
|---|---|---|
| Attention pattern | sparse attention、local attention、BigBird | 長い sequence を効率化する |
| Attention approximation | linear attention、Performer、Nyströmformer | の計算を軽くする |
| Position encoding | sinusoidal、relative position、RoPE、ALiBi | token の順序情報を入れる |
| Normalization | Post-LN、Pre-LN、RMSNorm | 深い model の学習を安定させる |
| FFN | GeLU、SwiGLU、MoE | 表現力と効率を上げる |
| Recurrence / memory | Transformer-XL、Compressive Transformer | 長距離 context を扱う |
つまり Transformer の本質は attention block だけではなく、position、normalization、FFN、memory、serving optimization まで含めた設計全体にあります。
なぜ強いのか
Transformer の強さは、
- 任意長の依存を 1 hop で捉える (RNN は逐次)
- 完全 parallel な学習が可能 (GPU と相性が良い)
- scaling law が綺麗 (compute / data / parameter を増やすほど log-linear に性能向上)
という性質に支えられています。
関連ページ
- Self-Attention and QKV
- Token to Logits Transformer Walkthrough
- LLM Pretraining
- Scaling Laws
- Long Context and Position Encoding
- Mixture of Experts
- LLM Inference Optimization
主なソース
- “Attention Is All You Need”: https://arxiv.org/abs/1706.03762
- The Illustrated Transformer: https://jalammar.github.io/illustrated-transformer/
- Aleksa Gordić, Inside the Transformer: https://www.aleksagordic.com/blog/transformer
- 0xkato, How LLMs Actually Work: https://www.0xkato.xyz/how-llms-actually-work/
- Zenn, 30分で完全理解するTransformerの世界: https://zenn.dev/zenkigen_tech/articles/2023-01-shimizu
- Qiita, TransformerのSelf AttentionのQKVを直感的に解説する: https://qiita.com/kenmatsu4/items/1b3853a3314ab66eb2a3
- Llama 2 paper: https://arxiv.org/abs/2307.09288