混合专家模型
定义
混合专家模型是一种由多组称为专家的子网络与一个负责分配的机制共同构成的神经网络架构。它与让所有输入共用同一套参数的传统做法不同,而是针对不同样本调用不同的参数子集,因此被称为稀疏激活模型[3]。
在现有的主流实现中,这种做法通常表现为把 Transformer 结构中的前馈网络层替换成一个混合专家层。每个混合专家层包含一个门控网络(也常称路由器)和若干个专家网络,门控网络决定哪些词元被送往哪个专家。专家一般仍是前馈神经网络,也可以采用卷积网络或 Transformer 模块[4]。
原理
对一个输入向量 $x$,路由器先将其映射为各专家的得分,经 softmax 归一化后得到权重分布 $p_i(x)$,再选出得分最高的若干个专家参与计算,输出由这些专家的结果加权求和:
训练时,路由器与各专家的参数一同通过反向传播更新,路由器逐渐学会把不同类型的输入分派给更合适的专家。由于路由决策是离散选择,实现中还需处理梯度传递与数值精度问题;有工作提出将路由器计算保持在高精度下、只让专家部分使用低精度格式,以维持训练稳定[5]。
专家数量可以很多,单个专家处理的数据量却有上限。实现中通常为每个专家设定容量,容量由批次中的词元数除以专家数再乘以容量因子得到,超出容量的词元会被丢弃[5]。当专家分布在不同加速器上时,词元的分发与结果回收需要全局通信,因此专家并行成为分布式训练的关键环节。
发展历程
这一构想的早期形式出现在 1991 年 3 月,Jacobs、Jordan、Nowlan 与 Hinton 在《神经计算》上发表自适应局部专家混合方法,提出让多个相互独立的网络各自负责训练样本的一部分,并由一个学习到的机制协调它们的输出,论文以元音辨别任务验证了这种分工。此后的分层混合专家模型等工作引入概率门控与期望最大化训练,奠定了这一方向的统计基础。
2017 年,Shazeer 等人提出稀疏门控混合专家层,把混合专家层插入堆叠的 LSTM 层之间,构建了参数量达 1370 亿的语言模型,在语言建模与机器翻译任务上以更低计算成本取得更好结果[6]。这项工作是条件计算从理论设想走向工程可行的重要一步[2]。
2021 年 1 月,Fedus、Zoph 与 Shazeer 提出 Switch Transformer,把路由简化为每个词元只选择一个专家,并配合负载均衡损失与容量控制,在相同计算资源下把预训练速度最多提高到 T5 基线的 7 倍,还训练出参数量达 1.6 万亿的模型[3]。此后的 Mixtral、DeepSeek 系列等多款开源与商用大模型沿用这一路线,并在细粒度专家划分、共享专家等设计上继续调整[1]。
应用
语言建模与机器翻译是最早得到验证的应用方向,因为这些任务对模型吸收知识的能力要求较高,参数量成为关键约束[6]。在多任务学习中,多门混合专家结构让各任务共享同一组专家、各自训练自己的门控网络,从而显式地建模任务之间的关系[7]。
在大语言模型领域,混合专家已被多款模型采用,它们在专家数量与激活策略上各不相同,但都依靠稀疏激活兼顾参数规模与推理开销。此外,这一结构也被用于处理视觉、语言与动作的多模态任务,以及需要领域专门知识的医疗、法律、金融等场景[1]。
局限
路由器在训练中容易反复选中少数几个专家,而受欢迎专家因训练更充分又更易被选中,形成自我强化;若大量词元集中到少数专家,训练效率随之下降。常见的应对方式是加入辅助负载均衡损失或调整分配策略[5]。
稀疏激活只减少每次运算量,并不减少需要保存的参数。部署时仍要把全部专家权重载入显存,显存需求因此高于同等计算量的稠密模型[1]。专家分布到多张加速器时,词元分发与结果汇总带来显著通信开销,对互联带宽提出更高要求[1]。
训练稳定性也是长期存在的问题。路由的离散选择、门控网络与专家的协同,都可能使训练出现波动;Switch Transformer 的工作即把训练不稳定、通信成本与实现复杂性列为当时推广的主要障碍[3]。还有研究指出,推理时每个专家内部大量神经元的门控权重接近于零,被激活的参数中仍有相当部分未充分发挥作用[8]。
参见
-
Transformer —— 混合专家层通常嵌入其中的基础网络结构。
-
Switch Transformer —— 把路由简化为单一专家选择的代表性稀疏混合专家模型。
-
稀疏激活 —— 混合专家模型控制计算量的核心机制。
-
负载均衡损失 —— 缓解专家被少数样本垄断的训练辅助手段。
-
大语言模型 —— 混合专家架构当前最主要的应用对象。
-
专家并行 —— 把不同专家分布到多个设备上的分布式训练方式。
参考资料
- 混合专家模型MOE的概述 [引用日期2026-10-29]
- citations [引用日期2026-10-29]
- switch_transformers [引用日期2026-10-29]
- CN118805177A(PDF) [引用日期2026-10-29]
- github.com 上的网页 [引用日期2026-10-29]
- arxiv-1701 [引用日期2026-10-29]
- Search - Showing 30 out of 219 articles found [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]