Kimi 研究員、RoPE 提出者蘇劍林近日釋出文章《簡單談談 K3 的 MoE 和 Attention》,集中剖析了 Kimi K3 在專家架構、訓練穩定性、負載均衡和注意力設計上的幾項關鍵取捨。文章披露,K3 擁有 2.8 萬億總引數,配置了 896 個路由專家,但每個 Token 僅啟用其中 16 個;注意力結構則採用 KDA 與 Gated MLA 交替排列的方式。這些配置共同指向 K3 的基本設計思路:模型可以繼續擴大容量,但不能讓計算成本隨總引數量和上下文長度同步增長。

K3 的 MoE 架構引入了 LatentMoE 機制。傳統 MoE 中,Token 的完整隱藏狀態會被髮送給選中的專家,而 K3 先將隱藏狀態壓縮到更窄的潛在空間再交給專家計算。具體而言,K3 的主隱藏維度為 7168,路由專家在 3584 維空間中計算,完成後再恢復。這種降維不僅減少了單個專家的計算量,也降低了跨裝置通訊的資料量。K3 將省下的預算用於擴大專家池:原本可以採用從 448 個專家中選擇 8 個的方案,最終擴充套件為從 896 個路由專家中選擇 16 個。兩種配置的啟用比例相同,但後者的專家分工更細緻。此外,K3 還保留了 2 個共享專家,始終參與計算,負責語言結構、基礎語義等通用能力,路由專家則專注細分能力。

規模擴張也帶來了數值和負載風險。LatentMoE 的計算路徑更長,數值波動更容易被放大。為此,K3 加入了 RMSNormSiTU-GLUQuantile Balancing,將其改造為 Stable LatentMoE。RMSNorm 放在專家結果聚合之後、升維之前,校準專家分支的整體尺度;SiTU-GLU 通過 Soft Cap 限制啟用值增長,避免離群值對 BF16、FP8 等低精度訓練的干擾;Quantile Balancing 則直接觀察 Router 分數與 Top-K 門檻的分佈,估計每個專家的選擇門檻,以協調近千個專家之間的負載,避免少數專家持續過載。

注意力設計上,K3 採用 KDA 與 Gated MLA 的組合,大致每 3 層 KDA 插入 1 層 MLA。MLA 保留對完整歷史的全域性訪問能力,承擔全域性檢索任務;KDA 則將歷史資訊寫入固定大小的狀態,通過更新、遺忘和覆蓋維持連續狀態,以較低成本處理長序列。這種分工讓 K3 能夠在 MLA 中移除 RoPE,因為 KDA 的遞迴更新已部分包含順序與距離資訊。文章強調,所謂“廣義 RoPE”並非 KDA 與 RoPE 完全等價,而是位置資訊可由具有順序性的狀態更新機制表達。MLA 輸出後還增加了 Gate,控制檢索結果寫回主幹的強度。

文章還討論了 K3 保留 64 維分支和採用 Per-Head Muon 最佳化器的原因。NoPE MLA 中原本用於 RoPE 的額外 64 維分支雖在理論上可刪除,但刪除會改變張量形狀,影響 KV Cache 佈局、Attention Kernel、通訊邏輯和推理框架,因此 K3 選擇保留,以複用成熟的 MLA 基礎設施。Per-Head Muon 則按不同 Attention Head 分開處理引數,避免梯度較大的 Head 影響其他 Head 的更新尺度。

蘇劍林指出,K3 的最終架構並非僅由理論效果決定,通訊成本、低精度數值、Kernel 複用、框架相容和工程風險都參與了設計取捨。文章也承認 K3 仍存在未完全回答的問題,如低維潛在空間可能損失資訊、KDA 固定狀態會遺忘細節、更多專家未必形成同等數量的清晰能力。但 K3 展示了一條明確路線:當模型進入萬億引數和百萬上下文階段,Scaling 的重點已不只是擴大容量,而是建立更有效的引數、記憶與計算排程機制。