该问题归类到Transformer架构问题集——架构变体——稀疏/混合专家。请参考LLM数学推导——Transformer架构问题集。
1. 问题背景:为什么专家并行是 MoE 的 “必选项”?
在混合专家模型(MoE)的世界里,每个专家都是一个独立的神经网络,负责处理特定类型的输入。当专家数量达到数千甚至数万个(如 Switch Transformer 的 128 专家、GLaM 的 64 专家),单个 GPU 的显存容量(通常 40-80GB)已无法容纳所有专家参数。例如,一个包含 1000 个专家的 MoE,每个专家参数为 100MB,总参数规模达 100GB,远超单卡显存上限。专家并行(Expert Parallelism)应运而生,它将专家 “拆解” 到不同设备上,每个设备仅存储部分专家,如同将一本百科全书的不同章节分发给不同译者,各自处理擅长的部分。
这种分布式策略带来两个核心优势:
- 显存解放:256 个设备分摊 1000 专家,每设备仅需存储 4 个专家(约 4GB),让万亿参数模型训练成为可能
- 计算并行:激活的专家在各自设备上独立计算,充分利用分布式算力
但挑战也随之而来:专家分布在不同设备,数据需要 “跨设备旅行”。就像译者需要共享翻译片段才能完成全书,激活专家的输入需要从 “门控设备” 传输到对应设备,计算结果还需聚合回主设备。谷歌实测显示,当专家并行规模超过 100 设备时,通信开销可能占总训练时间的 40% 以上,成为制约效率的关键因素。
2. 技术原理:专家并行的通信模型如何运作?
2.1 专家并行的核心架构:从 “集中式” 到 “分布式” 的蜕变
假设 MoE 包含m个专家,部署在p个计算设备上(如 GPU 集群),每个设备负责k=m/p个专家。核心流程分为三个阶段,每个阶段都伴随着数据在设备间的流动:
2.1.1 门控路由阶段:激活专家的 “入场券” 分发
- 数据流向:门控网络在主设备计算激活专家列表(如 top-1 或 top-4 专家),并将输入数据
(B为批量大小,d为输入维度)发送到这些专家所在的设备
- 通信模式:Scatter 操作(分散传输),例如 1 个样本激活 3 个专家,需将输入拆分为 3 份,分别发送到 3 个设备
- 数学表达:设备i接收的输入数据量为
,其中
为设备i上的激活专家数,总输入通信量为
(s为单样本平均激活专家数)
2.1.2 专家计算阶段:分布式 “智囊团” 工作
- 计算并行:每个设备独立计算本地专家的输出,如设备i计算
,
为第i个专家函数
- 时间特性:计算时间
与设备算力、专家复杂度相关,若专家为多层感知机(MLP),
(h为隐藏层维度)
2.1.3 结果聚合阶段:激活专家的 “智慧融合”
- 数据流向:各设备将专家输出
发送到主设备,拼接为完整输出

最低0.47元/天 解锁文章
4470

被折叠的 条评论
为什么被折叠?



