先週、Basetenの推論エンジニアで@waterloo_internを名乗る人物が、「22,580: From GPT-2 to Kimi K3, Explained.」というタイトルの技術ブログ記事を公開しました。この記事は数日間で240万ビューを記録しました。
彼はプレスリリースを書いたわけではありません。実行可能なPyTorchコードを書いたのです — GPT-2のattentionブロックから始めて、すべてのアーキテクチャ変更を段階的にたどり、イテレーションごとに1つの問題と1つのコストを説明しています。これまで見た中で最高のtransformer系統の解説です。
私は彼の記事を読み込み、その後主要な主張を5つの原論文と照合しました。以下が全容です。
22,580倍という数字
2019年2月、OpenAIはGPT-2 — 1億2400万パラメータをリリースしました。7年後、Moonshot AIはKimi K3 — 2.8兆パラメータをオープンソース化しました。1つのKimi K3の中に22,580個のGPT-2を収められることになります。
しかし、これは「より多くの計算を投じる」という話ではありません。メモリをどのように保存し、更新し、取得するかという話です。
出発点:GPT-2
class Block(nn.Module):
def forward(self, x):
x = x + self.attn(self.ln_1(x))
x = x + self.mlp(self.ln_2(x))
return x
Enter fullscreen mode Exit fullscreen mode
モデルが新しいトークンを生成するたびに、すべての過去のトークンに対してQ、K、V射影を再計算し、その後O(N²)のsoftmax attentionを実行します。トークン1からN-1までのKとVはどうなるでしょうか? 破棄されます。トークンN+1が到着すると? すべてを再計算します。
それがKV Cacheが発明された理由です。
KV Cache:再計算ではなく保存
単純なアイデア:すでに計算済みのキーおよびバリューのキャッシュを作成する。次のトークンでは、新しいQがキャッシュされたKに対して1回のドット積を計算するだけで済みます。
問題は解決しましたが、新たな問題が生じました。KV cacheはシーケンス長に比例して線形に増加します。100万トークン×d_model×layersでは、数十GBのVRAMになります。デコードの各ステップで、すべてをHBMから読み込みます。
ボトルネックは計算ではなく、メモリ帯域幅です。 これが以降のすべての改善を理解する鍵となります。
Linear Attention:固定サイズのメモリ
O(N²D)をO(ND²)に圧縮することはできるでしょうか?
アイデア:softmaxを特徴マップで置き換える。
# Standard softmax (must materialize N×N first)
attention = softmax(QKᵀ / √d) × V
# Linear attention (fold K and V first)
Q' = ELU(Q) + 1
K' = ELU(K) + 1
output = (Q'(K')ᵀ × V') / (Q'(K')ᵀ × ones)
Enter fullscreen mode Exit fullscreen mode
これでまずK'^T × V'を計算できます — 固定サイズのD×D行列 — その後Q'と乗算します。過去のKV情報は定数サイズの状態行列に「折り込まれ」ます。キャッシュはNとともに増加しなくなります。
代償は? ELU+1はsoftmaxカーネルの近似です。表現力が低下します。しかし長文脈タスクでは、このトレードオフはしばしば価値があります。
補足:FlashAttentionはこれを行っていない
よくある混乱点です。Aliの投稿には「2020年にはFlashAttentionは存在しなかった」とありますが、FlashAttentionとlinear attentionは根本的に異なる問題を解決します。
FlashAttention(Tri Dao、NeurIPS 2022)はattentionアルゴリズムを変更しませんでした。GPUのIOパターンを最適化しました — N×N行列をタイル化し、HBMに完全に配置されないようにしたのです。これによりsoftmaxが高速化されますが、依然としてO(N²)です。
Linear attentionはアルゴリズム自体を再定義しました — softmaxを特徴マップで置き換え、O(N²D)からO(ND²)へ移行したのです。
一方はIOを最適化します。もう一方はアルゴリズムを変更します。直交しています。
DeltaNet:メモリを編集できるようになった
Linear attentionには致命的な欠陥があります:追加しかできず、更新できないのです。
新しいトークンが状態に積み重なります:S = S + K'^T × V'。情報は増える一方です。書き込みしかできないノートのようなものです — 消去や修正はできません。
DeltaNet(Songlin Yang et al., NeurIPS 2024)はこれを修正しました。
この核心的なアイデアは、1990年代のSchmidhuberの「Fast Weight Programmers」に遡り、その後Schlag et al.(ICML 2021)がlinear attentionをfast weightsに結びつけて形式化しました。DeltaNetのアプローチ:書き込み前に、このキー位置に現在何が保存されているかを読み取ります。
v_old = k @ S_old # read current value at key
delta = v_new - v_old # compute the delta
S_new = S_old + k^T @ delta # write only the difference
Enter fullscreen mode Exit fullscreen mode
v_new == v_oldであれば、deltaはゼロ — 何も変わりません。完全に異なる場合は、deltaはv_newに等しく — 上書きに相当します。その間のすべては滑らかな補間です。
これがdelta ruleです:鈍い蓄積ではなく、精密なメモリ更新。
並列化のトリック(Ali曰く、これを理解するのに7時間かかった)
DeltaNetの状態更新は厳密に逐次的です — 各ステップは前のSに依存します。並列化は不可能に見えます。しかし可能です。
方法:シーケンスをサイズCのチャンクに分割します。各チャンク内では通常のマスク付きattentionを使用(GPU並列)。チャンク間では状態行列+1回のmatmul(Q @ S)を使用します。Householder変換によりdelta更新を再パラメータ化し、チャンク内のすべてのdeltaを一度に計算できるようにします。
計算量:固定コスト2LD²(状態維持)+可変コスト2LCD(チャンク内attention)。Cが大きいほど可変コストは増えますが、GPU効率は向上します。実際にはC=64または128が最適 — FLOPsだけが指標ではなく、tensor core利用率も重要です。
Gated DeltaNet:忘却も可能に
DeltaNetは個々のキー・バリューペアを精密に編集できます。しかし大規模な忘却はどうでしょうか?
100万トークンの文脈でTopic Aに関するすべてのドキュメントを読み、その後Topic Bに切り替えると想像してください。モデルは理想的にはTopic Aを「忘却」してBのための容量を解放すべきです。
DeltaNetは特定のエントリを上書きできますが、グローバルメモリを一括で減衰させることはできません。Mamba-2(Dao & Gu, ICML 2024)は可能です:
cache = α × S_old + S_new
Enter fullscreen mode Exit fullscreen mode
αは0から1の間のゲーティング値で、古いメモリを一様に減衰させます。これがMamba-2の「State Space Duality」理論の核心です — softmax attentionとSSMは数学的に同じものを異なる形で表現したものです。Mamba-2はゲーティングを通じてそれらを統合しました。
Gated DeltaNet(Songlin Yang et al., ICLR 2025, NVIDIA)はDeltaNetのdelta更新とMamba-2のゲーティングを統合します:
S_new = α × S_old + k^T @ delta # decay first, then precise write
Enter fullscreen mode Exit fullscreen mode
α=1は純粋なDeltaNet。α=0はメモリ消去。その間のすべてが忘却と更新の両方を行います。
重要なメカニズム:タイムステップxで書き込まれ、x+tで読み取られたトークンは、t回の累積α減衰(αₓ × αₓ₊₁ × … × αₓ₊ₜ)を経ています。異なる時間に書き込まれた情報は異なる速度で忘却されます — 最近の項目はほとんど減衰せず、遠いものは完全に消失する可能性があります。
KDA:Kimiの秘伝のタレ
Kimi Linear(Moonshot AI, arXiv 2510.26692, 2025年10月) — K3の前身 — はこのアイデアをさらに洗練しました:スカラーゲーティングから次元ごとのゲーティングへ。
Gated DeltaNetはαを単一のスカラーとして使用します。すべてのメモリ次元の忘却速度を制御する1つの数値です。KDAはαをベクトル(または行列)に変換します。各次元が独自の忘却率を独立して制御します。どの概念を保持し、どの次元を減衰させるか — モデルが学習します。
論文からの主要データ:
| 指標 | Full MLA | Kimi Linear |
|---|---|---|
| KV Cache | 100% | -75% |
| 1M文脈のデコードスループット | ベースライン | 6倍 |
| 短文脈性能 | ベースライン | 上回る |
| RLスケーリング | ベースライン | 上回る |
これはlinear attentionが、すべてのシナリオでfairな比較の下、full attentionを初めて上回ったのです。長文脈だけでなく、短文脈でも。そして「-75% KV cache」は直接推論コストの削減につながります。
私はこの主張を論文のアブストラクトと直接照合しました:「for the first time, outperforms full attention under fair comparisons across various scenarios.」 マーケティングではなく、核心的な結論です。
K3の最終的なハイブリッドアーキテクチャ
K3のテクニカルレポート(arXiv 2607.24653, 2026年7月)は以下を確認しています:
- 3/4のレイヤーがKDA(linear)、1/4がgated MLA(full softmax)
- MoEルーティング: 896 experts、トークンあたり16 active(約1.8%)、負荷分散のためのQuantile Balancing
- Attention Residuals: レイヤーは特定の前段レイヤーの表現を「振り返る」ことができる
- MXFP4重み + MXFP8活性化、量子化対応訓練
K3は純粋なlinear-attentionモデルではありません。ハイブリッドシステムです:KDAが大量処理(安価、高速、固定状態)を担い、定期的なsoftmaxレイヤーが精密検索を行い — linear圧縮で失われる可能性のある詳細を回復します。Aliが分析したトレードオフそのものです:linear attention+定期的なsoftmax検索。
それでは22,580倍は何を意味するのか?
Aliの結論は、私が書けるどんな言葉よりも鋭いです:
GPT-2からKimi K3まで、各世代の核心的な改善は「より多くのパラメータ」ではありませんでした — メモリへのアクセスの仕方を再設計することでした:どのように保存し、どのように忘却し、どのように取得するか。
進化を1つの表にまとめます:
| 段階 | 代表例 | メモリメカニズム | 解決した問題 |
|---|---|---|---|
| 1 | GPT-2 + KV Cache | Full cache, O(N) growth | 再計算の排除 |
| 2 | Linear Attention | Fixed state, O(D²) | CacheがNとともに増加しない |
| 3 | DeltaNet | Delta updates, editable | 更新できない → 更新できる |
| 4 | Gated DeltaNet | Gating + delta, forgettable | 忘却できない → 忘却できる |
| 5 | KDA / Kimi K3 | Per-dim gating + hybrid | Linearがfull attentionを上回る |
パラメータは22,580倍に増加しました。しかし、それだけを見ていては、物語全体を見逃してしまいます。
あなたにとっての意味
長文脈の作業(コードレビュー、ドキュメント分析、マルチターンエージェント)を行っている場合、attentionアーキテクチャは直接コストと出力品質に影響します。
コストは固定ではありません。 同じ100万トークンの文脈:KDAのKV cacheはfull attentionのわずか25%です。メモリ帯域幅の圧力が低く、レイテンシとスループットが大幅に向上します。
長い=高価、ではありません。 K3の100万トークン文脈ウィンドウは「力任せ」ではありません。75%の作業がlinearパスを通ります。
ハイブリッドがトレンドです。 Linearはsoftmaxを置き換えるものではありません — 互いに補完します。softmaxによる精密検索、linearによる大量処理。このパラダイムは広がっていくでしょう。
主要なポイント
- 22,580倍のパラメータ増加は表面的なものです。本当の物語はメモリ管理です:full cache → fixed state → precise writes → adaptive forgetting。
- 系統は明確です:DeltaNet(NeurIPS 2024)→ GatedDeltaNet(ICLR 2025)→ Kimi Linear(2025年10月)→ Kimi K3(2026年7月)。
- KDAはfairな比較で初めてfull attentionを上回りました — 短文脈、長文脈、RLスケーリングのすべてのシナリオで。「安価な代替品」ではありません。
- K3の75% linear / 25% softmaxハイブリッドは、エンジニアリング上の最適解であり、論文だけの構成ではありません。
- 次にモデルを評価するときは、パラメータ数ではなくattentionアーキテクチャを尋ねてください。それの方が重要です。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.