苏剑林复盘Kimi K3:896个路由专家与混合注意力架构的关键技术取舍

Kimi研究员、RoPE提出者苏剑林发文详解K3模型在MoE和Attention上的设计决策。K3拥有2.8万亿总参数和896个路由专家,但每次仅激活16个,并将KDA与Gated MLA交替排列,在扩大模型容量的同时控制计算成本,同时探讨了专家数量增加带来的路由负载问题。

近日,Kimi 研究院研究员、旋转位置编码(RoPE)提出者苏剑林发布了一篇题为《简单谈谈 K3 的 MoE 和 Attention》的技术文章,系统复盘了 Kimi K3 大模型在混合专家架构(MoE)与注意力机制设计上的关键取舍。这篇来自一线研究者的自述,不仅揭示了 K3 在超大规模参数下的工程实现细节,也为业界理解大模型“扩容不增算”的路径提供了难得的窗口。文章一经发布,便在 AI 技术社区引发广泛讨论,被视为对当前超大模型训练方法论的一次重要补充。

K3 的核心配置令人瞩目:总参数规模达到 2.8 万亿,内部部署了 896 个路由专家,但每个 Token 在推理时仅激活其中 16 个。这一设计意味着模型拥有极其庞大的知识容量与能力分工空间,却将单次计算成本牢牢锁定在可控范围内。在注意力结构上,K3 并未沿用单一方案,而是将 KDA(Key-Value 解耦注意力)与 Gated MLA(门控多头潜在注意力)交替排列。苏剑林在文中解释,这种混合布局旨在让模型在长上下文场景下,既能高效检索关键信息,又能以较低的内存开销维持注意力计算的稳定性。换言之,K3 的基本设计哲学是:模型容量可以无限扩张,但每一步实际计算所调用的资源必须被严格约束。

然而,规模扩张从来不是免费的午餐。随着专家数量从数百跃升至近千,路由器的选择压力急剧增大——它不仅要精准判断每个 Token 适合哪些专家,还必须避免少数热门专家持续过载,导致训练不稳定或推理延迟。同时,Token 被分发到不同 GPU 上的专家时,跨设备通信开销会随专家数量和隐藏维度的增加而迅速攀升,甚至成为比矩阵乘法更早出现的瓶颈。此外,更长的上下文会推高 KV Cache 的存储需求和注意力计算量,而 BF16、FP8 等低精度训练虽能节省资源,却更容易受到异常激活值的干扰。苏剑林指出,K3 的关键并非简单堆砌更多专家或更换注意力模块,而是为规模扩张建立一套完整的配套控制机制。

针对上述挑战,K3 引入了一系列针对性设计。LatentMoE 机制改变了 Token 进入专家的方式:K3 不会将完整的隐藏状态直接发送给路由专家,而是先将其压缩至更窄的潜在空间——主隐藏维度为 7168,路由专家则在 3584 维空间中完成计算,再恢复至完整维度。这一降维操作不仅减少了单个专家的计算量,还同步降低了权重读取、激活处理和跨设备数据传输的开销。节省下来的预算被用于扩大专家池,使模型能够容纳更精细的能力分工。同时,RMSNorm 与 SiTU-GLU 激活函数被用于稳定专家分支的数值表现,Quantile Balancing 算法则负责协调近千个专家之间的负载均衡,避免出现“专家拥堵”现象。在注意力侧,KDA 与 NoPE MLA 的交替排列重新分配了长上下文中的记忆与检索任务,让模型在超长输入下依然保持高效。

从更宏观的视角看,K3 的设计思路折射出大模型发展的一个关键转向:当参数规模突破万亿级别后,单纯的“大力出奇迹”已不再适用,取而代之的是对计算预算的精细化管理。苏剑林的复盘表明,K3 真正要解决的问题是——模型可以拥有更大的参数和信息空间,但每一步计算都必须控制实际调用的部分。这种“大容量、小激活”的架构理念,不仅为 Kimi 后续模型的迭代奠定了基础,也为整个行业在超大规模模型训练中平衡性能与成本提供了可借鉴的范本。随着开源社区对 LatentMoE、Quantile Balancing 等技术的进一步消化,我们有理由期待更多模型在容量与效率之间找到更优的平衡点。