896 选 16

Stable LatentMoE 把稀疏度推到 1.8%——专家总数比 DeepSeek-V3 多 3.5 倍,激活率却更低。组合空间、路由代价与「潜空间」这个词的分量。

作者 David更新于 7 篇(共 13 篇)

896 选 16

换一条主线。注意力那边解决的是「历史怎么装下」,MoE 这边解决的是「参数怎么堆上去而算力不跟着爆炸」。

K3 在这条线上给出的数字是:896 个路由专家,每 token 激活 16 个,另加 2 个常驻的共享专家。

先把它放进坐标系

模型路由专家每 token 激活共享专家激活率
Switch Transformer若干1——
Llama 4 Maverick8225%
Qwen3 235B12886.3%
DeepSeek-V3256813.1%
Kimi K38961621.8%

一眼可见的两件事:

  1. 专家数是 DeepSeek-V3 的 3.5 倍,激活数只翻了一倍——稀疏度被推到目前公开模型里最激进的位置。
  2. 共享专家从 1 个加到 2 个——在「多而小」的路线上,通用知识需要更强的常驻承载。

对照《AI 大模型解构》里的三个旋钮,K3 是把「旋钮一(多而小)」和「旋钮三(保留共享)」都拧到了 DeepSeek 路线的更远处。

为什么「更多、更小」有道理

DeepSeekMoE 论文那套论证在 K3 上被推到了极致:专家越多越小,能组合出的「专家搭配」就越多。

粗算一下组合数:

  • 8 选 2:(82)=28\binom{8}{2} = 28 种;
  • 256 选 8:约 4×10144 \times 10^{14} 种;
  • 896 选 16(89616)\binom{896}{16},量级在 103410^{34} 上下。

这个数字本身没有实际意义(模型不会真的用满),但它说明的事情是真的:路由的表达空间极大,每个 token 都能被送到一组高度贴合自己的专家那里。代价是每个专家变得很小、很专——一个可能只管代码缩进,一个只管化学式。

代价:路由本身开始变贵

稀疏度不是免费拧的。896 选 16 至少带来三笔额外开销:

  • 路由计算:每层都要对 896 个专家打分再取 top-16。相比 8 选 2,这个 softmax 本身就不便宜。
  • 通信:分布式推理时,激活的专家散落在不同设备上,token 要被路由过去、算完再收回来。专家越多越分散,all-to-all 通信量越大。在大规模 MoE 里,通信常常比计算更早成为瓶颈。
  • 均衡难度:专家越多,越容易出现「少数热门专家吃掉大部分 token、其余饿死」。这是 MoE 的老大难,下一章专门讲。

所以「896 选 16」不是把旋钮往右一拧就完事——它必须配着一整套让路由算得动、传得动、训得稳的工程。这就是名字里 Stable 那个词的来历。

「Latent」是什么意思

架构全名叫 Stable LatentMoELatent(潜空间)这个词在这里的分量,技术报告没有充分展开,本专栏不做过度推断。可以确定的是它与「把专家的表示或路由决策放到一个低维潜空间里处理」这一族思路同源——这正是 MLA 里 Latent 的同一个词根:用低维表示换取存储与计算上的便宜

中文技术社区已有若干对 K3 的架构拆解文章,提到 SiTU-GLU 激活函数、分位数均衡(Quantile Balancing)等具体机制。这些未见于官方技术报告摘要与模型卡,本专栏将其归入「二手整理、待核」,不作为事实陈述。要确认它们,得去读权重配置与完整论文正文。

104B 激活是怎么来的

回到规格表那行「104B 激活参数」。它由三部分构成:

  1. 非 MoE 部分——注意力层、归一化、嵌入与输出层,这些每 token 都要全额计算;
  2. 16 个路由专家的参数;
  3. 2 个共享专家的参数。

2.8T 里只有 104B 参与每一步前向,比例约 3.7%。这就是 MoE 的全部意义:参数量按存储算,计算量按激活算,两者解耦。 K3 把这个解耦推到了目前的极限。

下一章讲这套极端稀疏怎么才能训得起来。👉 让它训得稳

参考文献

  • [1] Moonshot AI. “Kimi K3: Open Frontier Intelligence.” 2026. arXiv:2607.24653. —— 「16 of 896 routed experts」出自摘要。
  • [2] Hugging Face 模型卡:moonshotai/Kimi-K3 —— 2 个共享专家。
  • [3] Dai et al. “DeepSeekMoE.” 2024. arXiv:2401.06066. —— 细粒度专家 + 共享专家的论证。

本页目录