Skip to main content

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-Decoderoriginal Transformer、T5translation、seq2seqencoder self-attention + decoder self-attention + cross-attention
Encoder-onlyBERT、RoBERTaclassification、retrieval、embeddingbidirectional self-attention
Decoder-onlyGPT、Llama、Qwentext generation、chat、agentcausal self-attention

LLM で現在もっともよく使われるのは decoder-only transformer です。これは次 token prediction と相性が良く、causal mask によって未来 token を見ないようにします。

QKV の直感

Self-Attention の Q,K,VQ,K,V は、次のように理解できます。

  • Query: 今の token が探しているもの
  • Key: 各 token が持つ検索用の見出し
  • Value: 実際に混ぜ込まれる情報本体

Query と Key の内積で参照比率を作り、その比率で Value を加重平均します。詳しい直感は Self-Attention and QKV に分けました。

Self-Attention

各 token は、query q\mathbf{q}、key k\mathbf{k}、value v\mathbf{v} に線形写像されます。

Attention(Q,K,V)=softmax ⁣(QKdk)V\text{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}\right) V

ここで、

  • QKQK^\top は token 間の類似度行列
  • dk\sqrt{d_k} で割るのは、softmax の入力 scale を抑えるため
  • LLM では causal mask を加え、未来 token を見ないようにする
t1 t2 t3 t4
t1 ● . . .
t2 ● ● . .
t3 ● ● ● .
t4 ● ● ● ●

Multi-Head Attention

異なる head で異なる subspace の関係を学習します。

MHA(X)=Concat(head1,,headh)WO\text{MHA}(X) = \mathrm{Concat}(\text{head}_1, \dots, \text{head}_h)\, W^O

各 head は独立に attention を計算します。Head ごとに、syntactic / semantic / long-range / short-range など異なるパターンを捉えることが知られています。

FFN (Feed-Forward Network)

各 token に対して独立に適用される 2 層 MLP です。

FFN(x)=W2σ(W1x)\text{FFN}(x) = W_2\, \sigma(W_1 x)
  • 古典的には 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 patternsparse attention、local attention、BigBird長い sequence を効率化する
Attention approximationlinear attention、Performer、NyströmformerO(n2)O(n^2) の計算を軽くする
Position encodingsinusoidal、relative position、RoPE、ALiBitoken の順序情報を入れる
NormalizationPost-LN、Pre-LN、RMSNorm深い model の学習を安定させる
FFNGeLU、SwiGLU、MoE表現力と効率を上げる
Recurrence / memoryTransformer-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 に性能向上)

という性質に支えられています。

関連ページ

主なソース