談 Kimi K3 架構之前,先算:2.8 兆「總參數」÷ GPT-2 小型版的 1.24 億,約是 22,580。這不是能力倍數,也不代表每個 token 會動用 22,580 個 GPT-2。真正的問題是:模型怎麼在參數暴增、上下文拉長後,仍然記得住、找得到,也算得動?
這篇專為零基礎讀者寫,從 GPT-2 的 KV cache 一路走到 KDA 與完整的 Kimi K3 架構。你不必先學矩陣;能分辨「翻原文、改白板、找專家、跨樓層取資料」,就已抓到核心。
先記住這個公式:Kimi K3 架構 = 可擦寫白板(KDA)+定期翻原文(Gated MLA)+專家分工(Stable LatentMoE)+跨樓層電梯(Block AttnRes)。
先說結論:Kimi K3 架構不是把 Attention 刪掉
Kimi K3 官方技術報告描述的是混合系統:沿序列長度混用 KDA 與 Gated MLA;沿模型深度用 Block AttnRes 取回較早層表示;沿模型寬度用 Stable LatentMoE 分派專家。
- KDA 把歷史壓進固定 state,並能修正、遺忘。
- Gated MLA 定期做全域 token-to-token 查找。
- Stable LatentMoE 從龐大專家池啟用少數路徑。
- Block AttnRes 取回同一 token 較早深度的表示。
白話說,K3 的方法是把不同問題交給不同零件,而不是讓所有長上下文成本憑空消失。
Kimi K3 架構先校正:22,580 到底在比什麼?
OpenAI 的 GPT-2 官方 repo更正後,最小模型約 124M,最大版是 1.5B;K3 則是 2.78T total、每 token 約 104.2B active。「22,580」這個說法採用四捨五入的 2.8T,除以最小 GPT-2。
2.8T ÷ 124M ≈ 22,581:總參數對 GPT-2 small 的吸睛比喻。2.8T ÷ 1.5B ≈ 1,867:改用 GPT-2 最大版,倍率立刻不同。104.2B ÷ 124M ≈ 840:改比 K3 每 token 啟用參數,數字又縮一大截。
這些數字都不是算力或能力倍率,因為 GPT-2 是 dense,K3 是 sparse MoE。總參數像整間圖書館的藏書;active parameters 像這次推上桌的書。硬體差異可接著看Kimi K3 本機、雲端與 API 完整教學。
第一步:GPT-2 為什麼需要 KV cache?
softmax attention 讓新 token 對先前的 key 打分,再讀取 value。它像保留完整索引卡,能依問題回頭找原卡。想補 LLM 與 attention 的直覺,可讀大型語言模型如何運作。
成本要分階段:訓練同時處理許多位置;prefill先讀 prompt 並建狀態;cached decode再逐 token 生成。full attention 的 prefill 配對量呈平方成長;decode 仍要讀取增長的 KV cache。
FlashAttention 用分塊與 online softmax 減少 HBM 搬運,不保存完整注意力矩陣;但 exact softmax 的 query–key 算術仍是平方級。它改善廚房動線;Linear Attention 才是換食譜。
第二步:Linear Attention 把索引卡壓成一塊白板
Linear Attention 先把歷史 key、value 累積進固定大小的 state,再用 query 讀取。對單一 recurrent layer 而言,state 不隨 token 數量成長,decode 也不必掃整列 KV cache;代價是只留下壓縮統計,而非原始索引卡。
加法式寫入的麻煩是:同一 key 從「草稿」改成「已核准」時,新 value 只會疊上去。Schlag、Irie 與 Schmidhuber 提出的 Fast Weight Programmers delta rule,改成先讀白板,再只寫「新答案減舊答案」的差額。

第三步:DeltaNet、Gated DeltaNet 到 KDA,白板開始會擦也會忘
Yang 等人的 Parallel DeltaNet延續 delta rule,再用 chunkwise 演算法把 recurrence 重組成 GPU 區塊運算。chunk 用來平行化,不是在區塊內換回 softmax attention。
Gated DeltaNet 再加入 scalar retention gate,決定整個舊 state 留多少。若把公式中的 α 取為 0(實作參數化只會逼近 0),被清掉的是舊 state 的貢獻;當前 token 的 β 寫入項仍保留。
KDA(Kimi Delta Attention)把單一 retention 改成每個 key channel 各有旋鈕;有些特徵慢慢淡去,有些快速換新。scalar β 控制針對特定 key 改寫多少。省略投影、正規化與 kernel 後,概念是:
old = channel_decay(state, α)
prediction = read(old, key)
state = old + β × outer(key, value - prediction)
output = read(state, query)
例如專案狀態從「草稿」改成「已核准」:普通加法可能疊起兩個標籤;delta rule 先讀舊值,再寫入移到新值所需的差額。β=1 可理解成完整採納,β=0.5 則移動一半。真實 key 會互相干擾,因此這是直覺,不是無損覆寫保證。

Kimi K3 架構的四個核心零件
1. KDA:壓縮歷史,而且能更新舊關聯
K3 有 93 個 decoder layers,其中 69 層是 KDA。其 recurrent state 對「序列長度」固定,但仍隨 layer、head 與維度占用記憶體。固定不等於零成本或無限容量。
2. Gated MLA:每三個 KDA 層後,重新翻一次原文
前 92 層是 23 次 KDA → KDA → KDA → Gated MLA,第 93 層再做 Gated MLA。MLA 先壓縮每個 token 的 KV 表示,再保留隨 token 成長的 cache,仍能做全域互動。
因此,K3 並未完全移除 KV cache。24 層 Gated MLA 仍有成長的壓縮 cache,prefill 也保留平方級成分。混合設計降低係數、增加摘要路徑,並非讓全模型變成純線性。

