0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『Attention Is All You Need』を要約する ── 設計の必然性で理解する

0
Posted at

AIエージェントを自作したり、LLMを用いたアプリケーション開発をしていると、ある瞬間に頭打ちを感じます。
APIを叩いてプロンプトを工夫すれば、ある程度は動く。でも、 「なぜ長文脈は重いのか」「なぜMoEが主流なのか」「精度が落ちる原因を構造から特定できない」「新モデルが出るたびに伝聞のベンチマークに振り回される」 といった、ブラックボックス特有のモヤモヤを抱えてはいないでしょうか。

モデルの強みも弱みも、すべては構造から因果的に説明できます。そしてそれを理解する最短経路こそが、現代のすべてのLLM(GPT, Claude, Gemini)の源流である2017年の伝説の論文『Attention Is All You Need』を本気で読むことでした。

10ページ程度の論文に詰まった「なぜそうでなければならないのか」という設計の必然性を、整理しました。


1. なぜQ, K, Vの3つに分けるのか?

入力 $X$ をそのまま使う $X X^T$ だと、内積の性質から「トークン間の類似度」が必ず対称($i \rightarrow j$ と $j \rightarrow i$ が同じ)になってしまいます。しかし言語の本質は「非対称(限定詞 the が名詞 cat を修飾するが、逆は不成立)」です。

  • Q と K を分ける必然性: $Q = XW_Q, K = XW_K$ と分けることで、矢印の向き(どちらからどちらへの注目か)を学習する非対称な自由度を獲得するため。
  • V を分ける必然性: 「どこを見るかという判断(Q, K)」と「そこから何を取り出すかという内容(V)」の空間を独立させて個別最適化するため。

2. なぜ $\sqrt{d_k}$ で割るのか?

Qの各行 $q$ とKの各行 $k$ の各成分が独立で平均0、分散1の確率変数と仮定したとき、内積 $q \cdot k$ は $d_k$ 個の独立な積の和となるため、分散は $d_k$ に比例して大きくばらつく数学的根拠があります。
これをそのまま softmax に入れると、出力がある1つの要素だけ 1 になり他が 0 に張り付く「勝者総取り」状態になります。softmax の微分係数には $\text{softmax}(x)(1 - \text{softmax}(x))$ が含まれるため、出力が極端になると**勾配消失(学習ストップ)**を引き起こします。定数 $c$ で割ると分散は $c^2$ 倍になるため、$\sqrt{d_k}$ で割ることで分散を綺麗に 1 に正規化しています。

3. なぜMulti-Head(細切れ)にするのか?

softmax は「合計が1になる単一の確率分布」しか作れない構造的限界があります。単一のAttentionでは、例えば cat という単語が、文法的な関係の the や、動詞の sat、空間の mat に**「同時に、それぞれ独立して強く注目する」ことが不可能**(どれか1つに重みが集中するか、均等に薄まるか)になります。
計算コストを維持するために全体の次元を $h$ 分割(512を64次元×8 headに)し、独立した複数のsoftmaxを並列で走らせることで、多角的な関係性を同時にロックオンできる設計にしています。

4. なぜsin/cosで位置情報を「足し算」するのか?

Transformerは一撃で並列処理するため、そのままでは単語の順序を区別できません(置換不変性)。

  • なぜ足し算か: $d_{model}=512$ という超高次元空間では、ランダムなベクトル同士はほぼ直交(干渉しない)するため、意味を壊さずに位置を上乗せできます(カクテルパーティー効果)。
  • なぜsin/cosか: 三角関数の加法定理により、位置 $pos+k$ のエンコーディングを、位置 $pos$ に「$pos$ に依存しない固定のシフト行列 $M_k$」を掛けた線形変換で表現できるからです。これにより、絶対位置ではなく**「$k$ 単語離れた相手を見る」という相対位置パターン**をモデルが一般化して学習できるようになります。

5. なぜFFN(Feed-Forward)が必要なのか?

Attentionがやっているのは、トークン間の「線形な混ぜ合わせ(横方向の通信)」だけです。しかし、混ぜた情報から新しい抽象概念(例:「猫」+「マット」 $\rightarrow$ 「動物が物の上にいる状態」)を生成するにはベクトル内部の非線形な変形が必要です。
Transformerは、**Attention(横の通信)FFN(縦の非線形加工)**を完全に役割分担させています。なお、次元を一度4倍(512 $\rightarrow$ 2048)に拡張するのは、高次元空間の方が独立した非線形境界(ReLU)を多く取れて表現力が跳ね上がるからです。

6. なぜSelf-Attentionは業界の王者を蹂躙できたか?

それまでの主流だったRNNは、前の時刻の計算が終わるまで次の計算ができない構造($O(N)$)のため並列化が不可能でした。また、離れた単語間の情報伝達(最大経路長)に $O(N)$ ステップを要するため、バケツリレーの途中で勾配が消失する致命傷を抱えていました。
Self-Attentionは全トークンペアの関係を一撃の行列演算で同時に計算(並列化ステップ $O(1)$)し、任意の2点間を直通ルート(最大経路長 $O(1)$)で結ぶことで、「並列化可能性」と「長距離依存の解消」を同時に達成しました。これこそが、GPUのパワーを限界まで動員してモデルを巨大化させる「スケーリング則」の出発点です。


🗺️ 現代の最新LLMへの接続マップ

この論文の「設計の意図」と「構造的トレードオフ」がわかると、最新技術がすべてこの論文の 「どこの改造・制約回避なのか」 として地続きで見えてきます。

📝 まとめ & さらに深いディープダイブへ

『Attention Is All You Need』の本当の意味は、「LSTMの複雑なゲートもCNNの階層構造も要らない。シンプルなAttentionだけで並列化も長距離依存も構造的にすべて解決する」という強烈なパラダイムシフトの宣言でした。

並列化と長距離依存を引き換えに得た代償が「計算量が系列長の2乗($O(N^2)$)で爆発する」という呪いであり、現代の長文脈モデル(Gemini 1Mなど)はこの呪いとの戦いの歴史そのものかもしれません。

最新モデルが出るたびに「これは元論文のどの制約を回避するための改造か」という視点を持てるようになると、技術選定やエージェント設計の解像度が桁違いに上がります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?