详解 Kimi K3 技术报告
赛博浮世绘 · 晓风乾 · 20 站拆解
回首页
详解 Kimi K3 规模 1.2 · MoE 稀疏激活
篇章一 · 1.2

MoE 稀疏激活

2.78T 的总参数里,每处理一个 token 只动 104.2B。这一节看清「预测下一个 token」到底在干什么,再看稀疏是怎么省出来的。

896 个专家,每次只叫醒 16 个

先看模型的工作方式——从概率分布里抽样预测下一个 token;再看混合专家怎么让每次计算只动用一小部分参数。

模型在做什么 · 预测下一个 token

参数确定后,模型的工作就是:收到已有的 token,预测下一个 token 最可能是什么,再一个一个往后生成。每一步都不是确定的,而是一个概率分布——模型给词表里每个 token 算一个分数,按分数挑。

?
已采样 0 次
下一个 token 的候选 · 模型概率 vs 你实际抽中的频率
模型给的概率实际抽中的频率
模型每生成一个 token,都是像这样从概率分布里抽一个——不是永远挑最大。点几次试试,同样的话可以续出不同的字。
MoE:为什么激活远小于总量

普通模型每次计算时所有参数都参与。MoE 是另一种结构,全称混合专家。它把一部分计算拆成多个独立子模块,每个子模块叫一个专家,每个专家有自己的一组参数。

每次处理一个 token 时,先有一个路由模块判断这个 token 该交给哪些专家,只让被选中的少数专家参与计算,其余专家这次不参与。好处是总参数可以做得很大、模型知识多,但每次实际计算的参数少、速度快成本低。

路由专家
896 个
可供挑选的专家总数,是模型的专业知识库。
每次激活
16 个
每个 token 由路由模块从 896 个里挑 16 个处理。
共享专家
2 个
对每个 token 都参与,负责通用信息,不经路由。
交互演示 · 路由器如何选专家

点击 token 类型:12 个代表专家的得分条同时起跑,越过红色虚线(60 分)的入选。下方点阵是 896 个专家的缩略图——蓝色 16 个为本次激活,金色 2 个为共享专家。

点击上方类型,看路由器如何选专家 得分 ≥ 60 入选(示意)
↑ 放大看 12 个代表专家的得分竞速 · 红色虚线是入选线
未激活(示意) 共享专家 ×2 本次激活 ×16

由此可以算出激活参数 104.2B 的构成:每个 token 实际动用的是被选中的 16 个路由专家,加上 2 个共享专家,再加上模型里那些必经的、不参与挑选的公共模块,全部加起来约 1042 亿。

896 个里每次只用 16 个,单次计算中绝大多数专家不参与,这种大部分参数在单次计算中处于未使用状态的特性叫稀疏。混合专家正是通过稀疏,把总参数和激活参数分离开。

下一节 1.3 · 架构规格。 稀疏解决了「每次用多少参数」,还有「多深、多宽、记多少」——93 层、7168 维、16 万词表、100 万上下文和视觉编码器,下一节逐个看清。