3. Stable LatentMoE:896 個 routed experts+2 個 shared experts
K3 的 MoE 層有 896 個 routed experts,每個 token 選 16 個;另外 2 個 full-width shared experts 也會參與。第一個 feed-forward layer 是 dense,其餘 92 層採 MoE;routed experts 在較窄 latent space 工作。這是 2.78T total 與 104.2B active 能並存的原因之一。
不同 token 可能被分到不同專家,所以部署仍要準備整個專家池。RMSNorm、SiTU-GLU 與 Quantile Balancing 則控制 activation 與負載。MoE 解的是每一步讓誰工作,不是長上下文記憶。
4. Block AttnRes:替同一個 token 裝一部跨樓層電梯
一般 residual 一路累加前面結果;Attention Residuals 讓後層選擇該取回哪個較早深度表示。它看的是同一 token 在不同深度的版本,不是前幾千個 token。
K3 採 Block AttnRes:以 12 個 decoder layers 為邊界,共 8 個區塊,最後一塊不足 12 層;連 embedding 可有 9 個來源表示。12 層是摘要邊界,不代表 AttnRes 每 12 層才執行一次,也不代表它比普通 residual 更快。

新手看架構發表,先問這三題
1. 這個數字比的是 total、active,還是實際運算?
先找分子、分母。參數、FLOPs、VRAM、token/s、成功率是不同單位;沒說清楚的倍率只能當線索。
2. 它改的是 operator、kernel,還是整個 model?
FlashAttention 改 IO kernel,KDA 改序列 operator,K3 再組成整個模型。把局部成本套到全模型,會漏掉 MLA cache。
3. 報告說的是能力,還是特定硬體上的速度?
「最高快 X 倍」要連同 context、batch、硬體、kernel 與 baseline 一起讀,不能套成所有 API 的固定倍率。要上手 K3,請照K3 使用與部署決策教學驗收。
新手常問的八個問題
1. KDA 就是 Linear Attention 嗎?
是 linear-attention 家族的一員。它用固定 state,並加入 delta correction、channel-wise retention、short convolution 與 chunkwise 計算。
2. K3 已經不需要 KV cache 了嗎?
沒有完全消失。69 個 KDA layers 用固定 state;24 個 Gated MLA layers 仍保存隨 token 增長的壓縮 KV cache。
3. 22,580 代表 K3 比 GPT-2 聰明 22,580 倍嗎?
不是。它只用 K3 四捨五入總參數除以 GPT-2 最小版;能力、速度、能耗與每 token 計算都不是同一倍率。
4. KDA 一定比 full attention 快嗎?
不一定。長度、batch、硬體、kernel 與推理階段都會改變結果;理論優勢要靠成熟實作才會變成實際速度。
5. 最高 1,048,576 token 的 context,就能完整記住整個專案嗎?
不等於。官方 config把上限設為 1,048,576 tokens;這是容量上限,不是完整記憶保證。有效找回、跨檔推理與工具歷史仍要實測。重要規則應靠明確 context 與外部驗收。
6. Top-16 代表每次只運行 16 個 experts 嗎?
不能這樣簡化。Top-16 只指 routed experts;模型還有 shared path、attention 與投影。104.2B 才是官方整體 active 規模。
7. AttnRes 和 token attention 是同一件事嗎?
原理有類比,方向不同。token attention 沿序列選資料;AttnRes 沿深度選表示。前者翻前文,後者取回同一文件的早期草稿。
8. 我需要先學線性代數,才能理解 K3 嗎?
不用。先記:KDA 改白板、MLA 翻原文、MoE 找專家、AttnRes 跨樓層。要實作 kernel 時,再補矩陣外積與複雜度。
給新手的五個帶走重點
- 任何「幾倍」都先問單位;22,580 是總參數比喻,不是能力倍率。
- FlashAttention 解 IO 與工作記憶體,Linear Attention 才改 operator。
- KDA 的 state 對序列長度固定,但 K3 整體仍有 Gated MLA cache。
- MoE、KDA、AttnRes 分別處理寬度、序列與深度,不要把優點互相代換。
- 架構能提供合理預期,真正的品質、速度與成本仍要用你的任務驗收。
📚 延伸閱讀:把架構知識接回實際使用
- Kimi K3 深度解讀:想理解這次發表在模型競爭與 Agent 市場的位置,從這篇開始。
- Kimi K3 開放權重與技術報告:進一步看權重、授權與官方報告釋出後的實務意義。
- Kimi K3 怎麼用:直接比較官方 API、託管雲端與資料中心自架的適用情境。
- 從零打造 AI Agent Harness:把模型放進具備工具、記憶、測試與安全邊界的執行系統。
- 開源與閉源 AI 市場怎麼看:理解開放權重如何改變供應商選擇與長期成本。
- AlphaLab 課程:把模型知識進一步轉成可重複的 AI 工作流。
結語:真正的突破,是知道什麼該保留、什麼該重找
回到開頭:Kimi K3 架構 = 可擦寫白板+定期翻原文+專家分工+跨樓層電梯。KDA 壓縮歷史,Gated MLA 保留全域查找,Stable LatentMoE 選專家,Block AttnRes 選深度來源。
下次看到「參數多幾萬倍」或「注意力被取代」,就用四個零件檢查它沿序列、深度與寬度改了什麼,再確認數字比的是 operator、kernel 還是整個模型。這套方法也能用來閱讀下一代 AI 架構。
