混合专家模型的路由策略演进:从Sparse MoE到Soft MoE
技术领域:模型架构 / 稀疏计算
MoE(Mixture of Experts)通过条件计算大幅扩展模型参数而不成比例增加计算量。路由(Router)负责将每个token分配给最适合的专家,其设计直接影响模型性能和负载均衡。
-
传统稀疏门控(Sparse MoE):每个token通过线性门控网络得到所有专家的logits,经softmax后保留Top-K个专家(通常K=1或2),其余专家输出置零。前向计算只激活被选中的专家。问题在于:专家负载可能严重不均——少数专家获得大量token,多数专家未被充分训练。解决方法是引入负载均衡损失:
L_balance = α * Σ_i (f_i * P_i)
其中f_i是分配给专家i的token比例,P_i是门控平均概率。在训练中动态调整α(如从0.01线性衰减到0.001)。
-
专家容量与丢弃机制:为控制每个专家处理的token上限,设置capacity factor。超出容量的token要么丢弃(跳过该token的专家计算,直接残差连接),要么溢出到下一层或用Noisy Top-K门控随机重分配。
-
Soft MoE:彻底改变路由方式。不再为每个token独立选择专家,而是将所有token视为一个整体,通过可学习的参数矩阵
Φ将输入token序列X(形状T × D)映射到一组slot(槽位),每个slot送入一个专家,专家输出后再加权组合回token。数学形式:slot_s = softmax( X · Φ_s )^T · X output = Σ_s ( expert_s(slot_s) · softmax( X · Ψ_s ) )
这种方法天然保证负载均衡(每个专家正好处理固定数量的slot),且计算密集,适合GPU。缺点是slot数量是超参数,通常设为token数的1~2倍。
-
路由与量化联合优化:低位宽MoE推理时,路由的logits对量化敏感。解决方案是对门控网络使用FP16(或更高精度),而对专家权重使用INT4/三值量化,因为专家的精度损失对最终结果影响远小于路由决策错误。
-
MoE的训练稳定性:专家之间可能发生表示坍缩——不同专家学到相似的变换。引入带噪声的Top-K门控(在logits上加高斯噪声),强制模型探索不同专家组合;或使用辅助的“专家差异性损失”,惩罚专家输出之间的余弦相似度。