all-to-all通信优化?Tutel、FasterMoE?MoE模型的all-to-all通信优化?Tutel、FasterMoE?
MoE(Mixture of Experts):每层有多个「专家」子网络,按路由只激活部分专家,计算与通信模式与稠密层不同。前向时需根据 token 的 routing 把各 token 发到对应 expert,算完再按 token 顺序收回来,即 all-to-all:每个 rank 持有部分 token,要把自己的 token 按目标 expert 发到对应 rank,并接收其它 rank 发来的、目标为自己所持 expert 的 token。All-to-all 是 MoE 的通信瓶颈,量级与 expert 数、token 数相关。
Tutel(微软):针对 MoE 的 kernel 与通信优化,包括高效 all-to-all、expert 内并行、以及与 CUDA 的融合。FasterMoE:类似地优化 MoE 的 dispatch 与 all-to-all,减少通信次数与显存拷贝。思路共性:通信与计算重叠、合并小消息、按 expert 或 token 的智能分片以降低 all-to-all 的 volume 与次数、以及 kernel fusion(dispatch + 计算 + combine)减少往返。与 NCCL 的 all-to-all 原语配合,或自定义 collective 以更好匹配 MoE 的拓扑。
MoE 的 all-to-all 是 token↔expert 的分布与汇总;Tutel/FasterMoE 做通信优化、kernel 融合与分片策略;目标降低延迟与带宽占用。
| 返回模块 | 返回总览 |