首先,我得說明:本次發布較為硬核,我盡量寫得清晰,但最好配合 AI 進行閱讀

話題回來,DeepEP 這東西專門用于 MoE 的分發與合并操作,同時支持包括 FP8 在內的低精度運算。

同時的,DeepEP 針對 DeepSeek-V3 論文中提出的組限制門控算法進行了特別優化,為非對稱域帶寬轉發(如從 NVLink 域到 RDMA 域)提供了一系列高性能核心。這些核心不僅具有高吞吐量,適合訓練和推理預填充任務,還支持流多處理器(SM)數量控制。

對于延遲敏感的推理解碼場景,DeepEP 包含一組純 RDMA 低延遲核心,將延遲降至最低。庫還引入了一種基于鉤子的通信-計算重疊方法,不占用任何 SM 資源,進一步提升效率。

性能表現

DeepEP 在各種場景下展現出色的性能。在具有 NVLink 和 RDMA 轉發功能的標準核心測試中,使用 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 合并)進行測試。

內節點通信性能達到 153-158 GB/s 的 NVLink 帶寬,而跨節點通信可達 43-47 GB/s 的 RDMA 帶寬。

在低延遲核心測試中,使用純 RDMA,按典型的 DeepSeek-V3/R1 生產設置(每批 128 個 token,7168 隱藏維度,top-8 專家,FP8 分發和 BF16 合并),分發操作延遲僅為 163-194 微秒,合并操作延遲為 318-369 微秒,同時保持 39-46 GB/s 的 RDMA 帶寬。

什么是混合專家模型(MoE)?

混合專家模型是一種神經網絡架構,將多個”專家”網絡組合在一起,由”門控”網絡決定將輸入數據路由到哪些專家。 這種架構允許模型規模大幅增長,同時保持計算效率,因為每次處理只激活部分專家而非全部網絡。

MoE 概念最早由 Jacobs、Jordan 和 Hinton 在 1991 年提出,但直到近年才在大型語言模型中得到廣泛應用。谷歌的 Switch Transformers、微軟的 Z-Code 以及 DeepSeek 的 DeepSeek-V3 都采用了 MoE 架構,通過專家稀疏激活實現了更大規模的模型訓練和部署。

專家并行(EP)技術解析

專家并行是分布式訓練的一種方式,將 MoE 中的不同專家分配到不同的計算設備上。 與數據并行、模型并行等其他分布式訓練策略不同,專家并行利用 MoE 的稀疏激活特性,使模型規模能夠隨設備數量線性擴展,而不會相應地增加計算成本。

專家并行的核心挑戰在于專家之間的通信效率,這正是 DeepEP 重點解決的問題。通過優化的通信方案,DeepEP 顯著降低了專家之間數據交換的開銷。

全對全 GPU 核心與 MoE 操作

在 MoE 架構中,兩個關鍵操作是分發(dispatch)和合并(combine):

這兩個操作需要設備間的全對全(all-to-all)通信模式,即每個設備需要向其他所有設備發送和接收數據。DeepEP 提供的高效核心大幅優化了這一過程,減少了通信瓶頸。

NVLink 與 RDMA:兩種通信域

DeepEP 優化了兩種不同通信域之間的數據傳輸:

理解并優化這兩種域之間的數據傳輸對于大規模分布式 MoE 模型至關重要。DeepEP 專門為非對稱域帶寬轉發場景提供了優化核心。

低精度運算與 FP8 格式

為提高性能和減少內存需求,DeepEP 支持低精度數值格式,特別是 FP8(8 位浮點數)。 與傳統的 FP32(32 位)或 FP16(16 位)相比,FP8 精度雖然較低,但在許多深度學習任務中表現足夠好,同時能顯著提高計算效率和減少內存帶寬需求。

組限制門控算法

DeepSeek-V3 論文中提出的組限制門控算法是一種改進的 MoE 路由策略。傳統 MoE 可能導致負載不均衡,某些專家過度使用而其他閑置。

組限制門控通過將專家分組并限制每組內可選擇的專家數量,更好地平衡了計算負載,提高了硬件利用率和訓練效率。

Hopper GPU 架構

NVIDIA 的 Hopper GPU 架構(如 H100、H800)是專為 AI 和高性能計算設計的計算平臺。

Hopper 引入了多項創新,包括 Transformer 引擎、更高的計算密度和增強的多 GPU 互連能力。DeepEP 專門針對 Hopper 架構進行了優化,以發揮其全部潛力。

流多處理器(SM)控制

流多處理器是 GPU 的基本計算單元。DeepEP 提供 SM 數量控制功能,允許開發者精確控制核心使用的計算資源,為不同工作負載找到最佳平衡點。

值得注意的是,DeepEP 的基于鉤子的通信-計算重疊方法不占用任何 SM 資源,實現了通信和計算的真正并行。

快速上手 DeepEP

使用 DeepEP 需要 Hopper GPU、Python 3.8 以上、CUDA 12.3 以上、PyTorch 2.1 以上,以及用于內節點通信的 NVLink 和跨節點通信的 RDMA 網絡。庫依賴于一個修改版的 NVSHMEM,安裝前需先配置此依賴。

DeepEP 提供了清晰的 Python API,使開發者能輕松地將其集成到現有 MoE 模型中。對于推理場景,DeepEP 的低延遲模式特別有價值,提供不占用 SM 資源的通信-計算重疊功能。

Development

# Build and make symbolic links for SO files
NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py build
# You may modify the specific SO names according to your own platform
ln -s build/lib.linux-x86_64-cpython-38/deep_ep_cpp.cpython-38-x86_64-linux-gnu.so

# Run test cases
# NOTES: you may modify the init_dist function in tests/utils.py # according to your own cluster settings, and launch into multiple nodes python tests/test_intranode.py python tests/test_internode.py python tests/test_low_latency.py

Installation

NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py install

更多細節,可在官方 repo 里找

網絡配置

對于生產環境,DeepEP 提供了詳細的網絡配置建議:

這些配置建議對于在大規模集群中發揮 DeepEP 的最佳性能至關重要。

回顧

DeepEP 作為 DeepSeek 開源周的第二日發布,為混合專家模型提供了高效的通信解決方案。通過優化的全對全 GPU 核心、低延遲 RDMA 操作和創新的不占用計算資源的通信-計算重疊方法,DeepEP 大幅提升了 MoE 模型在訓練和推理階段的性能。

DeepEP 當前完全支持 Hopper GPU 架構,主要在 InfiniBand 網絡環境中測試,但理論上也兼容 RoCE(RDMA over Converged Ethernet)。

隨著社區的參與和貢獻,我們可以期待 DeepEP 在更多硬件平臺上的擴展支持。

文章轉載自:一文詳解:DeepSeek 第二天開源的 DeepEP

上一篇:

DeepSeek 第五天開源的 3FS 文件系統

下一篇:

Manus替代品OpenManus:無需邀請碼
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費