Kimi K3 と Qwen 3.8 の Attention 機構比較分析
本文の状態
日本語全文を表示中
詳細モードで約71分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
zartbot
10T 規模モデルの訓練には国内算力のみで約 20 万枚の GPU と数百億円の建設費が必要となり、このコスト構造が Linear や Sparse への移行を迫る主要因となっている。
AI深層分析を開く2026年8月1日 00:43
AI深層分析
キーポイント
Attention 進化の背景とコスト計算
10T 規模モデルの訓練には国内算力のみで約 20 万枚の GPU と数百億円の建設費が必要となり、このコスト構造が Linear や Sparse への移行を迫る主要因となっている。
Linear Attention の数学的限界
Softmax を線形化する過程で生じる状態管理の衝突や不可逆的な忘却、そして有限特徴空間における零空間碰撞などの根本的な欠陥が指摘されている。
Sparse Attention の実装リスク
計算コストを削減するために支持集を制限する Sparse 手法は、高品質なトークンを見逃すリスクがあり、さらに非規則的なメモリアクセスが FLOPs の効率性を損なう可能性がある。
KDA と GDN の修正と課題
Linear Attention の欠点を補う KDA や GDN といった改良案が提案されるものの、逐チャネル忘却や位置情報の扱いなど、解決されていない技術的課題が残されている。
Softmax は最適輸送問題の唯一解
Query を貨主、Key を目的地とする片側制約付き最適輸送問題において、点積コストとシャノン負エントロピー正則化を最小化する目的関数の解は Softmax であり、これは数学的に必然である。
重要な引用
Sparse Attention 的思路是通过限制支持集来压低计算复杂度,主要风险在于漏掉高质量的 token
Linear Attention 走的则是压缩全部历史的路线,核心风险来自状态管理,冲突,以及不可逆的遗忘
训练一个 10T 规模的模型...整个集群的建设成本最保守估算在 400 亿~600 亿之间
Softmax の帰一化分母并不是設計者"加上去"的技巧,而是預算約束通過拉格朗日乘子自動逼出來的。
編集コメントを表示
編集コメント
本稿は特定のモデルの性能評価というよりは、国内の算力制約下におけるアーキテクチャ選択の戦略的意義を数学的に論じた分析記事である。Linear と Sparse のトレードオフを理解することは、今後の大規模モデル設計において不可欠な視点となる。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
「Attention は Sparse か、Linear か」を詳細に分析する
この話題を再び取り上げるきっかけとなったのは、Kimi K3 のモデル性能に対する好奇心です。特に、その性能向上の要因がどこにあるのか、明確に理解したいと考えています。
結論から言うと、K3 の性能向上は「データ品質」「モデル構造」、あるいは「モデル規模」のいずれによるものなのか、そして Linear Attention に基づく KDA がどれほどの貢献を果たしているのかを解明する必要があります。同様の疑問は、Qwen 3.8 で採用された GDN 方案についても当てはまります。
本稿はいかなる立場も前提とせず、特定の技術路線を支持する意図はありません。以前、Linear Attention 関連の分析を行った際、その路線を支持する有力者から激しい反発を受けた経験もありますが、今回は中立な視点で議論を進めます。
まずは標準的な SDPA(Scaled Dot-Product Attention)を出発点とし、Linear と Sparse の二つの技術的アプローチを段階的に分解して解説します。端的に言えば、これらはいずれも国内の計算資源制約下における工程上の妥協策です。
Sparse Attention は、サポート対象となるトークンの範囲を制限することで計算複雑度を抑えるアプローチですが、その主なリスクは高品質なトークンを見逃してしまう点にあります。
一方、Linear Attention は過去の情報をすべて圧縮して扱う道を選びますが、その核心となる課題は状態管理の難しさ、情報の衝突、そして不可逆的な忘却です。
モデル規模がさらに 5T〜10T の量級に膨れ上がる中、国内の計算資源制約という背景を踏まえると、Attention アーキテクチャの進化の行方はどうなるのでしょうか。まずは簡単な試算を行ってみましょう。10T 規模のモデルを訓練する場合、必要なデータ量はおよそ 200T〜300T トークンに達します。もしこれをすべて国内の計算資源で賄うなら、約 20 万枚の GPU カードが必要となり、クラスター全体の建設コストは保守的に見積もっても 400 億〜600 億元に上ります。この金額は、すでに基盤モデルを公開している一部の企業にとっても決して軽視できない負担です。3 年間の減価償却費を考慮すると、単一の基盤モデルの事前学習にかかるコストは約 20 億〜30 億元となります。
つまり、この時点で Linear と Sparse のどちらを選ぶべきかを明確にすることは、その価値がおよそ 20 億元に達する重要な判断であると言えます。
本稿の構成は以下の通りです。
詳細分析:Attention は「フル」か「スパース」か「線形」か
1. 標準的な Full Attention から始める
#### 1.1 スケーリングされた点積から確率单纯形へ
まず、標準的なアテンション(Full Attention)の仕組みを振り返りましょう。これは単なるスケーリングされた点積計算ではなく、本質的には「確率单纯形」という幾何学的な構造の上で成り立っています。
#### 1.2 Softmax は片側エントロピー最適輸送の唯一の解
ここで重要なのは、Softmax がなぜ使われるかです。実は、Softmax は「片側のエントロピー最適輸送問題」に対する数学的に唯一の解なのです。
#### 1.3 LogSumExp ポテンシャル関数が前向きな割り当てと後ろ向きの学習を結ぶ
LogSumExp というポテンシャル関数は、モデルが情報をどのように割り当てるか(フォワードパス)と、その結果に基づいて重みをどう更新するか(バックワードパス)という二つのプロセスを数学的に結びつけています。
#### 1.4 Softmax を使うことが必須でも、Softmax に代償がないわけではない
「Softmax を使わなければならない」という事実と、「Softmax の計算コストや近似による問題がゼロである」ことは別問題です。前者は真実ですが、後者は誤りです。
#### 1.5 正確な Full Softmax が持つグローバル依存関係を、普遍的に回避することはできない
最終的に、正確な Full Softmax が持つ「すべてのトークン間の相互依存関係(グローバル依存)」を、あらゆる状況で完全に回避して代替する方法は存在しません。
2. Softmax Attention の線形化から GDN へ
#### 2.1 全行列の一次展開では Vanilla Linear Attention にしか至らない
Softmax を単純に行列全体に対して一次近似(テイラー展開など)すると、得られるのは「Vanilla Linear Attention」だけです。これだけでは不十分です。
#### 2.2 Softmax 自体には正確な Delta 再帰が存在する
実は、Softmax の計算プロセスそのものにも、誤差を逐次更新できる「正確な Delta 再帰(差分再帰)」の形が存在します。
#### 2.3 対角成分のみを近似し、Query を分離するアプローチ
より高度な手法として、対角成分の重みだけを近似し、Query ベクトルを独立して扱うことで精度と効率のバランスを図る方法があります。
#### 2.4 最小誤差の代替案が GDN の形態を生む
これらの制約の中で「最も誤差が少ない」解を探すと、結果として GDN(Gradient-based Dynamic Normalization など)と呼ばれる特定の数学的形態に行き着きます。
3. Linear Attention の能力と限界
#### 3.1 核の結合律から固定された状態へ
Linear Attention は「核の結合律」を利用することで計算を高速化しますが、その代償として内部の状態が「固定されたもの」として扱われることになります。
#### 3.2 固定状態のコストは単なる近似誤差ではない
この「固定状態」を採用することによるコストは、単純な数値的な近似誤差だけではありません。より本質的な問題を引き起こします。
#### 3.3 圧縮射としての数学的反例
Linear Attention を「情報を圧縮する射(写像)」とみなした際、いくつかの数学的な反証が成り立ちます。
- 3.3.1 同じ線形状態でも、異なる Softmax の写像に対応しうる
一つの線形状態ベクトルに対して、複数の異なる Softmax アテンションパターンが対応してしまう可能性があります。
- 3.3.2 任意の有限特徴量を持つ状態には零空間での衝突が生じる
特徴量の次元が有限である限り、必ず「ゼロ空間(情報が失われる空間)」における衝突が発生し、情報の損失を免れません。
- 3.3.3 指数核は全ランクになり得るが、有限特徴量を持つ核にはランクの上限がある
指数関数を用いた核関数は理論上フルランクにできますが、有限の特徴量ベクトルを使う場合、そのランクには明確な上限が存在します。
- 3.3.4 非線形学習状態も連続的な次元数の制約を受ける
学習によって非線形に変化する状態であっても、最終的には連続する次元数の物理的・数学的制約から逃れられません。
- 3.3.5 Delta Rule は類似した Key 上でカバレッジの偏りを生む
Delta Rule(差分ルール)を用いると、似通ったキー(Key)ベクトルに対して、アテンションの重み付けに偏りや「覆い隠し」が生じることがあります。
- 3.3.6 状態更新が交換可能でない場合、順序による偏差が入る
状態の更新操作が可換(順序を交換しても結果が変わらない)ではない場合、トークンの入力順序によって誤差が蓄積・歪む可能性があります。
- 3.3.7 忘却ゲートは「長期保持」と「高速クリア」の両立が不可能
忘却ゲートを設けることで、情報を長く保持する能力と、不要な情報を素早く消去する能力を同時に最大化することは数学的に困難です。
- 3.3.8 一次近似による Softmax の線形化は凸包から外れる
Softmax を一次近似して線形化すると、確率分布が持つべき「凸包(Convex Hull)」の性質から外れてしまうことがあります。
- 3.3.9 KDA の対角ゲートや DPLR は任意の状態変換を許さない
KDA(Kernel-based Dynamic Attention)の対角ゲートや、DPLR(Diagonalized Positional Linear Recurrence)などの手法も、あらゆる状態変換を自由に表現できるわけではありません。
- 3.3.10 反例が混合アーキテクチャに与える意味
これらの数学的反例は、Linear Attention と他のアテンションを組み合わせたハイブリッドなアーキテクチャの設計にも重要な示唆を与えます。
#### 3.4 Linear Attention の代替案がなぜ「無料の昼食」にならないか
Linear Attention を補完する様々な代替案も提案されていますが、それらには必ず何らかのトレードオフやコストが伴うため、「無料で得られる利益(無料の昼食)」は存在しません。
4. KDA が GDN を修正し、残る問題点
#### 4.1 統一された忘却からチャネルごとの忘却へ
KDA は、すべてのチャネルで同じように情報を忘却するのではなく、「チャネルごとに忘却の度合いを制御する」ことで GDN の課題を修正します。
#### 4.2 KDA の位置付け
この手法は、従来の線形アテンションとフルアテンションの中間的な位置づけを持ち、両者の利点を活かそうとする試みです。
#### 4.3 WY と UT が再帰を GPU にマッピングする方法
WY(Weighted Y)や UT(Update Transformation)といった変換を用いることで、複雑な再帰計算を GPU の並列処理に効率的にマッピングすることが可能になります。
#### 4.4 KDA の効率性
これらの工夫により、KDA は高い計算効率を実現しつつ、精度の低下を抑えることに成功しています。
#### 4.5 KDA が解決していない問題
しかし、KDA も万能ではありません。特定の条件下での精度低下や、実装の複雑さなど、まだ解決すべき課題は残されています。
5. Sparse Attention の数学的論理
#### 5.1 Sparse は单纯形の実行可能領域への制限
Sparse Attention(スパース・アテンション)の本質は、計算対象となる「单纯形」の範囲を意図的に狭めることです。つまり、実行可能な解の領域を制限するアプローチです。
#### 5.2 削除された確率質量が出力誤差を直接制御する
重要なトークン間の関係(確率質量)を意図的に削除することは、最終的な出力結果に直接的な誤差をもたらします。この誤差の大きさをどうコントロールするかが鍵となります。
#### 5.3 静的スパースはグラフ構造によって予測可能なアクセスを実現
事前に決まったルールでスパース化を行う「静的スパース」では、計算グラフの構造を設計することで、メモリアクセスパターンを予測可能にします。
#### 5.4 動的スパースは難問をインデクサーへ移す
一方、「動的スパレス」では、どのトークンに注目するかをその都度決定する必要があるため、計算の難易度を「アテンション計算自体」から「適切なインデックスを見つけること」へと移行させます。
- 5.4.1 起点 DSA: 軽量インデクサーと top-k の実用レシピ
DSA(Dynamic Sparse Attention)のような初期手法では、軽量なインデクサーを使って重要なトークンを top-k で選ぶという、実用的な組み合わせが採用されました。
- 5.4.2 HiLS: 「正確に選ぶ」ことを模倣からエンドツーエンド学習へ
HiLS(Hierarchical Learning for Sparse)などの発展形では、単なるルールや模倣ではなく、モデル自身が「どのトークンを選ぶべきか」をエンドツーエンドで学習するようになりました。
- 5.4.3 IndexCache: 「安価に選ぶ」ことを層間跨いで実現
IndexCache のような手法は、計算コストを抑えるためのインデックス情報を複数の層間で共有・再利用することで、「安く選べる」仕組みを実現します。
- 5.4.4 進化の総括:難問の三つの転移
これらの進化を振り返ると、Sparse Attention が直面する難問は、計算コストからインデクサーの精度へ、そして最終的には学習プロセス自体へと「三次にわたって転移」してきたと言えます。
#### 5.5 圧縮アテンション:DeepSeek-V4 はスパースを有損圧縮の上に構築
- 5.5.1 メカニズム: 二段階の圧縮率とスライディングウィンドウ
DeepSeek-V4 が採用した「圧縮アテンション」では、二つの異なるレベルで圧縮率を設定し、さらにスライディングウィンドウを組み合わせることで、スパース性を有損圧縮の文脈に位置づけました。
- 5.5.2 数学的定式化: 商空間上で同じ EOT 問題を解く
このアプローチは、元の空間ではなく「商空間(Quotient Space)」という抽象的な空間において、同じ最適輸送問題(EOT)を解き直すことで成り立っています。
- 5.5.3 エンジニアリング上のメリット
これにより、メモリ使用量の削減や計算速度の向上といった、実用的なエンジニアリング上の恩恵が得られます。
- 5.5.4 圧縮アテンションが解決していない問題
しかし、この手法もまた、精度の低下や特定のタスクでの性能限界など、完全に解決されたわけではありません。
#### 5.6 進化の総括:難問の三つの転移(再)
Sparse Attention の技術的進化を振り返ると、そこには計算負荷からインデクサー、そして学習プロセスへと至る「難問の三次転移」が明確に見て取れます。
6. メモリアクセスモデルと並列性
#### 6.1 三種類の Attention メカニズムにおける KV Cache の容量と Decode バンド幅
Full、Sparse、Linear の各アテンションは、KV Cache(Key-Value Cache)の必要容量や、生成時のデコード帯域幅に対して全く異なる負荷をかけます。
#### 6.2 Sparse の不規則なアクセスが FLOPs の恩恵を飲み込む可能性
Sparse Attention は理論上の計算量(FLOPs)は減りますが、メモリアクセスが不規則になることで、その分だけハードウェアの性能が十分に発揮されず、FLOPs の削減効果が相殺されてしまうリスクがあります。
#### 6.3 Linear の状態行列がローカルなホットスポットとなるか
Linear Attention は計算を高速化しますが、内部で扱う状態行列が特定のメモリ領域に集中し、そこがボトルネック(ホットスポット)になる可能性も考慮する必要があります。
#### 6.4 KV Cache の容量と並列処理:Prefill、Decode、Prefix 再利用のプラットフォームコスト
実際の運用では、初期処理(Prefill)、生成処理(Decode)、そして事前学習済み部分の再利用(Prefix Reuse)など、様々なフェーズにおける KV Cache の容量管理と並列処理のコストを、プラットフォーム全体としてバランスさせる必要があります。
#### 6.5 投機的デコーディングの考慮
さらに、複数の候補を同時に生成して検証する「投機的デコーディング」の手法も、これらのアテンションメカニズムの性能評価や実装において重要な要素となります。
7. まとめ
以上のように、Attention の各形態(Full, Sparse, Linear)にはそれぞれ明確な数学的根拠と、それに対応するトレードオフが存在します。技術の進化は、単純に「計算量を減らす」ことだけでなく、「どこで誤差を受け入れるか」「どの難問をどこへ転移させるか」という本質的な選択の上に成り立っています。
結論を先に明確にしましょう。Softmax は単なる思いつきや、工程上の妥協点ではありません。数学的に見れば、それは最適解そのものです。「1 単位のアテンション予算」「点積によるスコアリング」「エントロピーの保持」という 3 つの前提条件の下では、Softmax が唯一の解となります。本節の核心は明確です。スコア付け→スケーリング→正規化→加重平均という各ステップが、それぞれ役割を担っています。
1.1 スケールド・アテンションから確率单纯形へ
一言で要約すれば、「点積がスコア付けを行い、スケーリングが数値の尺度を安定させ、Softmax がそのスコアを総量 1 のアテンション予算へと変換する」のです。
ある Query に対して、各 Key との関連性をスコアとして算出します。このスコアは任意の実数であり、そのまま重みとして使うことはできません。Softmax を適用することで、以下の性質を持つ値に変換されます。
変換後の重みは自動的に 2 つの制約を満たします。すなわち、「すべての要素が非負であること」と「全要素の和が 1 になること」です。これらの制約を満たすベクトル群は、確率单纯形(probability simplex)を形成します。
例えば次元数が 3 の場合、これは三角形となります。任意のスコアベクトルも Softmax を通ることでこの三角形内部へと圧縮されます。この 2 つの制約それぞれが、重要な利点をもたらします。
第一の利点は「出力尺度の安定性」です。出力は Value の加重平均(凸結合)となり、常にこれらの Value が形成する凸包内に収まります。これに対し、正規化を行わない単純な和を計算すると、トークン数が増えるほど数値が大きくなり、1K トークンを処理した場合と 1M トークンを処理した場合では結果のスケールが全く異なります。正規化を行うことで、出力の尺度は系列長から独立します。
第二の利点は「競争関係の形成」です。総和が 1 であることは、すべての Key が固定された予算を共有していることを意味します。ある Key に多くの予算を割り当てるためには、他の Key からその分を取り戻さなければなりません。「どの Key がより関連性が高いか」という判断は、まさにこのゼロサムゲーム(競争)を通じて行われます。対照的な例として独立したゲート制御があります。各位置でシグモイド関数を通す場合、すべてのゲートを同時に開けることも可能であり、モデルは相対的な判断を行う必要がなくなります。
最後にスケーリングについてです。Query と Key の各次元が互いに独立し、平均 0・分散 1 を持つと仮定すると、点積の値は次元数が高くなるほど分散が大きくなります。この分散を拡大する Softmax は、スコアが散らばった状態になるとすぐに「最高得点のみが 1 になる(one-hot)」という挙動に退化し、勾配も集中して消失してしまいます。これを防ぐため、√d で割ることで、分散を次元数に依存しない一定値に保ちます。これにより Softmax は、「区別がつくが飽和していない」適切な動作領域で機能します。これが温度パラメータを 1 に設定する理由です。
imageSoftmax Attention: スケールド・アテンションから確率单纯形へ
1.2 Softmax は片側エントロピー正則化付き最適輸送問題の唯一解
一言で要約すれば、Optimal Transport(最適輸送)の視点から見ると、アテンションは「1 単位の質量を配分する問題」として理解できます。コスト関数と正則化項を明確に定義し、これを最小化する問題を解くと、答えは Softmax であり、しかもそれは唯一の解となります。
まず全体像を把握しましょう。Query は荷主(貨物所有者)で、1 単位の質量を持っています。各 Key は目的地です。1 単位の質量を Key j に運ぶ際の輸送コストは、負の類似度(-s_ij)と定義されます。つまり、関連性が高いほど輸送コストは低くなります。a_ij は Key j に運ばれる質量を表します。
ここで注意すべき点は、「荷主が合計 1 単位の質量を出すこと」のみを固定しており、各目的地(Key)が受け取る量については規定していないことです。このため「片側輸送(one-sided transport)」と呼ばれます。この「片側」という点が極めて重要です。両側に配分制限がある場合(双边輸送)、閉じた解は得られず Sinkhorn 法による反復計算が必要となりますが、片側のケースであれば解析的に直接解くことができます。
最小化すべき目的関数は以下の 2 つの項から構成されます。
この二つの方向は相反しており、一種の綱引きを形成しています。第一項は総コスト(総エンタングルメント)で、これが単独で最適化されると、すべての質量がスコアが最も高いキーに集中し、argmax へと退化します。第二項は負エントロピーで、これが単独で最適化されると、質量は均一な分布へと広がります。
温度パラメータがこの綱引きを調整するノブの役割を果たします。温度がゼロになれば one-hot 分布となり、無限大になれば均一分布になります。有限の値をとる場合は、主役と脇役が存在する妥協点を得ることができます。
この最適化問題は標準的なラグランジュ乗数法で解くことができ、四つのステップで完了します。まず、制約条件にラグランジュ乗数を導入し、次に各変数について偏微分してゼロとおきます。
ここで重要な観察点は、第二の因子が変数を含んでおらず、すべてのキーに対して同じ値を持つことです。これは単なる未定定数に過ぎません。これを代入して消去すると、以下の式が得られます。
これがまさに Softmax です。言い換えれば、Softmax の正規化分母は設計者が「追加した」テクニックではなく、予算制約をラグランジュ乗数によって自動的に導き出した結果なのです。
最後に「唯一性」についてです。エントロピー項の二階微分は負の値をとるため、この項は厳密に凸関数となります。これに線形のコスト項を加えても凸性は保たれるため、目的関数全体が厳密に凸になります。単純形(シンプレックス)もまた凸かつ有界な集合であるため、極小点は必ず存在し、ただ一つに定まります。
結論として、これは条件付きの必然です。「単位質量制約」「点積コスト」「シャノン負エントロピー」という三つの前提を受け入れる限り、正規化関数は Softmax 以外あり得ません。他のメカニズムを望むのであれば、前提を変更する必要があります。正則化項を変えれば Sparsemax や Entmax が生まれ、実行可能領域を狭めれば Sparse Attention となり、クエリごとの分布を放棄すれば Linear Attention となります。
image1.3 LogSumExp 関数が前向の分配と後向の学習を結びつける
一言でまとめれば、Softmax の背後には母関数である LogSumExp が潜んでおり、その一階微分が前向きの注意力分布を、二階微分が後向き伝播における競合構造を与えます。つまり、前向きと後ろ向きは一枚の硬貨の表裏のような関係にあるのです。
この母関数は、式 1 の双対ポテンシャル関数として定義されます。
これは「ソフト化された max」と理解できます。温度パラメータがゼロに近づくと、この関数は最大値へと収束します。スコアに対して勾配を求めると、結果はちょうど注意力分布そのものになります。
つまり、前向きの Softmax による分配は、単にこのポテンシャル関数の傾きに過ぎません。さらにこのポテンシャル関数に対してもう一度微分すると、ヘッシアン行列が得られます。
これは見慣れた顔です。それはカテゴリカル分布の共分散行列そのものです。これには二つの直感的な解釈が可能です。第一に、すべての要素に同じ定数を加えても(全 1 ベクトル方向への移動)、この行列はゼロになります。つまり、すべてのロジットに同じ値を加えても分布は変わらないという、Softmax の平移不変性が保証されます。第二に、これは現在の分布がスコアの摂動に対してどの程度敏感かを測る指標です。分布が集中すればするほど共分散は小さくなり、「押し動かすのが困難」になります。
後向き伝播(バックプロパゲーション)において、この行列が直接計算に使われます。損失関数が確率に対する微分係数をとし、連鎖律を適用すると以下の式が得られます。
式 4 は、もう少し噛み砕いて説明する価値があります。各キーのスコアに対する勾配は、「そのキー自身の損失信号から、すべてのキーの平均損失信号を引いたもの」に比例します。この平均値が自動的にベースラインとして機能し、あるキーが現在の平均よりも良いパフォーマンスを示すか悪い場合にのみ、相対的に評価が高められたり低められたりするのです。
強化学習に詳しい読者ならお分かりいただけるでしょう。これはベースライン付きのアドバンテージ更新と同じ構造です。つまり、Softmax は単なる前向きの正規化テクニックではなく、構造化された後向きの信用配分メカニズムを無料で提供しているのです。前向きでどのように予算を競い合うかによって、後向きでも同様に勾配を競い合うことになります。
ついでに、分類分布におけるフィッシャー情報行列は式 3 と比較すると、ある係数の違いがあるだけです。この同一の行列が、ポテンシャル関数の曲率、確率流形上の計量、そして逆勾配の競合構造という三つの役割を同時に担っています。Softmax を置き換えることは可能ですが、その場合、この「三位一体」の関係は自動的に成立しなくなり、正則化項と幾何学的な構成を新たに設計する必要が生じます。
1.4 必須条件としての Softmax が持つ代償
一言でまとめると、前述の証明は「特定の前提条件下では Softmax が唯一解である」というものでしたが、その前提自体には代償が伴います。具体的には以下の二つの実用的なコストが存在します。第一に、計算リソース(予算)を使い切らないと Attention Sink が発生します。第二に、コンテキスト長が増大すると、アテンションは自動的に分散してしまいます。
まず、コストその一についてです。計算リソースは必ず使い切る必要があります。つまり、各 Query に対しては 100% の重み配分を強要され、たとえその層で注目すべき内容がほとんどない場合でも、全ゼロの重みを出力することはできません。学習における一般的な対策として、意味的に無関係なトークン(通常は先頭のトークン)を「ゴミ箱」として機能させ、余剰な確率質量を受け入れる手法があります。これが Attention Sink です。これは単体形制約下での no-op(何もしない操作)の工程実装と解釈できますが、懸念点もあります。例えば、ウィンドウを切り取る際にこの Sink トークンを削除すると、Softmax の分母が急激に変化します。高いスコアを持つトークンが残っていても、確率分布全体がドリフト(ずれる)する可能性があります。
次にコストその二です。コンテキスト長の外挿は自動的に保証されるものではありません。すべての logits が固定された区間に収まる場合、各重みは特定の範囲に挟まれます。この上下限は、分母の競合相手が増えるにつれて、1/N の速度で縮小します。直感的には、スコアの「音量」に限界がある一方で、分母における競争者が急増するため、各位置が得られるアテンションは 1/N に収束してしまいます。百万トークンという長文においても、同様に鋭い選択性を維持したいのであれば、logit の差を N に比例させて拡大するか、温度パラメータを動的に変化させる必要があります。正規化と競争には一定の原則がありますが、固定された温度パラメータの下で長コンテキストの外挿を行うことは、無料の午餐ではありません。
⚠️ ここには適応型温度(Adaptive Temperature)の適用機会があるように思われます。
なお、前提条件を変更すれば別のメカニズムが得られます。これは Softmax の失敗ではなく、問題設定が変わっただけです。負エントロピーを二次正則化に置き換えると、解は単体形への射影である Sparsemax となり、重みを正確にゼロにすることができます。Tsallis エントロピーを用いれば Entmax が得られます。本報告で後述する Sparse Attention は異なるアプローチを採用しています。すなわち、正則化項を変更するのではなく、Softmax の計算に参加する候補集合を縮小することで効率化を図ります。
1.5 正確な Full Softmax が持つグローバル依存は普遍的に回避できない
一言でまとめると、各 Query の分母はすべての可視 Key に依存するため、誤りを許容せずに「広く見る」ことを普遍かつ効率的に行うことは不可能です。Linear や Sparse なアプローチは、いずれも追加の仮定を置くことで計算速度の向上を実現しています。
問題の本質は正規化定数にあります。これはグローバルな性質を持ち、任意の Key がすべての重みに影響を与えます。
「干し草の山の中の針(needle in a haystack)」のような議論を用いると、この点は明確な結論として導かれます。あるアルゴリズムが総計 N 個の QK ペアしかチェックしない場合、少なくとも一つの行(ある Query)に対しては、チェックされる位置が N 個に限定されます。敵対的な入力を作成する側は、その Query で未チェックとなっている位置に極めて高いスコアの要素を仕掛けるだけで十分です。正確な Softmax は確率のほとんどをその要素に割り当ててしまいますが、アルゴリズムはその位置を認識していないため、「針がある場合」と「ない場合」の入力を区別することができず、誤差には決してゼロにならない下限が存在することになります。
この結論を正確に読み解く必要があります。これはすべての計算モデルに対する無条件の下限を示しているわけではありません。重要なのは、「敵対的入力(adversarial inputs)を許容し、分布に関する仮定を置かず、QK 対のチェックを通じてのみ情報を得られる」という特定の条件下において、「普遍的な二次未満の計算量」と「漸近的な完全な精度」は両立できないという点です。
逆に言えば、これが Linear Attention や Sparse Attention が成立する理由も説明しています。Linear Attention は「過去の情報は固定サイズの状態で圧縮できる」と仮定し、Sparse Attention は「高品質な確率質量を安価なインデクサーで事前に特定できる」と仮定しています。これらの仮定が正しければ加速は真実となり、仮定が崩れれば誤差もまた真実となります。これが後続の章における比較の基準線(ベンチマーク)となるのです。
- Softmax Attention の線形化から GDN へ
前節の最後で提示された選択肢を思い出してください。「すべての Query に対して『全履歴を見る』という二次コストを支払いたくないなら、情報の処理方法そのものを変える必要があります」。ここではまず Linear Attention を見てみましょう。蘇教授(Su)は『Softmax Attention をゲート付きデルタネット(Gated DeltaNet: GDN)へ線形化する』[1] という記事でこのテーマを論じています。本節では、その内容を私が整理したノートです。
ここで問われるのは、「Softmax から出発し、どのような導出の道筋をたどれば、GDN のような線形再帰モデルに到達できるのか」という点です。そのルートマップは以下の 4 ステップで構成されます。
2.1 まず「愚かな道」を示す:全注意力行列を一度にテイラー展開すると、能力に限界のある Vanilla Linear Attention にしかたどり着けないこと。
2.2 Softmax 自体が、正確なデルタ再帰(delta recurrence)を内包していることに気づくこと。
2.3 各ステップで近似する数を一つに絞り込み、Query を再帰式から分離しようとする試み。
2.4 分離の過程で生じる障害に対処し、GDN の形へと落とし込むこと。
核心となる情報を一言で要約すれば、「GDN は安易に組み立てられた門控 RNN(ゲート付きリカレントニューラルネットワーク)ではなく、Softmax の正確な再帰式を『局所的近似』と『Query の分離』というプロセスを経て導出した結果として自然に現れた形態である」ということです。
2.1 全行列の一次展開では Vanilla Linear Attention にしか至れない
一言でまとめると、「すべての注意力重みを一度に一次近似(一階展開)すると、得られるのは Vanilla Linear Attention です」。このアプローチには三つの欠点がありますが、すべてがこの「一度に全部を近似する」という過剰な手法に起因しています。
固定された Query に対する因果 Softmax の出力は以下のようになります。
最も直接的な線形化の試みは、「すべてのロジット(logits)が平均値付近に集中しており、突出した要素がない」と仮定し、各重みを一次展開することです。つまり、「均等配分+αの線形補正」を適用するのです。
これを出力式に代入すると以下のようになります。
これは「出力=Value の平均値+修正項(行列乗算)」と解釈できます。方括弧内の行列は Key と Value の相互共分散型行列であり、「どの Key 方向にどのような Value の偏移が伴うか」という情報を保持しています。
良い点は、この行列をシーケンスを見ながら逐次累積し、固定サイズの状態で維持できるため計算量が線形になることです。しかし、悪い点も三つあり、いずれも根本的な問題です。
第一に、一次近似された重みは負の値を取り得るため、もはや確率分布ではなくなります。これにより、§1.1 で述べた凸結合(convex combination)や予算競争の性質がすべて失われます。
指数競争が線形応答に圧縮される:あるキーのスコアが他を圧倒的に上回った場合、Softmax はそのキーに圧倒的な重みを付与する一方、線形モデルはわずかに多めに配分するだけで、「勝者総取り」のような鋭い選択を表現できません。
個々の重みが同時に近似されるため、誤差は特定の箇所に集中せず、アテンションマップ全体に均一に広がります。これがバニラ・ラインアー・アテンションの能力限界であり、その後のアプローチが回避しようとする課題です。
2.2 Softmax には正確なデルタ(増分)再帰が存在する
一言でまとめると:近似を一切行わなくても、Softmax の出力は本質的に「新しい出力=旧予測+ステップ幅×残差」という関係式を満たします。デルタ・ルールは外部から強要されたものではなく、Softmax に元々備わった属性です。
分母の計算において、分母は段階的に累積され(Σ)、これにより出力を正確な再帰式で記述できます。
式 6 は以下のように解釈できます。新しいトークンが入ってくるたびに、出力は旧予測から新観測へと一歩ずつ移動し、そのステップ幅は新トークンの自己重みです。これはオンライン学習において最も古典的なデルタ・ルール更新そのものです。ここで重要なのは、この過程に一切の近似が含まれておらず、完全に正確である点です。
ではなぜこれをそのまま使えないのでしょうか?再帰式に含まれる「旧予測」は特定のクエリに対するものだからです。クエリが変われば、その再帰を最初からやり直さなければなりません。シーケンス内の各位置には固有のクエリが存在するため、計算コストは O(N^2) となり、何ら節約になりません。これにより、線形化の真の目標が明確になります。Softmax を削除するのではなく、クエリを状態の再帰プロセスから分離し、履歴の状態をキーとバリューの累積のみで構成させ、最後にクエリを一度読み込むようにすることです。
2.3 対角成分の重みだけを近似し、クエリを分離する
一言でまとめると:今回は各ステップにおける一つの数値(新トークンの自己重み)のみを近似します。履歴の重みは連乗によって自動的に保持されるため、アテンションマップ全体を展開して近似するよりも精度が高くなります。しかし、クエリを分離する過程で処理しきれない二次項が現れてしまいます。
まず、自己重みに対して一階近似を行い、かつこの近似を自己重みに限定します。
式 5 との違いはどこにあるでしょうか?式 5 はすべての N 個の重みを一度に近似しますが、ここでは各ステップで対角成分の一つのみを対象とします。それ以外の履歴重みは個別に近似する必要はありません。なぜなら、これらは自己重みの連乗によって正確に再構築できるからです。
式 8 は以下のように理解できます。トークン t の現在の重み=そのトークンが参加した瞬間の自己重み×その後の各ステップにおける「生存率」の積です。
逐次的な近似(因子ごとの近似)の方がなぜ正確なのでしょうか?簡単な例で見てみましょう。N=3 の場合、真の値は 1+ε+ε^2 ですが、N=3 で一階展開すると ε^2 が失われ 1+ε となってしまいます。逐次近似では ε^2 のような時間跨ぎの交差項を保持できますが、アテンションマップ全体を展開して近似する場合はこれらを一度にすべて捨ててしまうことになります。
次にクエリの分離です。出力がクエリ Q_t に対してアフィン(線形+定数)になることを目指します。
ここで状態 S_t は過去のキーとバリューのみによって決定され、クエリには依存しません。これにより状態はオフラインで再帰計算でき、クエリは最終段階でのみ読み込まれます。式 9 を正確な再帰(式 6)および対角近似(式 7)に代入すると、定数部分は順調に進みます。つまり、バリューの累積平均となります。
問題はもう一つの項にあります。展開すると以下のような項が現れます。
この項では Q_t が二回出現しており、Q_t の二次項です。しかし式 9 では Q_t に一次項しか割り当てられておらず、収容できません。ここには二つの道があります。
一つは、この項を無視して捨ててしまう方法です。これを行えば最終的に式 5 と等価なバニラ・ラインアー・アテンションに戻ってしまい、結局は何も変わりません。
もう一つはこの項を処理する方法です。残差に含まれる旧予測 Q_t を、未来のクエリに依存しない代替クエリ Q̂_t に置き換えます。その代償として誤差が生じるため、問題は「どの Q̂_t を選べば誤差が最小になるか」という点に移ります。
2.4 最小誤差を実現する代替により GDN の形態が導かれる
一言でまとめると:「自己重みが大きい方向ほど誤りを許さない」という原則に基づいて代替クエリを選ぶと、答えは中心化されたキーになります。整理された再帰式は、「全体減衰」「定向消去」「書き込み残差」の三要素から構成され、GDN(Gate-based Delta Network)とほぼ同じ形ですが、Q̂_t を学習可能なゲートに置き換える違いがあります。
まず、置換のコストを定量化します。式 6 の最後の旧予測 Q_t を Q̂_t に置き換えた際の誤差は以下のようになります。
構造は非常に親和性が高く、誤差が自己重みによって自動的に調整され、全体としてスケーリングされます。つまり、自己重みが小さい方向については、置き換えても問題ありません。重要なのは、自己重みが最大となる方向を保護することです。そこで極大・極小の原則を採用し、最も危険な方向の誤差をゼロにすることを優先します。
式 7 より、Query のノルムを制限し、Query と Key のスケールが同等であると仮定すると、自己重みが最大となるのは中心化された Key(記号:K_center)です。これを代入して整理し、KDA 論文の表記形式に直すと以下のようになります。
式 11 は、3 つの動作の重ね合わせであり、どれか一つ欠けても成り立ちません。
- 全体減衰:古い状態を均等に縮小する(無差別な忘却)
- 定向消去:現在の Key の方向に沿って、旧内容を一部削除する(Delta Rule の「まず誤りを修正」)
- 残差書き込み:同じ方向に新しい情報を追加する(「後書き込み」)
標準的な Gated DeltaNet と比較すると、式 11 と式 12 ではゲートの配置位置と中心化の約束がわずかに異なりますが、明らかに同一の代数族に属しています。導出過程における固定された時間表現を、GDN はデータ依存性の学習可能なゲートへと拡張しました。この導出チェーンが示す定性的な結論は、GDN の「減衰+消去+書き込み」という 3 つの要素が任意に組み合わされたものではなく、それぞれが Softmax の厳密な Delta 再帰式から導かれるものであるという点です。
ただし、その限界も正しく読み取る必要があります。これは GDN が Softmax の局所近似であることを示すものであり、両者が大域的に等価であるとは限りません。
- Linear Attention の能力と限界
前節で GDN の形態を導出しましたが、ここではより根本的な 2 つの問いに答えます。なぜ Linear Attention は、長さに比例して増大する KV Cache を固定サイズの状態に変換できるのか?その変換にはどのような代償が伴うのか?私はこの点について繰り返し問いただし続けています。将来、コンテキスト長が 500 万〜1000 万に達した際、状態行列は本当にそのような大量の情報を保持できるのでしょうか。
読み進めるための道筋:
- 3.1「可能」な側面:カーネルトリックがどのように歴史を圧縮し、DeltaNet と GDN が書き込みルールをどう改善するか
- 3.2「代償」を 4 つの項目に整理する
- 3.3 具体的な反例を用いて各項目を検証。各反例は基礎的な線形代数のみを使用し、実際に計算で検証可能
- 3.4 各種改良手法がなぜ無料ではないかを表でまとめる
核心となるメッセージを一言でまとめると、「固定状態の上限はカーネルの書き方が不十分だからではなく、『歴史を先に圧縮し、その後に問いに答える』という構造自体の限界によるもの」です。
3.1 核結合則から固定状態へ
一言でまとめると、Similarity を二つの特徴ベクトルの内積に置き換えることで、和の順序を交換できるようになり、すべての歴史情報を固定サイズの行列に圧縮できます。DeltaNet と GDN の改良は、この行列に「どのように書き込むか」に集中しています。
典型的なカーネル化 Linear Attention では、類似度を以下のように近似します。
したがって、
と定義すれば、長さ L の KV Cache を、固定サイズの状態 S で置き換えることができます。
式 (13) の意味:重要なのは、分子の項と分母の項にどちらも含まれていない点です。これにより、履歴情報を事前に「」と「」として集約しておき、クエリが到来した際に直接参照できるようになります。「」は固定ページ数の帳簿とイメージしてください。そこには「どの Key 方向に対応する Value が何か」が記録されています。一方、「」は対応するカウンターであり、正規化を担当します。これは §2.2 の末尾で設定された目標そのものです。つまり、状態は Key と Value の累積のみによって決定され、クエリは最後に一度だけ読み取るという仕組みです。
GDN と KDA はもはや無条件の累算を行うだけでなく、「」をテスト時のオンライン学習における高速な重みと解釈します。トークンが一つ来るたびに、状態を小さなモデルとして扱い、現在のサンプルを用いてそのモデルに対して 1 ステップの学習を行います。各手法の違いは、使用する損失関数の違いに帰着されます。バニラ・線形アテンションに対応する目標では、
式 (14) の意味:まず帳簿内で「」が現在何に対応しているか(旧予測値)を確認し、それを消去してから新しい「」を書き込みます。つまり「先読み書き」です。純粋な累算と比較して、これは衝突する関連性を上書きできます。同じ Key に対して新しい Value が設定された場合、古い内容は積み重なるのではなく、クリアされます。GDN はさらにスカラー減衰を追加し、帳簿全体を各ステップで少しずつ薄めることで、アクセスされなくなった旧情報も徐々に消滅させます。
3.2 固定状態の代償は単一の近似誤差ではない
一言でまとめれば:固定状態の代償とは「精度が少し落ちる」という一点ではなく、互いに独立した四つの課題です。それは「容量不足」「将来のクエリを知らずに圧縮することによる問題」「鋭い選択が平滑化されること」、そして「長距離再帰における数値リスク」の四つです。
第一の課題は容量の問題です。状態「」はシーケンス長に依存しませんが、履歴には任意の数の独立した事実が含まれ得ます。帳簿のページ数は固定されていますが、記録すべき事実は無限に増え得ます。独立した関連性が状態の有効自由度を著しく超えた場合、複数の Key が同じ状態方向を共有せざるを得なくなります。これは二つの記録が同一ページに押し込まれるようなものです。Key が類似しているにもかかわらず Value が異なる場合、新しい書き込みは古いマッピングを上書きします。デルタ則(Delta Rule)は上書きの方向をより賢く選択できますが、無限の容量を生み出すことはできません。
第二の課題は、より隠れた「クエリ非依存圧縮」に由来するものです。「」の状態は将来のクエリを確認する前に、何を保持し何を捨てるかを決定してしまいます。まるで図書館が読者の来訪前にどの本を棚に並べ、どの本を廃棄するかを決めなければならないようなものです。フル・アテンションでは、新しいクエリごとにすべての Key を再スキャンできます(すべての書庫の本は倉庫に残り、必要な時に随時取り出せます)。一方、線形アテンションは事前に圧縮された統計量のみを検索対象とします。将来のクエリ分布の外側にある「ニードル」に対しては、圧縮器がすでに唯一関連するトークンを失っている可能性があります。これが純粋な線形モデルにおいて、正確な複製や多キー関連性の検索、位置依存の記憶において後れを取る原因の一つです。
第三の課題は鋭さ(シャープネス)の問題です。Softmax の指数関数的な競争関係は完全には保持されません。テイラー展開や有限の特徴写像は、特定の logit 範囲と分布においてのみ指数核を近似するものです。少数のスコアが指数関数的な優位性を持って勝つ必要がある場合(§1.1 で述べた「勝者総取り」)、有限次元の状態では鋭い選択が平滑化された混合へと変容してしまいます。本来は特定の要素だけが突出すべき注意機構が、大鍋飯のように均されてしまうのです。正規化分母の状態「」を保持することでスケールを制御することはできますが、統合されてしまったトークンの正体を取り戻すことはできません。
第四の課題は数値的安定性です。これは再帰的な遷移における長距離乗積に起因します。GDN において、
履歴情報は「」と一連の非直交なランク-1 変換を経験します。ゲート(門)はジレンマを伴うノブのようなものです。小さすぎると長期情報が指数関数的に消失し(0.9 を数百回掛け合わせれば何も残らなくなります)、一方、1 に近づきすぎると状態の干渉が蓄積します(何も忘れないため、帳簿が次第に混雑していきます)。各ステップが安定していても、長距離乗積によって方向性の収縮や条件数の悪化が生じる可能性があります。これには Key の正規化、適切なゲートパラメータ化、そしてブロック処理における対数領域での計算が必要です。
これらの四つの課題は、次の小節でそれぞれ検証可能な反例として提示されます。
容量制約に関する§3.3.1–§3.3.4(衝突、ランク上限、次元の壁)、
クエリ非依存な圧縮に対応する§3.3.7 末尾の因果矛盾、
鋭敏性に対応する§3.3.5 と §3.3.8、
書き込みと忘却ルール自体のバイアスに対応する§3.3.5–§3.3.7、
KDA が効率のために支払う表現力の代償に対応する§3.3.9。
3.3 圧縮射としての数学的反例
一言でまとめると、Linear Attention を「圧縮」と「読み出し」の二段階パイプラインに分解した際、一つの判別基準が明確になります。一度同じ状態に圧縮された二つの歴史は、その後のクエリをどう変えても区別できなくなります。§3.3.1–§3.3.9 の反例はいずれもこの判別基準に基づいて構成されており、§3.3.10 でこれらが混合アーキテクチャに与える意味をまとめます。
まずは枠組みを整えましょう。用語自体は恐れる必要はありません。歴史を以下のように定義します。
Full Softmax Attention は、各歴史に対して「質問応答マシン」を一つ定義します。任意のクエリを入力として受け取り、対応する重み付けされた Value を出力します(これが以下の写像です。「射」という用語は単に「写し出し」あるいは「写像」として理解してください)。
一方、固定状態の Linear Attention は、この質問応答マシンを二段階のパイプラインに強制分割します。
式 16 の意味:第一段階 $\phi$ は圧縮であり、歴史全体を固定サイズの状態 $s$ に圧縮します。この処理では未来のクエリは参照できません。第二段階 $\psi$ は読み出しであり、クエリが来ても参照できるのはこの状態だけです。重要なのは中間にある「くびれ」です。すべての历史信息はこの固定サイズのパイプ $s$ を通らなければなりません。
すると、非常にシンプルながら強力な判別基準が導かれます。Linear Attention がすべての入力に対して Full Attention と厳密に等価であるためには、以下の条件を満たす必要があります。
式 17 の意味:一度圧縮されて同じ状態になった二つの歴史は、読み出し段階で得られる情報も出力も完全に同一になります。したがって Linear を Full と等しくするには、「Full で区別可能な歴史は、圧縮後も区別できる状態を保たねばなりません」。逆に言えば、Full の出力が異なるにもかかわらず圧縮後の状態が同じである二つの歴史を見つければ、等価性が成り立たないことが証明されます。
以下の反例はいずれもこの論理に基づいています。集合の言葉で言えば、写像 $\phi$ は単射ではありません(異なる入力を同一点に押しつぶしてしまいます)。圏論の用語を使えば、このような圧縮関手は忠実(faithful)ではないということです。二つの表現は本質的に同じことであり、後文では「衝突」という言葉を用います。
3.3.1 同じ線形状態が異なる Softmax 写像に対応する
一言でまとめると:一変数の歴史を二つ用意するだけで、頭計算で衝突を作り出すことができます。線形状態は完全に同一ですが、Full Softmax の出力は異なります。
まず最小限の一変数反例を見てみましょう。正規化された双一次アテンションを用います。
長さ $T=2$ の二つの歴史を考えます(各括弧内は一対のスカラー値 $(k, v)$ です)。
これら二つは完全に同一の線形状態を持ちます(直ちに確認できます:$H_1$ は $s=(1, 1)$ を、$H_2$ も $s=(1, 1)$ を与えます)。
したがって、任意のクエリ $q$ に対して Linear Attention は常に同じ出力を返します。
登録簿(レジストリ)の観点から見れば、その理由は明白です。状態は「Key で重み付けされた Value の総和」と「Key の総和」の二つの数値しか記憶していません。これらの総和が $(1, 0)$ と $(0, 1)$ の組み合わせによって構成されたのか、それとも $(0.5, 0.5)$ と $(0.5, 0.5)$ の組み合わせによって構成されたのかは、もはや問いようがありません。一方、Full Softmax Attention は各トークンの元のアイデンティティを保持しているため、この二つの歴史を区別できます。
$q=(1, 0)$ を取ると、
$\text{Output}(H_1) = (1, 0)$
となりますが、
$\text{Output}(H_2) = (0.5, 0.5)$
となり、二つの出力は確かに異なります。
この反例の意図は、すべての特徴写像がこの特定の歴史で衝突すると言っているわけではありません。重要なのは衝突が引き起こす結果です。一度 $\phi$ が二つの歴史を統合してしまえば、その後の読み出し処理がどれだけ複雑であっても、それらを再区別することはできません。まるで異なる配合の砂糖水が同じコップに注がれてしまった後、どんなに高度な機器を使っても元の配合を特定できないようなものです。読み出し関数を変えても、圧縮段階で失われた情報を回復することは不可能です。
3.3.2 任意の有限特徴状態には零空間衝突が存在する
一言でまとめると、前節の衝突は単なる運の悪さではなく、線形代数の必然です。トークン数が特徴ベクトルの次元を超えれば、無限に多くの衝突を体系的に構成することは必ず可能です。
より一般的な線形アテンション(Linear Attention)において、特徴次元を d とし、N 個のキーの特徴を行方向に並べて行列 K を作成します。状態と正規化ベクトルは以下のように表せます。
ここで N > d の場合(つまりトークン数が特徴次元より多い場合)、
この式の意味するところは、d 次元のトークン空間が d' 次元へと圧縮される際、「鳩の巣原理」により必ず何らかの方向が潰れてしまうことを保証している点です。これが零空間であり、非ゼロのベクトル z が存在して Kz = 0 を満たします。
この z を用いることで衝突を生成できます。任意の出力方向 w を選び、第二組のバリュー V' を以下のように構成します。
両方の履歴でキーが完全に同一であるため、K は同じ値を持ちます。また、
式 19 の意味は、バリューに追加した摂動 z が圧縮された「盲点」(零空間)に含まれているため、線形アテンションの状態はこれに対して全く無感であり、結果として両者の状態が完全に一致してしまうことです。一方、フルアテンション(Full Attention)の出力差は以下のようになります。
ここで α はフルソフトマックスの重みです。あるクエリ q において α がゼロでない値を持つ限り、両方の履歴をフルアテンションで区別することは可能ですが、線形アテンションでは必ず同じ出力を返さなければなりません。
この条件は決して厳しくありません。ソフトマックスの重みは q の非線形指数族の中で変化するため、通常は z と直交する固定された超平面上にすべてが落ちることはありません。「すべてのクエリがたまたま同じ方向を見失う」という状況を実現するには、非常に特殊な偶然が必要となります。
この反例は、「バリューの幅 W を増やしても記憶問題が解決しない理由」についても同時に答えています。衝突が発生するのは、トークン軸が K によって圧縮される段階であり、ボトルネックは「少数のトークンを d 次元の特徴に押し込む」という点にあります。W を拡大することは単に紙の幅を広げるだけであり、肝心のページ数(特徴次元)不足という問題には触れていません。d 次元の履歴における零空間は依然として変化しません。
3.3.3 指数核は全ランクになり得るが、有限特徴核にはランク上限が存在する
一言でまとめると、指数関数は一入力の入力であっても「任意に多くの互いに混同されない相互作用パターン」を生成可能(=全ランク)であり、有限特徴核では最大でも d 種のパターンしか持てません。この差には計算可能な下界が存在します。
零空間における反例は、明確なランクの障壁へと発展させることができます。一入力のクエリとキーを取り、互いに異なる値 q_i を選びます。以下のように定義します。
非正規化されたソフトマックス核行列は以下のようになります。
これはヴァンデルモンド行列(各行が同一組の数値の逐次べき乗であり、「べき乗表」のような構造を持つ)です。q_i が互いに異なれば、その行列式はゼロにはなりません。
したがって rank(K) = N となります。指数核はこの N 個のクエリにおいて、反応パターンが完全に独立していることを意味します。一入力の入力だけで十分です。ソフトマックスは左側から正の行正規化対角行列を掛けるだけなのでランクを変えず、結果として
有限特徴を持つ線形アテンションの核行列は以下のようになります。
したがってそのランクは最大でも特徴次元 d に制限されます(二つの行列の積のランクは、中間の次元を超えられないため)。
N > d の場合、これはフルソフトマックス行列と一致することは不可能です。しかもこの差は「理論的に存在する」だけでなく定量化可能です。Eckart-Young 定理(最適低秩近似の誤差は捨てられた特異値の二乗和に等しい)によると、ランクが N' 以下の任意の近似は次式を満たします。
ここで σ_i は K の特異値です。
式 23 の意味するところは、最適な d 次元近似をどのように選んでも、誤差にはゼロより大きい厳密な下界が存在することです。もし N' = N とすれば、アテンション出力はそのまま注意力行列そのものとなるため、この核の誤差は直接出力の誤差となり、バリューによる射影で隠すことはできません。
この反例は、指数核と有限特徴核の根本的な違いを浮き彫りにします。クエリとキーが 1 次元であっても、指数関数は任意の数の異なるキーに対して全ランクの相互作用を生み出せます。それは無限にチャンネルを切り替えられるラジオのようなもので、各キーには独自のチャンネルがあります。一方、有限次元ではすべての相互作用が d 次元の関数空間に制限され、利用可能なチャンネルは d 個だけです。ランダム特徴を使えば近似確率を高め、d を大きくすることで誤差を減らせますが、d が固定されたままでは、任意に増大する n に対して普遍的な精度を保つことはできません。
3.3.4 非線形学習状態も連続的な次元の制約を受ける
一言でまとめると:前述の反例は「線形圧縮」を指摘したものでしたが、「GDN や KDA のような非線形ゲート更新なら回避できるのではないか?」という疑問が生じます。答えは「不可能」です。なぜなら、高次元の情報を連続的に低次元空間に損なうことなく詰め込むことは、位相幾何学の原理上あり得ないからです。
零空間やランクに関する反例は主に明示的な有限特徴写像を対象としていますが、GDN や KDA の状態更新がデータ依存かつ非線形であるとしても、状態の次元が固定され更新が連続的であれば、より一般的な次元の壁が存在します。
キーを一定に保ち、バリュー行列が開集合内で変化すると仮定します。任意の学習済み再帰型アテンションが歴史情報を d 次元の状態空間に圧縮すると考えます(ここで d はすべての永続状態要素の総数です)。もし歴史の自由度が状態の格子数よりも多い場合、つまり n > d であれば、n から d への連続的な単射は存在しません。これは位相幾何学的な次元不変性の直接的帰結であり、直感的には「平面地図を線の上に重なりなく連続的に広げることはできない」という話と同じです。更新器がどれだけ巧妙であっても、門控機構が複雑であっても、n 個の局所的自由度を持つ開集合をより低次元のユークリッド空間に衝突なしで押し込むことはできません。この議論は更新器内部の構造や門控の複雑さには一切依存しません。
これらの衝突がアテンションにおいて実際に観測可能であることを示すため、前節で構築した n 個のクエリを使用します。対応するソフトマックス行列 S は正則であり、クエリバンクの結合出力は以下のようになります。
S が正則であるため、写像 f は単射です。つまり、この Full Attention のクエリセットは完全な「試験問題」のセットのように機能し、結合出力からすべての n 個のバリューを復元できます。各バリューが個別に問いかけられるのです。もしこれが
のように正確に分解できたとすれば、写像 g も単射でなければなりません(全体として n を復元できるなら、最初の段階で情報を失ってはならない)。しかしこれは n > d の場合における連続的な次元の結論と矛盾します。
単頭 KDA において、永続行列状態は通常 d < n となります。したがって、この理想化された探査タスクでは、n > d となった時点で単頭の非衝突容量を超えてしまいます。ただし、この結論は慎重に読む必要があります。マルチヘッド、畳み込み状態、ゲート機構によって総状態次元を高めることは可能であり、実際の学習分布が任意の開集合であるとは限りません。したがって、これは特定の長さでモデルが失敗することを直接予測するものではありません。しかし、より素朴な事実を証明しています。つまり、永続状態の次元が歴史の長さに伴って増大しない限り、任意の連続的な GDN や KDA がすべての実数値履歴を損なうことなく記憶することは数学的に不可能です。「無限の歴史を有限の状態に収める」ことには数学的な道はなく、残された課題は「何を捨て、どのように捨てるか」という点のみです。
3.3.5 類似したキー上でのデルタ則による被りバイアス
一言でまとめると:デルタ則の「先に消して後から書く」プロセスにおける消去は方向性に基づいて行われます。2 つのキーの方向が非常に近接している場合、新しい情報を記録する際に古い情報も一緒に消去されてしまいます。結果として、後書き込みが先書き込みをほぼ完全に上書きすることになります。
デルタ則は無条件な累積を修正しますが、その際、現在のキーの方向に沿って過去の予測を削除します。2 つのキーが高度に相関している場合、新しい関連付けに伴う過去の予測を削除する行為は、古い関連付け自体も同時に削除してしまいます。
k1 と k2 をともに単位ベクトルとし、両者の類似度を cosθ = k1^T k2 とします。ここで θ は 0 に近いと仮定し、k1 = [1, 0]^T、k2 = [cosθ, sinθ]^T と置きます。
最初の関連付け v1 を書き込むと:
次の関連付け v2 を書き込むと:
再び k1 で最初の関連付けを照会すると:
式 24 の意味は以下の通りです。求めたいのは v1 ですが、得られるのはわずかな v2(係数 cosθ)と大量の v1(係数 sin²θ)の混合です。もし θ が非常に小さければ、v1 の係数は sin²θ ≈ 0 に近づき、結果として v1 はほぼ完全に失われます。
2 つ目の Value の汚染係数は 0.98 です。つまり、2 つの Key がわずかな角度の違いしかない場合、後から書き込まれたデータは先書きされたデータをほぼ完全に上書きしてしまいます。
直感的なイメージを説明しましょう。2 つ目のデータを書き込む際、Delta Rule は Δv の方向に沿って消去操作を行います。ここで、Δk と k1 はほぼ同じ方向を向いており、k1 はまさにその消去パス上に存在します。そのため、k1 はついでに抹殺されてしまうのです。
これは実際のタスクにおいて、「名前の似通った 2 つのエンティティ」や「同一変数への 2 回の代入」という状況に対応しています。Key が類似しているのは、特殊なケースではなく、むしろ一般的な状態です。
一方、Full Softmax は同じ Key と Query のセットに対しては全く問題を起こしません。1 つ目のデータの重みは以下のようになります。
β > 0 であれば、Δk1 · Δq < 0 のときに β(Δk1 · Δq) < -1 となります。つまり、2 つの Key が 0.01 というわずかな類似度の差しかない場合でも、Full Attention は温度パラメータを調整することでこの微小な差異を無限に拡大し、k1 を正確に選択できます。
決定的な違いは「タイミング」にあります。Full Attention は区別処理を「読み取り時」に行います(その時点では k1 と k2 の両方がまだ完全な状態です)。一方、Delta 状態のモデルでは、k2 が書き込まれる段階で k1 がすでに削除されており、読み取り時に温度パラメータをいくら下げても、一度失われた情報は回復できません。
KDA(Channel-wise Decay)は一部のチャネルにおいて情報をより長期間保持させることができますが、式 24 に示される方向性の衝突という根本的な問題は残ります。もし類似した Key が同じ状態サブスペースにルーティングされた場合、対角ゲートでは衝突の強さや持続時間を調整することはできても、両方の関連性を正確に可逆的に保証することはできません。
3.3.6 状態更新が非交換であることが順序バイアスを生む
一言でまとめると:Full Attention は歴史を「集合」として扱います(位置エンコーディングがない場合、先来後到の順番は重要ではありません)。一方、Delta 状態のモデルでは「後書きが勝つ」ルールが適用されます。同じ 2 つの記録でも、書き込む順序が異なれば、最終的な状態も異なります。
Full Attention は位置エンコーディングを使用しない場合、Key-Value の集合に対して並列不変性(Permutation Invariance)を持ちます。つまり、同じ Key に対する Value の出現順序を交換しても、出力は変わりません。しかし、Delta 状態の更新は非交換です。Δk1 · Δv1 を先に実行してから Δk2 · Δv2 を行うのと、その逆を実行するのでは結果が異なります。
1 次元の場合を考えましょう。γ = 0.98 と固定し、減衰因子を使用しない場合、1 回の書き込みは以下の式で表されます。
この式の含义:k1 の旧状態を保持しつつ、k2 の新値を混合します。後から書き込まれたデータほど、その後の操作によって希釈される程度が少なくなります。
t=1 から k1 を書き込み、次に k2 を書き込む場合:
逆に、k2 を先に書き込んでから k1 を書き込む場合:
両者の差は以下のようになります。
式 25 の意味:この 2 つの順序による差は γ に比例します。γ < 1 かつ k1 ≠ k2 であれば、順序の違いが状態に痕跡を残すことになります。特に γ = 0.98 の場合、状態は完全に最後の書き込みの結果と等しくなり、厳密な「Last-Write-Wins(最後書き込み優先)」の挙動を示します。
これに対し、Full Softmax は同じ Key に対して同一の重みを割り当て、出力は以下のようになります。
これは順序に依存しません。
公平な視点で言えば、順序への敏感性が常に欠点であるわけではありません。言語やプログラム状態には本来、順序が存在します。「変数 x がまず 1 に代入され、次に 2 に代入された場合、現在の x の値は何か」という問いに対して、「Last-Write-Wins」のルールはまさに正解です。この文脈では、非交換性は有用な帰納的バイアス(Inductive Bias)となります。
しかし、反例が示すのは別の側面です。タスクのセマンティクスが集合への集約や複数の証拠の平均化であり、かつ 2 つの名前が同じエンティティを同時に保持する必要がある場合、非交換的な再帰は系統的な「近因バイアス(Recency Bias)」を引き起こします。モデルは本能的に、最近書き込まれた内容を優先してしまいます。GDN や KDA の減衰メカニズムはこの順序の非対称性をさらに強化します。
3.3.7 忘却ゲートには「長期保持」と「迅速な削除」の両立不可能性がある
一言でまとめると:1 つの減衰率では「記憶の寿命」を 1 種類しか定義できませんが、タスクによっては「古い情報を保ちつつ」「不要になった情報をすばやく消去する」という相反する要求が同時に発生します。数学的に、単一の時間スケールでこの両方を同時に満たすことは不可能です。
ある記憶が書き込まれた後、その後の Key がすべてその方向と直交しており、Delta 修正によって直接破壊されない場合を考えましょう。これはその記憶にとって最も優しい設定です。この場合、減衰はゲートによるもののみが生じます。
固定されたスカラーゲート γ = 0.98 を使用し、t = 10 ステップ経過した後の、その記憶の最大保持率は以下のようになります。
γ^t = 0.98^10 ≈ 0.82
つまり、たとえ最も優しい条件下であっても、10 ステップ後には元の情報の約 18% が失われてしまいます。
1% の忘却を毎ステップで繰り返すと、1000 ステップ後には残存率が万分之一未満にまで低下します。もし現在のクエリにおいて「古い針」が最も高い Softmax 値を得ている場合、フルアテンション(Full Attention)は相関性に基づいて重みの大部分をそこに割り当てます(年齢は関係ありません)。一方、GDN はクエリの出現前に年齢情報だけで信号をほぼゼロまで圧縮してしまいます。つまり、「年齢が決定権を持ち、相関性が反応する猶予がない」状態です。
この対立は、同時に満たすことができない 2 つの不等式として表現できます。重要情報が長さ L の後でも少なくとも比率 α を維持することを要求すれば、
また、同じチャネル内の古びた情報が L ステップ後に β 以下に低下することを要求すれば、
となります。ここで γ < α(消去要件が保持要件よりも厳しい)の場合、2 つの不等式が指定する γ の範囲は互いに重なり合いません。1 つのノブで 2 つの異なる回転速度を同時に生み出すことは不可能です。KDA は K 個のチャネルによって複数の時間スケールを提供し、単一のノブを K 個に置き換えることで、GDN が抱える単一時間スケールの衝突を緩和します。しかし、保存すべき独立した事実や寿命カテゴリが有効なチャネル数を超えた場合、鳩の巣原理により複数の事実が減衰方向を共有せざるを得なくなり、再び衝突が発生します。
データ依存ゲートもこの矛盾を完全に解消することはできません。なぜなら、これは本質的に因果の問題だからです。未来のクエリがまだ出現していない段階で、状態更新器は現在時点で「その情報が将来重要になるかどうか」を判断しなければなりません。2 つのシーケンスが先頭の 2 つのトークン(プレフィックス)まで完全に同じでありながら、未来のクエリが異なる場合、現在のゲート値は必然的に同一になります(ゲートはプレフィックスしか見ていないため)。しかし、最適な忘却の判断は正反対になる可能性があります。これは「クエリに依存しないオンライン圧縮」における予測的な限界であり、ゲートネットワークの深さを増やすだけで普遍的に解決できる問題ではありません。
3.3.8 一階 Softmax の線形化は凸包から外れる
一言でまとめると:§1.1 で述べた通り、Softmax の出力は常に Value の凸包内に留まりますが、2 つのトークンという単純な計算例でも、一階線形化された出力はこの凸包の外へ飛び出してしまいます。その結果、「確率」が負の数になることさえあります。
Softmax からバニラ型 Linear Attention への Taylor 展開による経路にも、直接的な反例が存在します。2 つの logits をそれぞれ x と y、2 つのスカラー Value をそれぞれ v1 と v2 としましょう。厳密な Softmax の出力は以下のようになります。
x が 0 に近い場合の一階展開は次の通りです。
ここで ε = 0 と置くと、
となります。
厳密な出力は常に Value の凸包 [min(v1, v2), max(v1, v2)] の内部に留まります(2 つの Value の加重平均が両端を超えることはあり得ないため)。しかし、一階近似による出力は v1 + ε(v1 - v2) となり、これは凸包を直接突き抜けてしまいます。逆算して対応する近似確率を求めると、
となります。
ある「確率」が 1.5 に、もう一方が負の数になります。もはやそれは確率分布ではありません。これが§2.1 で指摘された最初の欠陥が具体的な数値でどう現れるかを示しています。 logits の値が小さい範囲では誤差は三階項から生じ始めますが、
つまり、logits が穏やかな状態であれば一階近似もそれなりに機能しますが、logits の差が大きくなるとすぐに制御不能になります。これは Linear Attention が学習分布内においては、投影、正規化、ゲート制御を通じて平均的な偏差を補正できることを示唆していますが、一階展開だけで大域的な確率の意味を保証するものはありません。
公平起见のために注記しておきますが、GDN や KDA のような学習型ゲートは固定された Taylor 公式よりも遥かに強力です。したがって、この反例は線形化という動機そのものを批判するものであり、「KDA の出力が必ず境界を超える」と誤解されるべきではありません。
3.3.9 KDA の対角ゲートと束縛 DPLR は任意の状態変換ではない
一言でまとめると:KDA は高速化のために、状態遷移に 2 つの制約(消去方向は現在の Key に固定、減衰は座標軸に沿う)を課しています。そのため、一般的な DPLR が 1 ステップで行える変換の一部を、KDA は 1 ステップでは実行できません。
KDA の効率性はこれらの制約によるものです。
汎用的な DPLR では、遷移行列を A = UV^T と表現でき、U と V は独立に選択可能です。「どの方向で検知するか」と「どの方向へ削除するか」を別々に選べます。一方、KDA では左側の低ランク方向が U = K に、右側の低ランク方向が V = K であることが要求されます。つまり、両方の方向が現在の Key K によって固定されてしまいます。その結果、単純な非対称遷移であっても、単一のステップで KDA が表現できるものではありません。
二次元空間において、以下の目標遷移を考えましょう。
式 30 が示す意味は、"偵察と撤去の役割分担"という転移です。第 2 座標系で衝突を検知しながらも、第 1 座標系から内容を削除するという、検出方向と削除方向が異なるケースです。
KDA(Kernelized Diagonal Attention)の非対角要素は以下の通りです。
式 30 と整合させるには、最初の項を非ゼロにし、2 つ目の項をゼロにする必要があります。しかし、両者の違いは単に $\alpha$ と $\beta$ の入れ替えだけであり、構造は極めて対称的です。これが"バインディング(束縛)"によって引き起こされる連帯責任です。
最初の項が非ゼロであるためには、以下の条件が必要です。
しかし、$\alpha = \beta$ のとき、2 つ目の項をゼロにするには $\gamma = 0$ を強制されます。すると、
と目標とする $\gamma \neq 0$ が矛盾してしまいます。一つの副作用を消し去ろうとして、本来は変更すべきでない対角要素までゼロにしてしまうのです。したがって、式 30 は汎用的な DPLR(Diagonal-plus-Low-Rank)モデルであれば単一のステップで表現可能ですが、KDA では単一ステップでは表現できない明確な反例となります。
対角ゲートにはもう一つの制約があります。それは"基底依存性"です。2 次元空間において、対角方向を保持し、その直交方向を忘却したい場合、理想的な射影は以下のようになります。
これは対角行列ではありません。対角ゲートでは座標軸に沿ってのみ刻度的に保持または忘却を行うことができるため、保持したい方向が座標系の中で斜めに存在する場合、単一のステップで対角ゲートだけでは対応できません。
原文を表示
原创 渣B 2026-07-27 18:39 浙江
image
之所以重拾这个话题, 其实是被 Kimi K3 的模型表现勾起了好奇心. 我特别想搞清楚KDA的收益.
TL;DR
之所以重拾这个话题, 其实是被 Kimi K3 的模型表现勾起了好奇心. 我特别想搞清楚: K3 的收益究竟来自数据质量, 模型结构, 还是模型规模? 其中基于 Linear Attention 的 KDA 又贡献了多少? 同样的追问也适用于 Qwen 3.8 的 GDN 方案.
本文不预设任何立场, 也无意站队. 尽管之前因为分析过一些 Linear 相关的内容, 有支持 Linear 路线的大佬差点要找我吵架......
接下来我们从标准 SDPA 出发, 逐步拆解 Linear 和 Sparse 两条技术路线. 概括地说, 两者都是在国内算力受限情况下的工程权衡.
Sparse Attention 的思路是通过限制支持集来压低计算复杂度, 主要风险在于漏掉高质量的 token;
Linear Attention 走的则是压缩全部历史的路线, 核心风险来自状态管理, 冲突, 以及不可逆的遗忘.
当模型规模进一步膨胀到 5T~10T 量级时, 在国内算力受限的大背景下, Attention 架构的演进路径会走向何方? 不妨先算一笔简单的账: 训练一个 10T 规模的模型, 所需训练数据大约在 200T~300T token 的量级; 如果全部使用国产算力, 可能需要近 20 万张卡, 整个集群的建设成本最保守估算在 400 亿~600 亿之间. 这个数字对某些已经上市的基模厂商来说也并不轻松. 按集群 3 年折旧计算, 单次基模预训练的成本大约是 20~30 亿.
那么在这个时候弄清楚 Linear 和 Sparse 的选择, 或者这个问题本身的价值就在20亿左右.
本文目录如下
- 从标准的Full Attention谈起
- 1.1 从缩放点积到概率单纯形
- 1.2 Softmax 是单边熵最优输运的唯一解
- 1.3 LogSumExp 势函数把前向分配和反向学习连在一起
- 1.4 必须使用 Softmax 不等于 Softmax 没有代价
- 1.5 精确 Full Softmax 的全局依赖不能被普遍绕过
- 从 Softmax Attention 线性化到 GDN
- 2.1 全矩阵一阶展开只能得到 Vanilla Linear Attention
- 2.2 Softmax 本身存在精确的 Delta 递推
- 2.3 只近似对角权重, 再分离 Query
- 2.4 最小误差替代产生 GDN 形态
- Linear Attention 的能力与局限
- 3.1 从核结合律到固定状态
- 3.2 固定状态的代价不是单一的近似误差
- 3.3 作为压缩态射的数学反例
- 3.3.1 同一个线性状态对应不同的 Softmax 态射
- 3.3.2 任意有限特征状态都存在零空间碰撞
- 3.3.3 指数核可以满秩, 有限特征核存在秩上限
- 3.3.4 非线性学习状态也受连续维数约束
- 3.3.5 Delta Rule 在相近 Key 上会发生覆盖偏差
- 3.3.6 状态更新不交换会引入顺序偏差
- 3.3.7 遗忘门存在长期保留和快速清除的不可兼得
- 3.3.8 一阶 Softmax 线性化会离开凸包
- 3.3.9 KDA 的对角门和绑定 DPLR 不是任意状态变换
- 3.3.10 反例对混合架构的含义
- 3.4 Linear Attention 的替代方案为何都不是免费午餐
- KDA 对 GDN 的修正及其剩余问题
- 4.1 从统一遗忘变为逐通道遗忘
- 4.2 KDA 的位置解释
- 4.3 WY 和 UT 如何把递推映射到 GPU
- 4.4 KDA 的效率
- 4.5 KDA 没有解决的问题
- Sparse Attention 的数学逻辑
- 5.1 Sparse 是对单纯形可行域的限制
- 5.2 被删除概率质量直接控制输出误差
- 5.3 静态稀疏通过图结构换取可预测访问
- 5.4 动态稀疏把难题移到索引器
- 5.4.1 起点 DSA: 轻量索引器加 top-k 的生产级配方
- 5.4.2 HiLS: 把"选得准"从模仿升级为端到端学习
- 5.4.3 IndexCache: 把"挑得便宜"做到跨层
- 5.4.4 演进小结: 难题的三次迁移
- 5.5 压缩注意力: DeepSeek-V4 把稀疏建立在有损压缩之上
- 5.5.1 机制: 两级压缩率加一个滑动窗口
- 5.5.2 数学定位: 在商空间上求解同一个 EOT 问题
- 5.5.3 工程收益
- 5.5.4 压缩注意力没有解决的问题
- 5.6 演进小结: 难题的三次迁移
- 内存访问模型与并行性
- 6.1 三类Attention机制的KVCache容量和Decode带宽
- 6.2 Sparse 的不规则访问为何可能吞掉 FLOPs 收益
- 6.3 Linear 状态矩阵会不会成为局部热点
- 6.4 KV Cache 容量与并发: Prefill, Decode 与 Prefix 复用的平台账
- 6.5 考虑投机解码
- 一些总结1. 从标准的Full Attention谈起
先把结论说透: Softmax 并不是随手拍脑袋想出来的, 也不是工程上的折中. 在数学上, 它本身就是最优解. 在"单位注意力预算 + 点积打分 + 保留熵"这三个前提下, 它是唯一解. 本节主线很清晰: 打分 → 缩放 → 归一化 → 加权平均, 每一步各司其职.
1.1 从缩放点积到概率单纯形
一句话总结: 点积负责打分, 负责稳住分数的尺度, Softmax 负责把分数变成一份总量为 1 的注意力预算.
对单个 Query , 先给每个可见 Key 打一个相关性分数
分数可以是任意实数, 不能直接拿来当权重. Softmax 把它们转成
变换后的权重自动满足两个约束: 每一项非负, 且总和为 1. 满足这两个约束的向量构成了概率单纯形
时它就是一个三角形, 任何分数向量都会被 Softmax 压进三角形内部. 这两个约束各自带来了一个好处.
好处一: 输出尺度稳定. 输出
是 Value 的加权平均 (凸组合), 永远落在这些 Value 围成的凸包里. 对比一下不归一化的求和 : token 越多, 数值越大, 看 1K 个 token 和看 1M 个 token 的结果根本不在同一尺度上. 归一化让输出尺度与序列长度解耦.
好处二: 竞争, 而不是各开各的门. 总和为 1 意味着所有 Key 共享一份固定预算, 想多给某个 Key 一点, 就必须从其他 Key 那里扣回来. "谁更相关"因此变成了一场零和竞争. 反例是独立门控: 每个位置各自过一个 sigmoid, 可以同时全开, 模型根本不需要做相对判断.
最后说缩放. 若 和 各维近似独立, 且零均值单位方差, 则
维度越高, 分数越散, 而 会放大这种差距: 分数一散, Softmax 就提前退化成最高分独占 (one-hot), 梯度也随之集中和消失. 除以 后
方差与维度无关, Softmax 得以工作在"有区分度但不饱和"的区间. 这就是温度取 的缘由.
imageSoftmax Attention: 从缩放点积到概率单纯形1.2 Softmax 是单边熵最优输运的唯一解
一句话总结: 以 Optimal Transport 的视角来看, 注意力可以理解为"运送 1 单位质量"的分配问题. 写清成本和正则后求解, 答案不多不少, 恰好是 Softmax, 而且是唯一的答案.
先建立图景. Query 是货主, 手里有 1 单位质量; 每个 Key 是一个目的地; 把 1 单位质量运到 Key 的运费是负相似度
即越相关, 运费越低. 就是运到 Key 的质量. 注意这里只固定了"货主总共发出 1 单位" (), 不规定每个 Key 必须收多少, 所以叫单边输运. 这个"单边"很关键: 双边输运 (两端都有配额) 没有闭式解, 要靠 Sinkhorn 迭代; 单边则可以直接解出来.
要最小化的目标由两项组成:
两项方向相反, 构成一场拉锯. 第一项是总运费, 它单独最优时会把全部质量压到分数最高的那个 Key (退化成 argmax); 第二项是负熵, 它单独最优时会把质量摊成均匀分布. 温度 是拉锯的旋钮: 得到 one-hot, 得到均匀, 有限 则得到一个有主有次的折中.
求解只需要标准的拉格朗日方法, 四步走完. 对约束 引入乘子 , 对每个 求导并令其为零:
关键观察: 第二个因子不含 , 对所有 Key 都一样, 它只是一个待定常数. 代入 把它消掉, 得到
这正是 Softmax. 换句话说, Softmax 的归一化分母并不是设计者"加上去"的技巧, 而是预算约束通过拉格朗日乘子自动逼出来的.
最后是"唯一"二字. 的二阶导为 , 所以熵项严格凸; 加上线性的成本项不改变凸性, 目标整体严格凸. 单纯形又是凸紧集, 因此极小点存在且唯一. 结论是条件性的必然: 只要接受单位质量约束, 点积成本和 Shannon 负熵这三个前提, 归一化函数就只能是 Softmax. 想要别的机制, 就得改前提: 换正则得到 Sparsemax/Entmax, 缩小可行域得到 Sparse Attention, 放弃逐 Query 分布得到 Linear Attention.
image1.3 LogSumExp 势函数把前向分配和反向学习连在一起
一句话总结: Softmax 背后藏着一个母函数 LogSumExp, 它的一阶导数给出前向的注意力分布, 二阶导数给出反向传播的竞争结构, 前向和反向因此是同一枚硬币的两面.
这个母函数是式 1 的对偶势函数
可以把它理解为"软化的 max": 时它趋于 . 对分数求梯度, 得到的结果恰好就是注意力分布
也就是说, 前向的 Softmax 分配只是这个势函数的斜率. 再对 求一次导, 得到 Hessian
并不是陌生面孔, 它就是分类分布 的协方差矩阵. 有两个直观的读法: 第一, 它对全 1 方向为零, 即所有 logits 同加一个常数, 分布不变, 这正是 Softmax 的平移不变性; 第二, 它衡量当前分布对分数扰动的敏感程度, 分布越集中, 协方差越小, 就越"推不动".
反向传播时这个矩阵直接上场. 设损失对概率的导数为 , 链式法则给出
式 4 值得用大白话重述一遍: 每个 Key 的分数梯度, 正比于"它自己的损失信号减去所有 Key 的平均损失信号". 平均值自动充当了基线, 一个 Key 只有在比当前平均表现更好或更差时, 才会被相对地推高或压低. 熟悉强化学习的读者会认出, 这就是带基线的 advantage 更新. 所以 Softmax 不仅是前向的归一化技巧, 它同时免费提供了一套结构化的反向信用分配机制: 前向怎么竞争预算, 反向就怎么竞争梯度.
顺带一提, 分类分布的 Fisher 信息矩阵是 , 与式 3 只差一个 因子. 同一个矩阵同时承担了三种角色: 势函数的曲率, 概率流形的度量, 以及反向梯度的竞争结构. 换掉 Softmax 当然可以, 但这套"三位一体"就不再自动成立, 需要另起炉灶重新搭配正则项和几何.
1.4 必须使用 Softmax 不等于 Softmax 没有代价
一句话总结: 上面证明的是"在给定前提下 Softmax 唯一", 但这些前提本身并非没有代价. 这里有两个实际成本: 预算花不完时会出现 Attention Sink, 上下文变长时注意力会被自动摊薄.
代价一: 预算必须花完. 单位预算意味着每个 Query 必须把 1 分完, 哪怕这一层其实没什么值得关注的内容, 也不能输出全零权重. 训练的常见对策是让某个语义上无关紧要的 token (往往是开头的 token) 充当"垃圾桶", 吸收多余的概率 (即 Attention Sink). 这可以理解为单纯形约束下的一种 no-op 工程实现. 但它也带来了一个隐患: 截断窗口时如果把这个 Sink token 删掉, Softmax 的分母会突变, 即使高分 token 都还在, 整个分布也可能发生漂移.
代价二: 长度外推并非自动成立. 若所有 logits 落在固定区间 , 则每个权重都被夹在
之间, 上下界都随 以 的速度收缩. 直觉是: 分数的"音量"有上限, 而分母里的竞争者越来越多, 每个位置分到的注意力只能是 . 想在百万 token 中保持同样尖锐的选择, logit 差距必须随 增长, 或者温度要跟着变化. 归一化和竞争固然是有原则的, 但固定温度下的长上下文外推并不是免费的午餐.
⚠️ 似乎这里有一个Adpative Temperature的机会.
另外, 改前提就得到别的机制. 这不是 Softmax 的失败, 而是换了问题. 把负熵换成二次正则 , 解就变成向单纯形投影的 Sparsemax, 权重可以精确为零; 用 Tsallis 熵则得到 Entmax. 本报告后面讨论的 Sparse Attention 走的是另一条路: 不换正则, 只缩小参与 Softmax 竞争的候选集合.
1.5 精确 Full Softmax 的全局依赖不能被普遍绕过
一句话总结: 每个 Query 的分母依赖于全部可见 Key, 想要普遍地少看又不出错, 在对抗性输入下是不可能的; Linear 和 Sparse 都是靠额外假设来换取加速.
问题出在归一化常数上: 它是全局的, 任何一个 Key 都影响所有权重.
needle in a haystack 式的论证把这一点变成了明确的结论: 假设某算法总共只检查 个 QK 对, 那么至少有一行 (某个 Query) 只被检查了 个位置; 对抗者只需在这一行没被看过的位置里塞进一个超高分数, 精确 Softmax 会把几乎全部概率给它, 而算法根本没看到这个位置, 自然无法区分"有针"和"无针"两个输入, 误差因此存在一个不会消失的下界.
这个结论要读得准确: 它并不是对一切计算模型的无条件下界, 而是说, 在允许对抗性输入, 不做分布假设, 且信息只能靠检查 QK 对获得的设定下, "普遍亚二次"和"渐近精确"不可兼得. 反过来, 这也解释了 Linear 和 Sparse 为什么能成立: 它们各自加了假设. Linear 假设历史可以被固定大小的状态压缩, Sparse 假设高质量的概率质量能被便宜的索引器提前定位. 假设成立时加速是真的, 假设破产时误差也是真的. 这是后续所有章节的比较基线.
- 从 Softmax Attention 线性化到 GDN
上一节末尾留下了一个选择题: 不想为每个 Query 支付"看全部历史"的二次成本, 就必须改变信息处理的方式. 这一节我们先来看 Linear Attention. 苏老师写过一篇文章《将Softmax Attention线性化为Gated DeltaNet》[1], 本节内容是我就此整理的读书笔记.
本节回答的问题是: 从 Softmax 出发, 沿着什么样的推导路线才能走到 GDN (Gated DeltaNet) 这样的线性递推? 路线图分四步:
2.1 先展示一条"笨路": 把整张注意力图一次性泰勒展开, 只能得到能力有限的 Vanilla Linear Attention
2.2 发现 Softmax 自己就藏着一个精确的 Delta 递推;
2.3 改为每步只近似一个数, 并尝试把 Query 从递推中拆出去;
2.4 处理拆分时冒出的障碍, 落地成 GDN 的形态.
核心信息用一句话概括: GDN 不是拍脑袋拼出来的门控 RNN, 而是 Softmax 精确递推在经过"局部近似 + Query 分离"之后自然呈现的形态.
image2.1 全矩阵一阶展开只能得到 Vanilla Linear Attention
一句话总结: 一次性把全部 个注意力权重都做一阶近似, 得到的就是 Vanilla Linear Attention. 它的三个毛病全部源于这一步下手太重.
对固定 Query , 因果 Softmax 输出为
最直接的线性化思路是: 假设所有 logits 都挤在均值附近 (没有谁特别突出), 对每个权重做一阶展开
即"均匀分配 外加一点线性修正". 代入输出得到
可以看作: 输出 = Value 的平均值 + 一个修正矩阵乘 . 方括号里是 Key 和 Value 的互协方差型矩阵, 它记住的是"哪些 Key 方向伴随着哪些 Value 偏移".
好消息是这个矩阵可以边看序列边累加, 用固定大小的状态维护, 复杂度线性. 坏消息有三个, 而且都是根本性的:
一阶权重可能为负, 已经不再是概率分布, §1.1 的凸组合与预算竞争性质全部丢失;
指数竞争被压扁成线性响应: 当某个 Key 分数明显更高时, Softmax 会给它压倒性权重, 而线性式只能温和地多给一点, 表达不出"赢者通吃"的尖锐选择;
个权重被同时近似, 误差不是集中在某处, 而是均匀铺满整张注意力图.
这就是 Vanilla Linear Attention 的能力边界, 也是后续几步试图绕开的难题.
2.2 Softmax 本身存在精确的 Delta 递推
一句话总结: 不做任何近似, Softmax 的输出天然满足*"新输出 = 旧预测 + 步长 × 残差"* . Delta Rule 是 Softmax 自带的属性, 不是从外面强加的.
记分母 . 分母逐步累加 (), 输出因此可以写成精确递推
式 6 可以解读为: 每来一个新 token, 输出就从旧预测 向新观测 挪一步, 步长是新 token 的自权重 . 这正是在线学习中最经典的 Delta Rule 更新. 注意, 此处零近似, 完全精确.
那为什么不能直接用? 因为递推里的 是"针对这个 "的旧预测. 换一个 Query, 整条递推就得从头重跑; 序列里每个位置都有自己的 Query, 于是总代价是 , 一分钱没省. 由此看清线性化的真正目标: 不是要删掉 Softmax, 而是要把 Query 从状态递推中分离出去, 让历史状态只由 Key 和 Value 累积, Query 最后来读一次即可.
2.3 只近似对角权重, 再分离 Query
一句话总结: 这次只近似每步的一个数 (新 token 的自权重), 历史权重通过连乘自动保留, 所以比整图展开更准确; 但把 Query 拆出去时会冒出一个装不下的二次项.
第一步, 对自权重做一阶近似, 且只对它做:
与式 5 的区别在哪? 式 5 一次性近似了全部 个权重, 而这里每步只碰一个对角元素. 其余历史权重不需要单独近似, 因为它们可以由自权重连乘精确重建:
式 8 可以理解为: token 现在的权重 = 它入场那一刻的自权重, 乘上之后每一步的"存活率" .
逐因子近似为什么更准? 看一个玩具例子: , 而直接对 做一阶展开只剩 . 逐步近似多保住了 这样的跨时间交叉项, 整图展开则一次性把它们全丢了.
第二步, 分离 Query. 希望输出对 是仿射的:
其中状态 只由历史 Key/Value 决定, 与 无关. 这样状态就能离线递推, 只在最后读取. 把式 9 代入精确递推 (式 6) 和对角近似 (式 7), 常数部分很顺利: , 即 Value 的累积均值. 麻烦出在另一处: 展开后冒出
这一项. 在里面出现了两次, 是 的二次项, 而式 9 只给 留了一次方的位置, 装不下. 两条出路:
粗暴地把这项当小量扔掉: 可以证明最终会退回与式 5 等价的 Vanilla Linear Attention, 白忙一场;
或者想办法处理它: 把残差中的旧预测 换成 , 其中 是一个与未来 Query 无关的替代查询. 代价是引入误差, 于是问题变成: 怎么选才能让误差最小?
2.4 最小误差替代产生 GDN 形态
一句话总结: 按"自权重越大的方向越不许出错"的原则来选择替代查询, 答案恰好是中心化 Key; 整理出的递推正好是"整体衰减 + 定向擦除 + 写入残差"三件套, 与 GDN 只差把 换成可学习的门.
先量化替换的代价. 把式 6 里最后一个旧预测从 换成 , 误差是
结构很友好: 误差被自权重 整体缩放. 也就是说, 对那些自权重很小的 , 替换根本无所谓; 真正需要保护的是让 最大的那个方向. 于是采用极大极小原则: 优先让最危险的方向误差为零. 由式 7, 在限制 Query 模长且 Query 与 Key 尺度相当的假设下, 使自权重最大的方向正是 , 记作中心化 Key .
代入整理 (并写成 KDA 论文的状态方向), 得到
式 11 是三个动作的叠加, 缺一不可:
整体衰减: 把旧状态均匀打个折 (无差别遗忘);
定向擦除: 沿当前 Key 方向把旧内容删掉一块 (Delta Rule 的"先纠错");
写入残差: 在同一方向写入新信息 ("后写入").
对照标准 Gated DeltaNet:
式 11 和式 12 的门放置位置和中心化约定略有差异, 但明显属于同一代数族: 推导里的 与 是固定的时间表示, GDN 把它们升级成数据依赖的可学习门 和 . 这条推导链的价值在于定性结论: GDN 的"衰减 + 擦除 + 写入"三件套不是任意拼装出来的, 每一件都能在 Softmax 的精确 Delta 递推里找到出处. 但也要读准边界: 这说明 GDN 是 Softmax 的局部近似, 不说明两者全局等价.
- Linear Attention 的能力与局限
上一节推出了 GDN 的形态, 本节回答两个更根本的问题: Linear Attention 为什么能把随长度增长的 KV Cache 换成一个固定大小的状态? 这种替换到底要付出什么代价? 这也是我一直在追问的一个问题. 当未来 context length 达到 5~10M 时, 状态矩阵真能装得下这么多东西吗?
阅读路线:
3.1 讲"能"的一面: 核技巧如何折叠历史, DeltaNet 和 GDN 如何改进写入规则;
3.2 把"代价"归纳成四笔账;
3.3 用一系列具体的小反例把每笔账逐条兑现, 每个反例都只用到基础的线性代数, 可以动手验算;
3.4 用一张表总结各路改进为什么都不是免费午餐.
核心信息用一句话概括: 固定状态的上限不是某个内核写得不够好, 而是"先压缩历史, 再接受提问"这个结构本身的限制.
image3.1 从核结合律到固定状态
一句话总结: 把 换成两个特征向量的内积后, 求和顺序就可以交换, 全部历史都能折叠进一个固定大小的矩阵; DeltaNet 和 GDN 的改进都集中在"怎么往这个矩阵里写字"这件事上.
典型核化 Linear Attention 把相似度近似写成
于是
定义
即可用 的固定状态替代长度为 的 KV Cache.
式 13 的含义: 关键在于分子里的 和分母里的 都不含 . 这样历史可以先自己汇总成 和 , Query 到了直接查. 可以把 想象成一本固定页数的登记簿, 上面记着"哪个 Key 方向对应什么 Value"; 是配套的计数器, 负责归一化. 这正是 §2.2 结尾设定的目标: 状态只由 Key/Value 累积, Query 最后来读一次.
GDN 和 KDA 不再只做无条件累加, 而把 解释为测试时在线学习的快权重: 每来一个 token, 就把状态当作一个小模型, 用当前样本 对它做一步训练. 不同方法的差别就在于用的什么损失函数. Vanilla Linear Attention 对应目标
其更新只会不断增强新关联, 像只往登记簿上叠新墨迹, 从不擦旧字, 写多了必然糊成一团. DeltaNet 改用重构损失
一步梯度下降得到
式 14 的含义: 先查一下登记簿里 现在对应什么 (旧预测 ), 把它擦掉, 再写上新的 , 即"先擦后写". 与纯累加相比, 它能覆盖冲突关联: 同一个 Key 换了新 Value, 旧的内容会被清走而不是叠上去. GDN 再加入标量衰减, 让整本登记簿每步都淡化一点, 使不再被访问的旧信息也能逐渐消失.
3.2 固定状态的代价不是单一的近似误差
一句话总结: 固定状态的代价不是"精度差一点"这一件事, 而是四笔互相独立的账: 容量不够, 压缩时不知道将来要查什么, 尖锐选择变平滑, 以及长递推的数值风险.
第一笔账是容量. 状态 与序列长度无关, 但历史可以包含任意多的独立事实. 登记簿页数固定, 事实却可以无限多: 当独立关联数显著超过状态的有效自由度时, 多个 Key 必须共享状态方向, 相当于两条记录挤在同一页上. 如果 Key 相近而 Value 不同, 新写入会覆盖旧映射. Delta Rule 能更聪明地选择覆盖方向, 却不能创造无限容量.
第二笔账更隐蔽, 来自 Query 无关压缩. 状态在看到未来 Query 之前就已经决定了保留什么, 好比图书馆在读者到来之前就必须决定哪些书上架, 哪些书销毁. Full Attention 可以为每个新 Query 重新扫描全部 Key (所有书都留在库房, 随查随取), Linear Attention 只能查询事先压缩好的统计量. 对未来查询分布之外的 needle, 压缩器可能已经丢掉了唯一相关的 token. 这也是纯线性模型在精确复制, 多键关联检索和位置敏感回忆中容易落后的原因.
第三笔账是尖锐性. Softmax 的指数竞争没有被完整保留: Taylor 或有限特征映射只能在特定 logit 范围和分布上逼近指数核. 当少数分数需要以指数优势胜出时 (§1.1 说的"赢者通吃"), 有限维状态可能把尖锐选择变成平滑混合, 本该一家独大的注意力被摊成大锅饭. 若保留归一化分母状态 , 可以控制尺度, 但不能恢复被合并的 token 身份.
第四笔账是数值稳定性, 来自递推转移的长程乘积. 对 GDN,
历史信息经历 和一系列非正交 rank-1 变换. 门 是个两难旋钮: 太小会造成长期信息指数消失 (乘几百个 0.9 之后什么都不剩), 太接近 又会使状态干扰累积 (什么都不忘, 登记簿越来越挤). 即使每一步都稳定, 长乘积也可能产生方向性收缩和条件数恶化. 这要求 Key 归一化, 合理的门参数化, 以及分块时的对数域处理.
这四笔账在下一小节会被逐条兑现为可验算的反例:
容量账对应 §3.3.1–§3.3.4 (碰撞, 秩上限, 维数障碍),
Query 无关压缩对应 §3.3.7 末尾的因果矛盾,
尖锐性对应 §3.3.5 和 §3.3.8,
写入与遗忘规则自身的偏差对应 §3.3.5–§3.3.7,
KDA 为效率付出的表达力代价对应 §3.3.9.
3.3 作为压缩态射的数学反例
一句话总结: 把 Linear Attention 拆成"压缩"和"读取"两段流水线后, 一个判据变得一目了然. 凡是被压成同一个状态的两段历史, 之后无论怎么问都分不开; 3.3.1–3.3.9 的反例全部围绕这一个判据展开, 3.3.10 收拢它们对混合架构的含义.
先把框架搭好, 术语并不可怕. 令历史为
Full Softmax Attention 为每个历史定义一个"问答机器": 输入任意 Query, 输出对应的加权 Value (这就是下面的映射 , "态射"读作"映射"即可):
固定状态 Linear Attention 则强制这台问答机器拆成两段流水线:
式 16 的含义: 第一段 是压缩, 把整段历史压成固定大小的状态 , 它干活时看不到未来的 Query; 第二段 是读取, Query 来了只能查这个状态. 关键就在中间那个"细腰": 所有历史信息都必须挤过 这个固定大小的瓶颈.
于是有一个简单但威力很大的判据: 若 Linear Attention 要对所有输入精确等价于 Full Attention, 必须满足
式 17 的含义: 两段历史一旦被压成同一个状态, 读取段拿到的东西就一模一样, 输出必然相同; 所以想让 Linear 等价于 Full, 就必须保证"Full 能区分的历史, 压缩后仍然不同". 反过来, 只要找到两段历史, Full 的输出不同而压缩后的状态相同, 就证明了等价不成立
下面的反例全是这个套路. 换成集合语言, 这说明 不是单射 (会把不同输入压到同一点); 若用范畴论的话说, 这种压缩函子不是 faithful 的. 两种说法是一回事, 后文只用"碰撞"这个词.
3.3.1 同一个线性状态对应不同的 Softmax 态射
一句话总结: 用两段一维的, 可以口算的历史就能造出碰撞: 线性状态完全相同, Full Softmax 的输出却不同.
先看最小的一维反例. 使用归一化双线性注意力
考虑两段长度为 的历史 (每个括号是一对标量 ):
二者拥有完全相同的线性状态 (口算即可验证: 给出 , ; 给出 , )
因此对 , Linear Attention 都输出
从登记簿的角度看, 原因很直白: 状态只记住了"Key 加权后的 Value 总和"和"Key 总和"这两个数, 至于这些总和是由 凑出来还是由 凑出来, 已经无从追问. Full Softmax Attention 却能区分这两段历史, 因为它保留着每个 token 的原始身份. 取 , 有
而
而 , 两个输出确实不同. 这个反例不是要说所有特征映射都会在这两个具体历史上碰撞, 而是要展示碰撞的后果: 一旦 合并了历史, 后续读取无论多复杂都不能重新区分它们. 就像两杯不同配方的糖水倒进了同一个杯子, 之后换再高级的仪器也测不出原来是哪两杯. 改变读取函数无法恢复压缩时已经丢掉的信息.
3.3.2 任意有限特征状态都存在零空间碰撞
一句话总结: 上一小节的碰撞不是运气差, 而是线性代数的必然: 只要 token 数超过特征维数, 就一定能系统性地构造出无穷多组碰撞.
对更一般的核 Linear Attention, 令特征维度为 , 把 个 Key 的特征按行堆成矩阵
状态和归一化向量可写为
当 时 (token 数多于特征维数),
这个公式的含义: 把 维的 token 空间压到 维, 鸽巢原理保证一定有方向被压没. 这些方向就是零空间. 因此存在非零 使
有了这个 , 就可以产生碰撞. 任取输出方向 , 构造第二组 Value
两段历史使用完全相同的 Key, 所以 相同, 且
式 19 的含义: 往 Value 里加的扰动 恰好落在压缩的"盲区"里 (), 状态对它完全无感, 因此 Linear 状态完全相同. Full Attention 的输出差却是
其中 是 Full Softmax 权重. 只要存在某个 Query 使 , 两段历史就可被 Full Attention 区分, 而 Linear Attention 必须给出相同输出.
这个条件并不苛刻. Softmax 权重随 在一个非线性指数族中变化, 通常不会全部落在与 正交的固定超平面上. 想让所有 Query 都"恰好瞎在同一个方向上", 需要非常特殊的巧合.
该反例还顺带回答了一个常见疑问: 为什么增加 Value 宽度 不能单独解决记忆问题? 因为碰撞发生在 token 轴经过 压缩这一步, 瓶颈在"几个 token 挤进 个特征"这里. 只扩大 是把每页纸加宽, 而问题出在页数不够. 维的历史零空间纹丝不动.
3.3.3 指数核可以满秩, 有限特征核存在秩上限
一句话总结: 指数函数哪怕在一维输入上也能造出"任意多个互不混淆"的交互模式 (满秩), 有限特征核最多只有 种模式, 差距有一个算得出来的下界.
零空间反例可以进一步变成一个明确的秩障碍. 取一维 Query 和 Key,
并取互不相同的 . 令
未归一化 Softmax 核矩阵为
这是 Vandermonde 矩阵 (每行是同一组数的逐次幂, 像一张"幂次表"), 只要 互不相同, 它的行列式就不为零:
所以 : 指数核在这 个 Query 上的反应模式彼此完全独立. 一维输入就够. Softmax 只是在左侧乘一个正的行归一化对角矩阵, 不改变秩, 因而
有限特征 Linear Attention 的核矩阵为
故它的秩最多是特征维数 (两个矩阵相乘, 秩不会超过中间维度):
当 时, 它不可能等于 Full Softmax 矩阵. 而且差距不是"理论上存在", 而是可以量化的: 根据 Eckart-Young 定理 (最优低秩近似的误差等于被丢掉的奇异值平方和), 任意 rank 不超过 的近似都满足
其中 是 的奇异值.
式 23 的含义: 无论怎么挑最优的 维近似, 误差都有一个严格大于零的下界. 若令 , Attention 输出就是注意力矩阵本身, 所以这个核误差会直接变成输出误差, 不能被 Value 投影隐藏.
该反例揭示了指数核和有限特征核的本质差异. 即使 Query 和 Key 只有一维, 指数函数也能对任意多个不同 Key 产生满秩交互. 它像一台能无限换台的收音机, 每个 Key 都有自己的频道. 有限维 则把所有交互限制在 维函数空间中, 只有 个频道可用. 随机特征可以提高近似概率, 扩大 可以降低误差, 但固定 无法对任意增长的 保持普遍精确.
3.3.4 非线性学习状态也受连续维数约束
一句话总结: 前面的反例打的是"线性压缩", 有人会问 GDN/KDA 的非线性门控更新是不是能逃过去. 答案是逃不过, 因为拓扑学不允许把高维信息连续地无损塞进低维空间.
零空间和秩反例首先针对显式有限特征映射. GDN 与 KDA 的状态更新是数据依赖且非线性的, 但只要状态维度固定且更新连续, 仍存在更一般的维数障碍.
固定一组 Key, 让 Value 矩阵在一个开集
中变化. 设任意 learned recurrent attention 把历史压到
其中 是所有持久状态元素的总数. 若历史的自由度多于状态的格子数, 即
则不存在从 到 的连续单射. 这是拓扑维数不变性的直接结果, 直觉版本是: 你不能把一张平面地图连续地铺到一条线上而不发生重叠. 连续更新器再聪明, 也不能把含有 个局部自由度的开集无碰撞地塞进更低维的欧氏状态. 注意这个论证完全不关心更新器内部长什么样, 门控多复杂都一样.
为了说明这些碰撞对 Attention 确实可观测, 使用前一节构造的 个 Query. 对应的 Softmax 矩阵 可逆, Query bank 的联合输出为
由于 可逆, 映射
是单射. 换言之, 这组 Full Attention Query 像一套完整的"考题", 能从联合输出中恢复全部 , 即历史里的每个 Value 都能被问出来. 如果它能精确分解为
那么 也必须是单射 (整条链能恢复 , 第一段就不能丢信息), 这与 时的连续维数结论矛盾.
对单头 KDA, 持久矩阵状态通常有
因此在这个理想化探测任务中, 当 时就已经越过单头状态的无碰撞容量. 这个结论要读得克制: 多头, 卷积状态和门控可以提高总状态维度, 训练分布也远不是任意开集, 所以它不能直接预测真实模型在哪个长度失效. 它证明的是一个更朴素的事实: 只要持久状态维度不随历史长度增长, 任意连续 GDN 或 KDA 都不可能成为所有实值历史的无损记忆. "无限历史装进有限状态"在数学上就没有出路, 剩下的只是丢什么, 怎么丢的问题.
3.3.5 Delta Rule 在相近 Key 上会发生覆盖偏差
一句话总结: Delta Rule "先擦后写"里的擦除是按方向进行的, 两个 Key 方向很接近时, 擦新账会连旧账一起擦掉. 后写入几乎完全覆盖先写入.
Delta Rule 修正了无条件累加, 但它通过当前 Key 方向删除旧预测. 当两个 Key 高度相关时, 删除新关联的旧预测也会删除旧关联本身.
令 和 都为单位向量, 并记二者的相似度
取 , , . 写入第一条关联后
写入第二条关联得到
再次用 查询第一条关联时,
式 24 的含义: 想查的是 , 拿回来的却是一点点 (系数 ) 加一大坨 (系数 ). 若 , 第一条 Value 的系数只剩
而第二条 Value 的污染系数为 . 也就是说, 两个 Key 仅差很小的角度时, 后写入几乎完全覆盖先写入. 直观图景: 写第二条时, Delta Rule 沿 方向做擦除, 而 与 几乎同向, 恰好躺在擦除路径上, 被顺手抹掉了. 这在实际任务中对应"两个名字很像的实体"或"同一变量的两次赋值". Key 相近是常态, 不是刁难.
Full Softmax 面对同一组 Key 和 Query 完全没有这个问题, 第一条的权重为
只要 , 当 时有 : 哪怕两个 Key 只差 0.01 的相似度, Full Attention 也能通过调低温度把这点微小差距无限放大, 精确选中 . 关键差别在时机: Full Attention 把区分工作留到读取时做 (那时 和 都还完好), Delta 状态却在写入阶段就把 删了, 读取阶段无论用多低的温度都无法恢复.
KDA 的逐通道衰减能让部分通道更长期地保存信息, 但式 24 的方向冲突仍然存在. 若相近 Key 被路由到同一状态子空间, 对角门只能调整冲突的强弱和寿命, 不能保证两条关联都精确可逆.
3.3.6 状态更新不交换会引入顺序偏差
一句话总结: Full Attention 把历史当作一个集合 (没有位置编码时先来后到无所谓), Delta 状态却是"后写的赢". 同样两条记录, 写入顺序不同, 状态就不同.
Full Attention 在没有位置编码时对 Key-Value 集合是排列不变的. 对相同 Key, 交换两个 Value 的出现顺序不会改变输出. Delta 状态的更新则不交换 (先做 再做 和反过来, 结果不同).
考虑一维 , 固定 , 不使用衰减. 一次写入为
含义: 保留 的旧状态, 混入 的新值, 越晚写入的, 被后续冲淡得越少. 从 开始先写 再写 :
反向写入:
两者相差
式 25 的含义: 两种顺序的差正比于 . 只要 且 , 顺序就会留下痕迹. 当 时, 状态完全等于最后一次写入, 是严格的 last-write-wins (最后写的说了算). 相比之下, Full Softmax 对两个相同 Key 给出相同权重, 输出为
与顺序无关.
说句公道话, 顺序敏感并非总是缺点. 语言和程序状态本来就有顺序. "变量 x 先等于 1 后等于 2, 现在问 x 是几", last-write-wins 恰好是正确答案, 此时非交换性是有用的归纳偏置. 反例说明的是另一面: 当任务语义是集合聚合, 多证据平均, 或需要同时保留两个同名实体时, 非交换递推会产生系统性的近因偏差, 模型天然偏爱最近写入的内容. GDN 和 KDA 的衰减会进一步强化这种顺序不对称.
3.3.7 遗忘门存在长期保留和快速清除的不可兼得
一句话总结: 一个衰减速率只能定一种"记忆寿命", 但任务同时需要"老信息保得住"和"过时信息清得快". 单一时间尺度在数学上无法两头兼顾.
考虑某条记忆写入后, 后续 Key 都与其方向正交, 因而 Delta 修正不直接破坏它, 这已经是对该记忆最仁慈的设定, 它的衰减只来自门. 对固定标量门 , 经过 步后该记忆的最好保留比例仍只有
例如 且 时,
每步只忘 1%, 一千步后也只剩不到万分之一. 如果一个远古 needle 在当前 Query 下拥有最高 Softmax 分数, Full Attention 仍可把大部分权重分给它 (相关性说了算, 年龄无关); GDN 却在 Query 出现之前就按年龄把信号压到接近零了 (年龄说了算, 相关性来不及表态).
这个冲突可写成两个无法同时满足的不等式. 若要求重要信息在长度 后仍至少保留比例 , 则
若又要求同一通道中的过时信息在 步后降到 , 则
当 时 (清除要求比保留要求更严), 两个不等式给 划出的区间互不相交. 同一个旋钮拧不出两种转速. KDA 通过 个通道提供多个时间尺度, 相当于把一个旋钮换成 个, 缓解了 GDN 的单时间尺度冲突. 但当需要同时保存的独立事实和寿命类别超过有效通道数时, 鸽巢原理会让多个事实再次共享衰减方向, 冲突重现.
数据依赖门也不能完全消除这个矛盾, 因为它本质上是个因果问题: 在未来 Query 尚未出现时, 状态更新器必须现在就判断一条信息将来是否重要. 对两段前缀完全相同但未来 Query 不同的序列, 当前门值必然相同 (它只见过前缀), 但最佳遗忘决策可能恰好相反. 这是 Query 无关在线压缩的预测性限制, 不是靠增加门网络深度就能普遍解决的问题.
3.3.8 一阶 Softmax 线性化会离开凸包
一句话总结: §1.1 说过 Softmax 输出永远落在 Value 的凸包内, 一个两 token 的小算例就能让一阶线性化的输出跑出凸包. "概率"甚至变成负数.
Softmax 到 Vanilla Linear Attention 的 Taylor 路径还有一个直接偏差反例. 取两个 logits 为 和 , 两个标量 Value 为 和 . 精确 Softmax 输出为
在 附近做一阶展开得到
令 , 则
精确输出始终位于 Value 凸包 内 (两个 Value 的加权平均不可能超出两端), 一阶输出却给出了 , 直接越过凸包. 倒推对应的近似概率为
一个"概率"是 1.5, 另一个是负数, 已经不再是概率分布. 这正是 §2.1 列的第一个毛病在具体数字上的样子. 在小 logit 区间, 误差从三阶项开始:
即 logits 温和时一阶近似还凑合, 但 logits 一拉开就迅速失控. 这说明 Linear Attention 在训练分布内可以通过投影, 归一化和门控学习来补偿平均偏差, 但不存在仅凭一阶展开就获得全局概率语义的保证. 公平起见要注明: GDN 和 KDA 的学习式门控远强于固定 Taylor 公式, 所以该反例针对的是线性化的动机本身, 不能被误读为 KDA 输出必然越界.
3.3.9 KDA 的对角门和绑定 DPLR 不是任意状态变换
一句话总结: KDA 为了跑得快, 给状态转移加了两条枷锁 (擦除方向必须绑定当前 Key, 衰减必须沿坐标轴), 有些通用 DPLR 一步能做的变换它一步做不了.
KDA 的效率来自约束
通用 DPLR 可使用 , 其中 和 独立, "从哪个方向检测"和"往哪个方向删除"可以分开选. KDA 要求左低秩方向为 , 右低秩方向为 . 两个方向都被当前 Key 锁死. 因而某些简单的非对称转移无法由单步 KDA 表示.
在二维空间中, 考虑目标转移
式 30 的含义: 这是一个"侦察和拆除分工"的转移. 由第二坐标检测冲突, 却从第一坐标中删除内容, 检测方向和删除方向不同. KDA 转移的两个非对角元素为
要匹配式 30, 必须让第一项非零而第二项为零. 但注意两项只差在 和 上, 结构高度对称. 这就是绑定带来的连坐. 第一项非零要求
在 时, 第二项为零迫使 , 但随后
与目标的 矛盾. 为了消掉一个副作用, 把不该动的对角元也归零了. 所以式 30 是通用 DPLR 可以一步表示, KDA 不能一步表示的明确反例.
对角门还有第二条镣铐: 基底依赖. 在二维空间中, 若希望保留对角方向
并遗忘其正交方向, 理想投影为
它不是对角矩阵, 对角门只能沿坐标轴刻度地保留或遗忘, 想保的方向斜着躺在坐标系里时, 单步对角门
関連記事
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み