从Mixtral到Kimi K3:混合专家模型的演进之路

从Mixtral到Kimi K3:混合专家模型的演进之路

💡 原文英文,约3600词,阅读约需13分钟。
📝

内容提要

Kimi K3采用Stable LatentMoE架构,拥有2.8万亿参数,但每个token仅激活约1040亿。其每层有896个专家,仅选16个处理。该设计通过压缩路由路径、RMSNorm稳定输出、SiTU-GLU限制激活值及分位数平衡路由,解决了大规模稀疏模型的训练稳定性和计算成本问题。

🔎

延伸解读

MoE的演进脉络:从Mixtral到Kimi K3

文章梳理了MoE架构的四步演进:Mixtral采用8个全尺寸专家、每token选2个;DeepSeekMoE引入细粒度专家和共享专家;LatentMoE压缩路由路径;Kimi K3的Stable LatentMoE进一步解决稳定性问题。理解这一脉络有助于把握MoE设计的核心矛盾:如何在增加参数容量的同时控制计算和通信成本。

激活参数与总参数的区别

Kimi K3总参数2.8万亿,但每个token仅激活约1040亿,这得益于每层896个专家中只选16个。激活参数决定单次推理的计算量,而总参数反映模型容量。MoE的优势在于用较小的激活参数访问更大的参数池,但需注意专家权重仍需从内存读取,可能成为性能瓶颈。

Stable LatentMoE的三重稳定性机制

Kimi K3针对大规模稀疏模型的训练问题,引入三项机制:RMSNorm稳定路由分支的尺度;SiTU-GLU限制激活值上限,防止数值爆炸;分位数平衡路由,避免专家负载不均。这些机制分别解决输出尺度波动、激活尖峰和路由失衡,共同保障训练的稳定性。

Q&A

Kimi K3的模型规模和激活参数是多少?

Kimi K3拥有2.8万亿总参数,但每个token仅激活约1040亿参数。

Kimi K3的Stable LatentMoE架构中,每层有多少个专家,每个token选择多少个?

Kimi K3的每个MoE层有896个路由专家,每个token选择其中16个,另外还有2个共享专家处理所有token。

LatentMoE是如何压缩路由路径的?

LatentMoE在将token发送给路由专家之前,先将其表示从7,168维压缩到3,584维,专家在较小的空间中计算,然后将结果投影回原始宽度。

Kimi K3的Stable LatentMoE解决了哪些训练稳定性问题?

Stable LatentMoE解决了三个问题:1) 路由输出尺度变化,通过RMSNorm稳定;2) 激活值爆炸,通过SiTU-GLU限制;3) 路由不均衡,通过Quantile Balancing调整。

SiTU-GLU与SwiGLU有什么区别?

SiTU-GLU是Kimi K3使用的激活函数,它通过tanh函数将门控分支的线性因子限制在4以内,值分支限制在25以内,从而将乘积限制在100以内,防止激活值爆炸。而SwiGLU没有这种限制,可能导致数值不稳定。

Quantile Balancing是如何实现负载均衡的?

Quantile Balancing根据每个专家在全局训练步骤中的得分分布,计算不同的调整量,使得负载更均匀。它通过目标百分位数选择调整量,而不是使用固定步长,从而更灵活地平衡专家使用。

Mixtral、DeepSeekMoE和LatentMoE在MoE架构上有什么演进关系?

Mixtral是基本的MoE,每个token选择少数全尺寸专家;DeepSeekMoE将专家细分为更多更小的专家,并引入共享专家;LatentMoE压缩路由路径,在低维空间中运行专家;Kimi K3采用Stable LatentMoE,增加了稳定性机制。

🏷️

标签

➡️

继续阅读