deepseek-ai/DeepEP
DeepEP: an efficient expert-parallel communication library
解决的问题
DeepEP 解决了现代机器学习训练和推理中的通信瓶颈,特别是针对混合专家模型 (MoE)。它为专家并行 (EP) 的 dispatch 和 combine 操作提供高吞吐量、低延迟的 all-to-all GPU 内核,在减少 GPU 之间 Token 移动开销的同时,最大限度地降低了流式多处理器 (SMs) 的消耗。
工作原理
DeepEP 实现了一个高性能通信库,利用轻量级的即时 (JIT) 编译模块在运行时生成内核,从而无需在安装期间进行 CUDA 编译。它使用 NCCL Gin 后端进行轻量级通信,并提供 ElasticBuffer 接口来统一高吞吐量和低延迟 API。该库支持 FP8 等低精度格式,并利用 RDMA 和 NVLink 进行高效的节点间和节点内数据传输。它还包含用于流水线并行 (PP)、上下文并行 (CP) 和远程内存访问 (Engram) 的实验性原语。
适用对象
专为在 Hopper (SM90) GPU 或更新架构上训练或部署大规模 MoE 模型的开发人员和研究人员设计,这些用户需要最大化硬件带宽并最小化通信中的 SM 资源占用。
亮点
- 极致效率:V2 在使用 SM 资源减少高达 4 倍的情况下,实现了比 V1 高出 1.3 倍的峰值性能。
- JIT 编译:内核在运行时编译,简化了安装和部署。
- 分析式调优:自动计算最佳的 SM 和 QP 数量,无需手动自动调优。
- 广泛的并行支持:除了专家并行,还提供对流水线并行、上下文并行和远程内存访问的实验性支持。
- 低精度支持:针对 FP8 dispatching 和 BF16 combining 进行了优化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目