混合专家(Mixture of Experts,简称 MoE)架构
混合专家(Mixture of Experts,简称MoE)架构的核心原理是“术业有专攻 + 动态分工”:它在模型内部划分出许多个专精的子网络(称为“专家”),并通过一个路由机制,只让其中少数几个相关的专家参与当前输入的计算,从而在不增加推理计算量太多的前提下,大幅提升模型的总参数量和表达能力。
下面从结构、流程和优势三个层面通俗解释:
一、基本结构组成
一个典型的 MoE 层会替代传统 Transformer 中的前馈网络(FFN),主要由两部分构成:
专家网络(Experts)
本质就是多个结构相同但参数独立的子网络(通常是 FFN)。
例如有 64 个专家,每个专家都“擅长”处理某类特征或语义模式(如代码、医学、逻辑推理等,虽然是隐式学到的)。
门控网络 / 路由器(Gating Network / Router)
一个轻量的打分模块,负责判断:当前输入的这个 token,应该交给哪几个专家处理。
它会给每个专家打一个权重分,然后通常只选分数最高的Top-k 个专家(常见 k=1 或 k=2)来处理该 token。
二、工作流程(以 Transformer 中的 MoE 层为例)
假设模型有一层 MoE,包含 N 个专家,处理一个输入序列:
输入进入 MoE 层:某个 token 的隐藏状态向量送入路由器。
路由打分:路由器输出 N 个专家的得分(经过 Softmax 或稀疏化函数)。
稀疏激活(关键):
只保留分数最高的k 个专家(比如 2 个),其余专家完全不参与计算。
这叫“稀疏激活”,保证了计算量只和 k 个专家有关,而不是 N 个。
专家计算:被选中的专家分别对 token 做前向计算,得到各自输出。
加权融合:用路由器给出的权重,把 k 个专家的输出加权求和,作为这一层的最终输出,再传给下一层 Transformer。
形象比喻:
传统模型像“一个全科医生看完所有病人”;
MoE 像“分诊台(路由器)根据病情,只叫来 2 位专科医生会诊,其他医生休息”。
三、为什么 MoE 被 GPT-5 等大模型采用?
结合前文提到的 GPT-5 架构,MoE 解决了几个关键问题:
总参数大,激活参数小
总参数量可以做到万亿级(提升知识容量和上限),
但每个 token 只激活约 10%~15% 的参数(如几百亿而非几万亿),推理成本可控。
知识模块化
不同专家隐式学到不同领域/模式的知识,有助于减少知识干扰,提升专业任务(代码、数学、多模态)的表现。
扩展效率高
增加专家数量主要增加存储与训练并行度,不一定同比例增加推理算力,适合规模化扩展。
四、伴随挑战(补充说明)
路由不均衡:某些专家可能被过度调用(“热门专家”),其他的长期闲置,需要用辅助损失(load balancing loss)来约束。
训练与通信开销:分布式训练中,token 要在不同专家间路由,对通信带宽敏感。
微调和部署复杂度:相比稠密模型,MoE 在微调策略和服务部署上更复杂一些。