第 73 题:Expert Parallelism在MoE模型中的all-to-all通信优化?
题目
Expert Parallelism在MoE模型中的all-to-all通信优化?
完整讲解
一、MoE 与 Expert Parallelism
MoE(Mixture of Experts)中,不同 token 被路由到不同 expert(子网络)。Expert Parallelism(EP):把不同 expert 放到不同 GPU,每卡负责若干 expert;前向时 token 按路由结果发送到对应卡,算完再按需汇总,涉及 all-to-all 或类似通信(token 按 expert 重排)。
二、All-to-All 的语义与成本
All-to-all:每卡有 (P) 个分片(如按 expert 或 token 分),通信后每卡得到来自所有卡的对应分片。数据量:(P) 卡、每卡原持 (n) 元素,总 (nP),all-to-all 后每卡仍约 (n) 量级但内容重排。通信量约 (n(P-1)/P) 每卡发送、类似接收,与 token 路由分布 相关;若路由不均,某卡可能收多发少或反之,需负载均衡。
三、优化方向
- Fused all-to-all:与计算融合,减少 kernel launch 与显存读写;在 expert 前做「token → expert」重排,expert 后做「expert → token」还原。
- Overlap:all-to-all 与上一层的计算或下一层的准备重叠;双缓冲或异步通信。
- 拓扑:all-to-all 对带宽敏感,同机或高带宽集群更合适;与 TP/PP 组合时,EP 的 all-to-all 常放在与 DP 或 PP 的通信错开,避免同时打满网络。
- 负载均衡:路由策略(如 capacity constraint、aux loss)影响各卡负载;可配合 expert 复制或动态分配减轻不均衡。
面试要点
- EP 把 expert 分到多卡;前向/反向需按路由做 token 重排,即 all-to-all 类通信。
- All-to-all 数据量 (O(总 token 数)),与路由分布相关;fused、overlap、拓扑可优化。
- 负载均衡依赖路由策略与 expert 分配。
记忆要点
- Expert parallel = expert 分卡,token 按路由 all-to-all 重排。
- 通信量级 = token 重排量;fused + overlap 降延迟。
- 路由与 capacity 影响负载均衡,需与 TP/PP 协调。