MoE混合专家架构
一句话总结
MoE通过稀疏激活机制,在大幅增加模型总参数的同时保持每个token的计算量不变,实现了参数量和计算效率的解耦。
核心概念
MoE将FFN层替换为多个并行的专家网络(Expert)加一个路由器(Router)。路由器根据输入token计算每个专家的概率,选择Top-K个专家(通常K=1或2)处理该token。例如Mixtral 8x7B有8个专家,每token激活2个,总参数46.7B但激活参数仅12.9B(相当于13B模型的计算量)。路由器通常是一个简单的线性层+softmax。为保证各专家负载均衡,训练时需添加辅助损失(auxiliary loss)惩罚不均衡分配。
为什么重要
MoE打破了参数量与计算量的线性关系。在相同计算预算下,MoE模型可以拥有数倍于稠密模型的参数,从而存储更多知识。GPT-4据推测使用了MoE架构。Mixtral 8x7B以13B的推理成本达到了接近LLaMA-2 70B的性能。
实践要点
MoE训练时需注意负载均衡:可用辅助损失或专家容量限制(capacity factor)。通信开销是分布式训练的挑战,通常用Expert Parallelism将不同专家放在不同GPU上。推理时需加载全部参数到显存,对内存要求高于同等计算量的稠密模型。DeepSeek-MoE提出了更细粒度的专家划分策略。
常见误区
误区一:认为MoE的8x7B等于56B参数的密集模型。实际激活参数远少于总参数,不能直接对比。误区二:忽视MoE的推理内存需求,所有专家参数都需常驻显存。误区三:认为专家会自动学到不同领域知识。实际中专家分工更多基于token的语法/语义特征而非人类直觉的领域划分。