A
AIエージェントの仕組み
ch3-s4 · Transformer Architecture

Transformer の全体像

約 14 分

この回のゴール

1. Transformer Block の構造

Attention 単体では 1 回の情報集約しかできません。実用的な Transformer は次の「Block」を 何十層も重ねます:

{
  "mcpServers": {
    "demo": {
      "command": "python",
      "args": [
        "C:\\path\\to\\server.py"
      ]
    }
  }
}

式で書くと:

$$ x_1 = x + \text{MHA}(\text{LN}(x)) $$ $$ x_2 = x_1 + \text{FFN}(\text{LN}(x_1)) $$

各部品の役割を順に見ていきます。

2. Positional Encoding — 順序情報の注入

Attention は 順序を見ない(内積だけなので、トークンを入れ替えても同じ結果)。でも言語では順序が重要:

そこで入力埋め込みに 位置を表すベクトル を足す:

$$ x_i = \text{Embed}(w_i) + \text{PE}(i) $$

Sinusoidal(原論文)

$$ \text{PE}(i, 2k) = \sin(i / 10000^{2k/d}), \quad \text{PE}(i, 2k+1) = \cos(i / 10000^{2k/d}) $$

現代の LLM

最近は RoPE (Rotary Positional Embedding)ALiBi が主流。相対位置を扱いやすい。

3. 残差接続 (Residual Connection)

$$ \text{output} = x + \text{Layer}(x) $$

4. Layer Normalization

各トークン表現の値を 正規化 して学習を安定させる:

$$ \text{LN}(x) = \gamma \cdot \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} + \beta $$

5. Feed-Forward Network (FFN)

Attention の後に入る 各トークン独立の非線形変換:

$$ \text{FFN}(x) = W_2 \cdot \text{GELU}(W_1 x + b_1) + b_2 $$

解釈: Attention がトークンをまたいだ「情報交換」、FFN が「各トークン内の計算」

6. 全体の流れ

  1. トークン化: 文字列 → トークン ID(第 1 回)
  2. 埋め込み: ID → ベクトル(第 2 回) + 位置エンコーディング
  3. N 層の Transformer Block: 各層で Attention → FFN → ...
  4. 最終層の出力: 各トークン位置の文脈化された表現
  5. LM Head: 線形変換で 全語彙に対するロジット
  6. softmax: 確率分布に
  7. サンプリング: temperature/top-p で 1 つ選ぶ(第 2 章の回)

7. LLM のサイズ感

モデル 層数 隠れ次元 パラメータ 公開
GPT-2 small 12 768 124M
GPT-2 XL 48 1600 1.5B
LLaMA 3 8B 32 4096 8B ✅(重み公開)
LLaMA 3 70B 80 8192 70B
Claude / GPT-4 系 非公開 非公開 数千億以上と推定 ❌(API のみ)

構造はどれも同じ。スケールとデータ量の差が主。

8. スケーリング則 (Scaling Laws)

Kaplan et al. (2020) が発見:

モデルサイズ $N$、データ量 $D$、計算量 $C$ を増やすと、損失 $L$ はべき乗則で減少する

$$ L(N) \approx L_\infty + (N_0 / N)^\alpha $$

この法則から「GPT-3 をもっと大きくすればもっと賢くなる」が予言され、実際にそうなった。これが現在の LLM 競争の背景。


まとめ

この回の限界(次への動機)

ここまでで LLM の中身は理解できた。でも自分で 数千億パラメータを学習するのは現実的でない。 👉 次回「Claude API の基礎」で、Anthropic が学習したモデルを API 経由で実際に動かします。

参考文献

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。