DEEPEP V2 · MOEHiDeepSeek / Open Infra
$ dispatch → experts → combine
EXPERT PARALLELISMOPEN SOURCE
评测对比DeepEPMoE分布式训练
DeepEP V2 深度解析:MoE 模型为什么需要专门的通信库
H
HiDeepSeek 编辑部阅读大约 10 分钟
在 Mixture-of-Experts(MoE)模型中,每个 Token 只会被路由到少数专家。专家分布在不同 GPU 或节点后,系统需要先把 Token 发送给目标专家,再把计算结果送回原位置。这两次 all-to-all 数据交换通常称为 dispatch 和 combine,也是 DeepEP 集中优化的路径。
一、通用通信原语为什么不一定够
MoE 的通信量会随路由结果动态变化,而且训练、prefill 和逐 Token decode 对吞吐和延迟的要求不同。DeepEP 不只是包装一次 all-to-all,而是提供面向专家并行的数据布局、低精度传输和 GPU/NIC 协同内核。
二、V2 的关键变化
官方当前的 DeepEP V2 对专家并行进行了重构,使用 NCCL Gin 后端,通过 ElasticBuffer 统一高吞吐与低延迟接口,并支持更大的 scale-up、scale-out 范围。内核采用运行时 JIT 编译,安装阶段不需要预编译所有 CUDA 内核。
# 官方当前环境要求面向集群级 NVIDIA GPU
python setup.py build
python tests/elastic/test_ep.py
三、高吞吐与低延迟不是同一个目标
- 训练与 prefill:更关心大批量 Token 下的总带宽和计算通信重叠。
- decode:每轮数据更小、调用更频繁,尾延迟与跨节点往返更重要。
- 资源占用:通信内核占用过多 SM,会反过来挤压专家计算。
四、不要脱离拓扑复读官方带宽
DeepEP 的表现与 GPU 架构、NVLink 域、RDMA 网卡、节点数量、专家数、Top-K 和 Token 分布紧密相关。官方数字是特定配置下的逻辑带宽,不能直接当成任意集群的采购承诺。
五、采用前的检查清单
- 确认 Hopper/SM90 兼容性以及 CUDA、PyTorch、NCCL 版本。
- 先验证 NCCL 和 RDMA 基础链路,再运行 DeepEP 测试。
- 使用真实模型的 hidden size、Top-K 和负载分布做基准。
- 同时比较端到端 Token 吞吐与 P99 延迟,而非只测微基准。
DeepEP 解决的是 MoE 集群里的“Token 搬运”问题。只有把网络拓扑、路由负载和专家计算一起测,优化结果才有业务意义。
参考资料
本文按下列官方资料核验。模型能力、价格与接口可能调整,请以最新文档为准。