MoE 混合专家模型:稀疏激活如何让万亿参数成为可能
MoE(Mixture of Experts,混合专家模型)通过稀疏激活机制,让模型在保持万亿参数规模的同时,每次前向传播只激活其中一小部分专家网络。本文从 MoE 的核心思想、路由机制、负载均衡到工业级实践,系统讲解这一支撑 Qwen 3.8、Kimi K3、DeepSeek 等万亿参数模型的关键架构。
图1:Dense 与 MoE 在前向传播时的激活差异
二、MoE 的核心组件:门控路由器
MoE 模型的关键在于一个被称为 gating network 或 router 的小型神经网络。给定输入 token 的隐藏表示 ,路由器计算它应该被分配给哪些专家:
其中 是路由器权重矩阵, 是专家数量, 是每个 token 激活的专家数(通常 或 )。以 Kimi K2 为例,它拥有 1.04 万亿总参数,但每次前向传播只激活 320 亿参数,激活比仅约 3%。
被选中的 个专家的输出按路由器给出的权重加权求和,作为该 MoE 层的最终输出:
这种设计的精妙之处在于:参数容量与计算量解耦。模型可以拥有海量参数来记忆知识,但每次推理只付出少量计算代价。
三、负载均衡:MoE 训练的核心难题
MoE 模型训练中最棘手的问题是 load imbalance。如果路由器总是把 token 分给少数几个"擅长"的专家,会导致两个严重后果:一是其他专家收不到训练信号而退化;二是被偏爱的专家成为计算瓶颈,在分布式训练时拖慢整个集群。
解决这一问题的标准做法是引入 auxiliary loss。它在每个训练步检查各专家收到的 token 比例,对分布不均的情况施加惩罚:
其中 是专家 实际收到的 token 比例, 是路由器给专家 的平均概率, 是专家总数, 是平衡系数(通常取 0.01)。当所有专家均匀接收 token 时, 最小;分布越偏斜,损失越大。
图2:MoE 层的 Router-Expert-Output 数据流
四、工业级实践:从 Qwen 3.8 到 Kimi K3
2026 年发布的几款万亿参数模型,都将 MoE 作为默认架构。Qwen 3.8-Max 的 2.4 万亿参数背后,是细粒度专家设计——把传统的大专家拆成更多更小的专家,让路由器有更精细的选择空间。Kimi K3 则以 2.8 万亿参数搭配 1M token 上下文,其训练采用了 MuonClip 优化器实现零损失尖峰。
MoE 的另一个关键实践是 expert parallelism。当专家数量达到数百甚至上千时,单张 GPU 无法装下整个模型。工程师把不同专家分布到不同 GPU 上,路由器在 forward 时通过 all-to-all communication 把 token 发送到对应专家所在的设备。这种通信开销是 MoE 相比密集模型的主要额外成本,也是当前研究的重点优化方向。
五、MoE 的代价与未来
MoE 并非没有代价。首先,显存占用依然巨大——虽然每次只激活少数专家,但所有专家的参数都必须常驻显存。Qwen 3.8-Max 即便只激活 3% 参数,推理时仍需要数十张 GPU。其次,训练调优更复杂——路由器容易陷入"赢家通吃"的局部最优,需要精心设计辅助损失和容量因子。
未来的方向包括:细粒度专家(Fine-grained Experts)提升路由灵活性、共享专家(Shared Experts)承载通用知识、以及 MTP 等训练目标与 MoE 的协同优化。MoE 已经不是"是否采用"的问题,而是"如何优化"的问题——它正在重新定义大模型的工程经济学。
核心要点
- MoE 通过稀疏激活,让万亿参数模型的推理成本接近于激活参数规模的密集模型
- Router 是 MoE 的核心,用 TopK softmax 决定每个 token 激活哪些专家
- 负载均衡损失是 MoE 训练稳定的关键,防止"赢家通吃"导致专家退化
- Qwen 3.8、Kimi K3、DeepSeek 等万亿参数模型均以 MoE 为基础架构
- 专家并行与 all-to-all 通信是 MoE 分布式训练的主要工程挑战