ai-infra-interview-305

第 157 题:MoE模型的all-to-all通信优化?TutelFasterMoE

题目

MoE模型的all-to-all通信优化?TutelFasterMoE


完整讲解

一、MoE 与 All-to-All

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、FasterMoE 等优化

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 融合与分片策略;目标降低延迟与带宽占用。


面试要点


记忆要点

  1. MoE 通信 = token↔expert 的 all-to-all;是 MoE 训练/推理的主要瓶颈。
  2. Tutel/FasterMoE = all-to-all 优化 + kernel 融合 + 分片策略。
  3. 重叠、合并小消息、智能分片、融合 kernel。
返回模块 返回总览