稀疏专家混合让每个输入只激活部分参数
说明门控、专家容量和负载均衡如何实现条件计算,并分析溢出、跨设备通信、路由偏差与部署成本。
稀疏专家混合让每个输入只激活部分参数
稀疏专家混合模型把网络中的一个子层复制为多个“专家”,再由门控网络为每个输入选择少数专家。这样可以显著增加模型参数容量,同时让单次前向计算只经过其中一部分参数。参数规模与激活计算由此不再同步增长,但代价是路由、负载均衡、跨设备通信和训练稳定性都变得更复杂。
Shazeer 等人在 Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer 中提出带噪声的 top-k 门控和辅助负载均衡机制,展示了条件计算扩大容量的路径。专家不是预先指定的学科角色;它们通常由优化过程形成内部功能分工,不能仅凭少量样本给每个专家贴上固定语义标签。
门控把输入分配给少数专家
一个专家层接收 token 或样本表示,门控网络计算其对各专家的分数,再选择 top-k 专家。被选专家分别处理输入,其输出按门控权重合并。若 k 远小于专家总数,激活计算保持受控,而模型可以在不同输入上调用不同参数子集。
路由是离散选择,梯度传播和数值稳定性比密集层更难处理。门控分数过早偏向少数专家时,热门专家获得更多训练样本并继续变强,形成正反馈;其他专家缺少梯度而失去作用。训练通常加入负载均衡辅助损失,鼓励输入数量和门控概率在专家间更均匀,但均匀并不是唯一目标。若业务数据本身高度不均衡,过强均衡也可能阻碍有用分工。
随机噪声、温度和容量设置会影响探索。训练早期允许一定路由扰动,有助于避免专家永久闲置;后期则需要稳定路由。所有策略都应记录,因为它们会改变同一架构的可重复性和故障表现。
容量限制决定溢出输入如何处理
分布式训练会为每个专家分配有限缓冲容量。某个批次路由到热门专家的 token 超过容量时,系统必须丢弃、转交备用专家、回退到残差路径或增加计算。不同实现的选择会直接影响质量,不能只看理论 FLOPs。
容量因子越高,溢出越少,但显存、通信和填充开销越大;容量越紧,吞吐更稳定,却可能让特定语言、类别或长尾样本更频繁被丢弃。监控应按专家、数据子群和序列位置统计路由量、溢出率与回退率,避免平均值掩盖局部失败。
批量构成也会改变路由。小批量下专家负载波动大,跨设备 all-to-all 通信难以摊薄;大批量更容易均衡,但延迟和内存上升。在在线推理中,请求到达不均匀,还可能需要连续批处理或专家并置。参数量扩大不等于服务吞吐按比例提升。
专家并行把通信变成主要约束
专家通常分布在不同加速器上。输入先按路由结果重排并发送到专家所在设备,计算后再传回原顺序。这个 all-to-all 阶段对网络带宽、拓扑和消息大小敏感。若专家计算很短,通信会占据大部分时间;若把多个专家放在同一设备,又会增加显存压力。
部署规划应同时考虑数据并行、张量并行、流水线并行和专家并行。训练拓扑与推理拓扑不同,不能直接复制参数切分方案。热专家故障或单台设备变慢时,整个批次可能等待最慢路径,因此需要超时、健康检测、容量降级和检查点恢复策略。
《Deep Learning》提供了神经网络优化、正则化和表示学习的基础框架,可帮助理解专家子网络与门控共同训练的背景:https://www.deeplearningbook.org/。稀疏性在这里是运行时路由属性,不表示权重矩阵本身一定稀疏,也不自动降低内存占用。
评价要把质量、路由与系统成本放在一起
质量评价除任务指标外,还要比较同等激活计算或同等延迟下的密集模型。若只按总参数量比较,容易夸大稀疏模型收益。路由侧应报告专家利用率、负载变异、token 丢弃、辅助损失、专家相似度和不同子群的选择分布。
系统侧需要在目标集群测量端到端吞吐、首 token 延迟、尾延迟、显存峰值、网络流量、检查点大小和恢复时间。扩展实验要区分增加专家、增加设备和增加数据造成的变化。某些设置在训练集群上高效,却不适合低并发在线服务。
发布时保留门控与专家版本的一致性。只替换部分专家可能改变路由后的函数,门控更新也可能让流量突然转移。灰度过程中应监控专家负载和输出差异,并准备回退到上一完整检查点或密集备用模型。稀疏专家混合的优势来自有条件地使用容量;只有路由、公平性、通信和故障边界同时受控,这种容量才会成为可运营能力。
数据治理要观察路由是否形成隐性分区
专家可能在语言、地区、主题或输入质量上形成分工,这种分工有时有利,也可能把低资源群体集中到训练不足的专家。审计不应尝试给专家编造固定人格,而应比较不同数据子群的路由频率、溢出率、损失和梯度规模。删除训练数据、更新过滤规则或调整采样比例后,相关专家的行为也会改变,模型卡和数据谱系需记录这种关联。若路由日志包含可识别输入属性,应采用聚合统计和最短保留期。