DeepEP:专为 MoE 模型设计的高效通信库,助力训练与推理效率提升

一、什么是 DeepEP?

DeepEP 是 DeepSeek 推出的开源通信库,专为混合专家模型(MoE)的训练和推理设计。它提供了高吞吐量和低延迟的全对全 GPU 内核,支持节点内 NVLink 和节点间 RDMA 通信。DeepEP 针对 DeepSeek-V3 论文中的组限制门控算法进行了优化,支持 FP8 数据格式调度,并引入了基于 Hook 的通信-计算重叠方法,显著提升计算效率。

二、DeepEP 的主要功能

  1. 高效通信内核 DeepEP 提供高吞吐量和低延迟的全对全 GPU 内核,适用于 MoE 的分发(dispatch)和合并(combine)操作,优化了节点内和节点间的通信效率。

  2. 低精度计算支持 支持 FP8 和 BF16 等低精度数据格式,显著提升计算效率并降低内存需求,适用于大规模模型训练。

  3. 优化的通信机制 针对 DeepSeek-V3 论文中的组限制门控算法,DeepEP 提供了优化的内核,支持从 NVLink 到 RDMA 的非对称带宽转发,适用于训练和推理预填充任务。

  4. 低延迟推理解码 提供纯 RDMA 的低延迟内核,特别适合对延迟敏感的推理解码场景,延迟低至 163 微秒。

  5. 通信与计算重叠 引入基于 Hook 的通信-计算重叠方法,不占用 GPU 的流多处理器(SM)资源,最大化计算效率。

  6. 灵活的资源管理 支持灵活的 GPU 资源管理,允许用户控制 SM 的使用数量,适应不同的工作负载。

  7. 网络配置优化 DeepEP 在 InfiniBand 网络上进行了全面测试,支持通过虚拟通道(VL)实现流量隔离,防止不同类型流量之间的干扰。

三、DeepEP 的性能表现

  1. 高吞吐量内核

    1. 内节点通信:使用 NVLink 的内节点通信中,分发和合并操作的瓶颈带宽分别达到 153 GB/s 和 158 GB/s。

    2. 跨节点通信:使用 RDMA 的跨节点通信中,分发和合并操作的瓶颈带宽分别达到 43-47 GB/s。

  2. 低延迟内核

    1. 在处理 8 个专家时,分发操作的延迟为 163 微秒,合并操作的延迟为 318 微秒,RDMA 带宽为 46 GB/s。

    2. 随着专家数量增加,延迟略有上升,但在 256 个专家时,分发和合并操作的延迟分别为 194 微秒和 360 微秒。

  3. 系统兼容性

    1. 主要与 InfiniBand 网络兼容,也支持在收敛以太网(RoCE)上运行。

    2. 需要 Hopper 架构 GPU(如 H100、H800)、Python 3.8 及以上版本、CUDA 12.3 及以上版本以及 PyTorch 2.1 及以上版本。

四、DeepEP 的系统要求

  1. 硬件要求

    1. 支持 Hopper 架构的 GPU(如 H100、H800),未来可能会支持更多架构。

    2. 需要支持 GPUDirect RDMA 的设备,具体要求可参考 NVSHMEM 的硬件规格。

    3. 节点内通信需要 NVLink,节点间通信需要 RDMA 网络。

  2. 软件要求

    1. Python 3.8 及以上版本。

    2. CUDA 12.3 及以上版本。

    3. PyTorch 2.1 及以上版本。

    4. 需要安装修改版的 NVSHMEM,具体安装指南可参考相关文档。

    5. 推荐安装 GDRCopy(v2.4 及以上版本),用于低延迟 GPU 内存拷贝。

  3. 网络要求

    1. 主要测试环境为 InfiniBand 网络,兼容 RDMA over Converged Ethernet (RoCE)。

    2. 支持通过虚拟通道(VL)进行流量隔离,以防止不同工作负载之间的干扰。

  4. 其他要求

    1. 在容器化环境中,需要确保主机加载了必要的内核模块(如 gdrdrv),正确安装了相关 DEB 包。

    2. 安装完成后,需要设置环境变量(如 NVSHMEM_DIR)以供 DeepEP 使用。

五、DeepEP 的应用场景

  1. 大规模模型训练 DeepEP 提供高效的并行通信支持,适用于混合专家模型(MoE)的训练,显著提升训练效率。

  2. 推理任务 适合对延迟敏感的推理解码场景,能显著降低延迟,提高推理吞吐量。

  3. 高性能计算 支持多种硬件平台,包括 Hopper GPU 架构,优化了 NVLink 和 RDMA 网络的通信性能。

  4. 智能客服 通过优化推理过程,DeepSeek 的智能客服系统能快速响应用户问题,提升服务效率。

  5. 金融领域 用于风险评估、自动化报告生成等,通过分析企业财报和舆情数据,预测违约概率。

六、如何获取 DeepEP?

DeepEP 的 Github 仓库地址为:https://github.com/deepseek-ai/DeepEP。开发者可以在此找到详细的文档和安装指南。

© 版权声明

相关文章