
DeepSeek OpenSourceWeek 的第二天,发布专家并行通信库 DeepEP:首个面向MoE模型的开源EP通信库,支持实现了混合专家模型训练推理的全栈优化!感觉继续深度绑定老黄的GPU,又和老黄对着干😁

我们一起来扒一扒
DeepEP 的核心亮点
✅ 高效优化的 All-to-All 通信: DeepEP 提供了高性能、低延迟的 GPU 集群内和集群间 all-to-all 通信内核,这正是 MoE 模型中专家路由和组合的关键所在。 你可以把它理解为 MoE 模型数据高速公路的升级版!
✅ 集群内 (Intranode) 和集群间 (Internode) 全面支持: 无论是单机多卡,还是多机多卡,DeepEP 都能完美驾驭。 它充分利用 NVLink 和 RDMA 等高速互联技术,最大化通信带宽
✅ 训练和推理预填充 (Prefilling) 的高性能内核: 对于模型训练和推理预填充阶段,DeepEP 提供了高吞吐量的内核,保证数据传输速度,加速模型迭代和部署
✅ 推理解码 (Decoding) 的低延迟内核: 针对对延迟敏感的推理解码场景,DeepEP 也准备了低延迟内核,采用纯 RDMA 通信,最大限度减少延迟,让你的模型响应更快!
✅ 原生 FP8 精度支持: 紧跟前沿技术,DeepEP 原生支持 FP8 低精度运算,进一步提升计算效率,节省显存
✅ 灵活的 GPU 资源控制,实现计算-通信重叠: DeepEP 支持精细化的 SM (Streaming Multiprocessors) 数量控制,并引入了基于 Hook 的通信-计算重叠方法,巧妙地在后台进行通信,不占用宝贵的 GPU 计算资源! 这意味着什么? 你的 GPU 可以更专注于计算,通信交给 DeepEP 在幕后默默加速!
性能实测
DeepSeek 官方给出了 DeepEP 在 H800 服务器上的实测数据,效果惊艳!
正常内核性能 (NVLink + RDMA Forwarding):
|
|
|
|
|
Intranode (单机) |
|
|
|
|
Internode (多机) |
|
|
|
|
Internode (多机) |
|
|
|
|
Internode (多机) |
|
|
|
|
低延迟内核性能 (纯 RDMA):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
数据清晰地表明,DeepEP 在各种场景下都能提供出色的通信性能! 无论是追求高吞吐量还是低延迟,DeepEP 都能满足你的需求
快速上手DeepEP!
DeepEP 的使用也非常友好,官方提供了详细的 快速开始 (Quick Start) 指南和丰富的代码示例。 你只需要:
-
1. 满足环境要求: Hopper 架构 GPU (或更高版本),Python 3.8+,CUDA 12.3+,PyTorch 2.1+,NVLink 和 RDMA 网络。 -
2. 安装 NVSHMEM 依赖: DeepEP 依赖于 DeepSeek 修改过的 NVSHMEM,需要按照官方 NVSHMEM Installation Guide 进行安装。 -
3. 下载 DeepEP 并安装: 按照官方 Development 和 Installation 指南进行编译和安装。
安装完成后,你就可以在你的 Python 项目中轻松导入 deep_ep
库,开始享受 DeepEP 带来的加速体验啦!
github:https://github.com/deepseek-ai/DeepEP
网络配置和流量隔离,专业级的考量
DeepEP 充分考虑了实际应用场景中的网络环境,支持 InfiniBand 网络,并且理论上兼容 RoCE (RDMA over Converged Ethernet)。 同时,DeepEP 还支持 Virtual Lanes (VL) 流量隔离,你可以根据不同类型的工作负载 (普通内核、低延迟内核、其他负载) 分配不同的虚拟通道,避免互相干扰,保证通信质量
自适应路由和拥塞控制,更智能的网络管理!
DeepEP 还支持 自适应路由 (Adaptive Routing) 功能 (目前仅低延迟内核支持),可以更均匀地分配网络流量,避免网络拥塞。 当然,DeepEP 也考虑到了 拥塞控制 (Congestion Control),虽然目前默认禁用,但在未来的版本中可能会根据实际情况进行调整和优化
写在最后:
一些重要提示 (Notices):
-
• 为了极致性能,DeepEP 使用了部分 “behavior-out-of-doc” 的 PTX 指令,在特定 Hopper 架构下可以获得更好的性能。 如果你的平台遇到兼容性问题,可以尝试禁用这些指令 -
• 为了获得最佳性能,强烈建议在你的集群上运行所有测试,并根据测试结果进行自动调优。
MIT开源协议
DeepEP 代码库基于 MIT License 开源,非常友好! 除了部分引用 NVSHMEM 的代码外,你可以自由地使用、修改和分发 DeepEP 代码
参考:
https://github.com/deepseek-ai/DeepEP
⭐
(文:AI寒武纪)