Up レイヤー構造 作成: 2025-05-24
更新: 2025-06-25


  • レイヤー構造
    入力層の出力
      LEN(S) × D 行列
      X(S) = ( x_ij )
    は,Attention・FFNブロックに入力される。

    Attention・FFNブロックは,層 (layer) 構造になっている。。
    層の枚数を,「深さ(depth)」と呼ぶ。

    たとえば:
      GPT-2 small: 12層
      GPT-3: 96層
      GPT-4: 非公開だが多数層


    複数の層は、同じ処理を繰り返すためのもの。
    層の意味づけは,「トークンの意味が,層を重ねるごとに深まっていく」。

    各層において,処理は Self-Attention が中心。
    層は,Self-Attention の基本操作がより堅牢に働くように設計されている。

    1層ずつ出力が伝播。
    最終出力から損失を計算し,誤差逆伝播で全層を更新する。
    これが,つぎの入力テクストの処理環境になる。


  • 「繰り返し」処理の流れ
        x_i     ↓← 位置エンコーディング加算    x_i^(1)    x_i^(ℓ)     │     ├─────────┐     │      ( Self-Attention )     │         ↓     │        z_i^(ℓ)     │← Residual ───┘     │     │← LayerNorm (正規化)     │     ├─────────┐     │        ( FFN )     │         ↓     │        z'_i^(ℓ)     │← Residual ───┘     │     │← LayerNorm     ↓    x_i^(ℓ+1)
    X^(ℓ) → X^(ℓ+1) が,レイヤー1つにあたる。
    レイヤー数を
       NL (Number of Layers)
    で表す。

    レイヤーの表記「^(ℓ)」は煩瑣になるので,適宜省略する。

    最終出力の x_i^(NL+1) を
       o_i
    で表す。


  • 重み行列
    X から P を導く行程は,各種重み行列が関わっている。
    そしてレイヤーによる繰り返し処理の中に現れる重み行列は,レイヤーごとに異なる:
    • Self-Attention の W_Q^(ℓ), W_K^(ℓ), W_V^(ℓ)
    • FFN (MLP) の W_1^(ℓ), W_2^(ℓ)
      など