MoE 把 Transformer 中的 FFN 层替换为 N 个并行的专家网络,外加一个门控路由器。每个 token 经过路由器打分,只被送入得分最高的 top-k 个专家(常见 k=2),输出为各专家结果的加权和。这样总参数量可达稠密模型的数倍,但每个 token 只激活一小部分——如 DeepSeek-V3 总参 671B、每 token 激活 37B,Mixtral 8×7B 激活约 13B,实现'大容量、小算力'。
核心难点在路由与训练稳定性:路由器用 softmax 打分取 top-k,容易出现负载不均(少数专家被反复选中、其余饿死),需负载均衡辅助损失约束各专家被选频率接近; DeepSeek-V3 改用可学习的偏置项做无损均衡。专家并行训练时 token 跨设备路由带来通信开销。
易错点:MoE 省的是计算量(FLOPs)不是显存——全部专家参数都需驻留;推理时专家被打散降低算术强度,小 batch 下未必比稠密模型快。追问方向:共享专家(shared expert)设计解决什么问题?细粒度专家划分的收益?