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

K3 的 MoE 架構引入了 LatentMoE,改變了 Token 進入專家的方式。傳統 MoE 中,專家分佈在不同 GPU 上,Router 選擇後需將 Token 的隱藏狀態傳送到相應裝置,隱藏維度越寬、啟用專家越多,通訊資料量越大,在大規模場景下通訊往往比計算更早成為瓶頸。K3 不直接傳送完整隱藏狀態,而是先將其壓縮到更窄的潛在空間:主隱藏維度為 7168,路由專家在 3584 維空間中計算,完成後再恢復。降維不僅減少單個專家的計算量,還同步降低權重讀取、啟用處理和跨裝置傳輸的資料量。K3 將這部分預算用於擴大專家池,從原本“448 個專家選 8 個”的方案,擴充套件為“896 個路由專家選 16 個”。兩種配置啟用比例相同,但後者擁有更多可組合的專家,使模型能讓多個較窄的專家共同處理一個 Token,分工更細緻。

潛在空間也是一道資訊瓶頸,維度過窄可能導致資訊損失。因此 K3 保留了 2 個始終參與計算的共享專家,負責語言結構、基礎語義和常見推理模式,路由專家則專注細分能力,避免數百個專家重複承擔通用計算。LatentMoE 的意義不只是把專家做小,而是重新組織通用能力、專業能力與通訊成本之間的關係。

規模擴張也帶來新問題。專家數量增加後,Router 不僅要準確選擇專家,還要避免少數專家持續過載;Token 被髮送到不同 GPU 上的專家時,跨裝置通訊迅速增加。更長的上下文推高 KV Cache 和注意力計算成本,而 BF16、FP8 等低精度訓練雖節省資源,卻更容易受異常啟用影響。為此,K3 將 LatentMoE 升級為 Stable LatentMoE,加入 RMSNorm、SiTU-GLU 和 Quantile Balancing 三重機制。

RMSNorm 放在專家結果聚合之後、升維之前,校準專家分支的整體尺度,相當於在路由分支與主幹網路之間建立統一的數值介面。SiTU-GLU 通過 Soft Cap 限制 SwiGLU 乘法放大導致的離群值,在低精度訓練下保護動態範圍。Quantile Balancing 則處理專家負載:MoE Router 容易形成正反饋,少數專家可能持續過載。K2 已採用無輔助損失的負載均衡方法,通過調整選擇偏置控制流量,但偏置更新類似 SignSGD,固定步長在專家增至 896 個後難以兼顧速度與穩定。Quantile Balancing 直接觀察 Router 分數與 Top-K 門檻的分佈,估計每個專家的選擇門檻應移動至何處,使負載均衡從經驗性反饋調節轉向更直接的分佈求解。

注意力方面,K3 由 KDA 和 Gated MLA 共同組成,大致每 3 層 KDA 插入 1 層 MLA。MLA 保留對完整歷史的全域性訪問能力,將 KV Cache 壓縮到潛在空間,但當前 Token 仍可回查歷史具體內容,承擔全域性檢索任務;KDA 不儲存所有歷史 Token 的完整表示,而是將過去資訊持續寫入固定大小狀態,通過更新、遺忘和覆蓋維持,能以較低成本處理長序列,但固定容量會壓縮部分歷史細節。K3 讓 KDA 高頻維持連續狀態,MLA 週期性訪問完整歷史,補充固定狀態遺漏的重要資訊。

這種分工解釋了 K3 為何能在 MLA 中移除 RoPE。純 MLA 模型需顯式建模位置關係,K2 依賴 RoPE;K3 的 KDA 按 Token 順序遞迴更新狀態,順序與距離已部分包含在狀態演化中,MLA 不再需要獨立承擔全部位置建模,可將能力用於全域性內容匹配。所謂“廣義 RoPE”,並非 KDA 與 RoPE 完全等價,而是強調位置資訊也可由具有順序性的狀態更新機制表達。K3 還在 MLA 輸出後增加 Gate,根據當前輸入判斷哪些通道值得寫回主幹,控制檢索結果的使用強度。

K3 的 NoPE MLA 仍保留原本用於 RoPE 的額外 64 維分支。雖然理論上可刪除,但刪除會改變 Query 和 Key 的張量形狀,影響 KV Cache 佈局、Attention Kernel、通訊邏輯和推理框架。對已建立完整訓練與部署鏈路的 2.8 萬億引數模型,底層形狀變化意味著大量元件需重新開發驗證,保留結構反映最小改動原則,可複用成熟 MLA 基礎設施,降低風險。此外,K3 繼續使用 Muon 最佳化器,但按不同 Attention Head 分開處理引數(Per-Head Muon),避免梯度較大的 Head 影響其他 Head 的更新尺度,使最佳化方式與模型結構邊界一致。

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