2025 年 2 月 25 日,DeepSeek 在开源周的第二天,正式发布了首个专为混合专家模型(MoE)训练和推理设计的专家并行(EP)通信库 —— DeepEP。DeepEP 在 GitHub 上开源仅 20 分钟,便获得了超过 1k 个 Star。截止本文发布时间,DeepEP 的 Github Star 数已经达到 2.4k,并且还在持续飙升。
采用 MoE(Mixture-of-Experts,混合专家)架构的大语言模型,能够在显著提升模型容量的同时避免计算量的线性增长。然而,这种架构也引入了新的挑战 —— 尤其是在 GPU 之间的通信方面。在 MoE 模型中,每个 Token 仅会激活一部分专家,因此如何在设备之间高效交换数据变得至关重要。传统的 all-to-all 通信方法往往会导致瓶颈,增加延迟并降低 GPU 资源的利用率。在对延迟敏感的场景(如实时推理)中,即使是微小的延迟也可能影响整体性能。此外,尽管低精度运算(如 FP8)有助于减少内存占用,但其实现需要精细优化以维持模型质量。这些问题凸显了针对专家并行(Expert Parallelism, EP)需求定制通信库的必要性。
DeepEP 是一个专为 MoE 模型和专家并行设计的通信库。DeepEP 解决了 Token 在 GPU 之间分发和聚合过程中的效率问题。该库提供了高吞吐量、低延迟的all-to-all 的 GPU 内核(通常称为 MoE 分发与聚合内核),在训练和推理过程中优化了数据交换流程。特别值得一提的是,DeepEP 支持低精度运算(包括 FP8),这与 DeepSeek-V3 论文中详细描述的技术完全一致。DeepEP 有效解决了节点内和节点间环境中扩展 MoE 架构的挑战。
DeepEP 的核心功能包括:
DeepEP 提供了两种主要类型的内核,以满足不同的操作需求:
DeepSeek 在 H800 GPU 上测试了常规内核(NVLink 最大带宽约为 160 GB/s),每块 GPU 连接一张 CX7 InfiniBand 400 Gb/s RDMA 网卡(最大带宽约为 50 GB/s)。此外,遵循 DeepSeek-V3/R1 的预训练设置,包括每批 4096 个 token、隐藏层维度 7168、Top-4 分组、Top-8 专家、FP8 分发以及 BF16 结果合并。性能测试的结果如下表所示:
DeepSeek 在 H800 GPU 上测试了低延迟内核,每块 GPU 连接一张 CX7 InfiniBand 400 Gb/s RDMA 网卡(最大带宽约为 50 GB/s)。此外,遵循典型的 DeepSeek-V3/R1 生产环境设置,包括每批 128 个 token、隐藏层维度 7168、Top-8 专家、FP8 分发以及 BF16 结果合并。性能测试的结果如下表所示:
DeepEP 的发布标志着 DeepSeek 在 MoE 训练和推理优化上的又一重要突破。该通信库针对专家并行设计,解决了 GPU 之间的数据交换瓶颈,极大地提高了通信效率。DeepSeek 下一个开源的项目会是什么呢?让我们拭目以待。