一、什么是 DeepEP?
DeepEP 是 DeepSeek 推出的開源通信庫,專為混合專家模型(MoE)的訓練和推理設計。它提供了高吞吐量和低延遲的全對全 GPU 內核,支持節(jié)點內 NVLink 和節(jié)點間 RDMA 通信。DeepEP 針對 DeepSeek-V3 論文中的組限制門控算法進行了優(yōu)化,支持 FP8 數據格式調度,并引入了基于 Hook 的通信-計算重疊方法,顯著提升計算效率。
二、DeepEP 的主要功能
-
高效通信內核 DeepEP 提供高吞吐量和低延遲的全對全 GPU 內核,適用于 MoE 的分發(fā)(dispatch)和合并(combine)操作,優(yōu)化了節(jié)點內和節(jié)點間的通信效率。
-
低精度計算支持 支持 FP8 和 BF16 等低精度數據格式,顯著提升計算效率并降低內存需求,適用于大規(guī)模模型訓練。
-
優(yōu)化的通信機制 針對 DeepSeek-V3 論文中的組限制門控算法,DeepEP 提供了優(yōu)化的內核,支持從 NVLink 到 RDMA 的非對稱帶寬轉發(fā),適用于訓練和推理預填充任務。
-
低延遲推理解碼 提供純 RDMA 的低延遲內核,特別適合對延遲敏感的推理解碼場景,延遲低至 163 微秒。
-
通信與計算重疊 引入基于 Hook 的通信-計算重疊方法,不占用 GPU 的流多處理器(SM)資源,最大化計算效率。
-
靈活的資源管理 支持靈活的 GPU 資源管理,允許用戶控制 SM 的使用數量,適應不同的工作負載。
-
網絡配置優(yōu)化 DeepEP 在 InfiniBand 網絡上進行了全面測試,支持通過虛擬通道(VL)實現流量隔離,防止不同類型流量之間的干擾。
三、DeepEP 的性能表現
-
高吞吐量內核
-
內節(jié)點通信:使用 NVLink 的內節(jié)點通信中,分發(fā)和合并操作的瓶頸帶寬分別達到 153 GB/s 和 158 GB/s。
-
跨節(jié)點通信:使用 RDMA 的跨節(jié)點通信中,分發(fā)和合并操作的瓶頸帶寬分別達到 43-47 GB/s。
-
-
低延遲內核
-
在處理 8 個專家時,分發(fā)操作的延遲為 163 微秒,合并操作的延遲為 318 微秒,RDMA 帶寬為 46 GB/s。
-
隨著專家數量增加,延遲略有上升,但在 256 個專家時,分發(fā)和合并操作的延遲分別為 194 微秒和 360 微秒。
-
-
系統兼容性
-
主要與 InfiniBand 網絡兼容,也支持在收斂以太網(RoCE)上運行。
-
需要 Hopper 架構 GPU(如 H100、H800)、Python 3.8 及以上版本、CUDA 12.3 及以上版本以及 PyTorch 2.1 及以上版本。
-
四、DeepEP 的系統要求
-
硬件要求
-
支持 Hopper 架構的 GPU(如 H100、H800),未來可能會支持更多架構。
-
需要支持 GPUDirect RDMA 的設備,具體要求可參考 NVSHMEM 的硬件規(guī)格。
-
節(jié)點內通信需要 NVLink,節(jié)點間通信需要 RDMA 網絡。
-
-
軟件要求
-
Python 3.8 及以上版本。
-
CUDA 12.3 及以上版本。
-
PyTorch 2.1 及以上版本。
-
需要安裝修改版的 NVSHMEM,具體安裝指南可參考相關文檔。
-
推薦安裝 GDRCopy(v2.4 及以上版本),用于低延遲 GPU 內存拷貝。
-
-
網絡要求
-
主要測試環(huán)境為 InfiniBand 網絡,兼容 RDMA over Converged Ethernet (RoCE)。
-
支持通過虛擬通道(VL)進行流量隔離,以防止不同工作負載之間的干擾。
-
-
其他要求
-
在容器化環(huán)境中,需要確保主機加載了必要的內核模塊(如
gdrdrv
),正確安裝了相關 DEB 包。 -
安裝完成后,需要設置環(huán)境變量(如
NVSHMEM_DIR
)以供 DeepEP 使用。
-
五、DeepEP 的應用場景
-
大規(guī)模模型訓練 DeepEP 提供高效的并行通信支持,適用于混合專家模型(MoE)的訓練,顯著提升訓練效率。
-
推理任務 適合對延遲敏感的推理解碼場景,能顯著降低延遲,提高推理吞吐量。
-
高性能計算 支持多種硬件平臺,包括 Hopper GPU 架構,優(yōu)化了 NVLink 和 RDMA 網絡的通信性能。
-
智能客服 通過優(yōu)化推理過程,DeepSeek 的智能客服系統能快速響應用戶問題,提升服務效率。
-
金融領域 用于風險評估、自動化報告生成等,通過分析企業(yè)財報和輿情數據,預測違約概率。
六、如何獲取 DeepEP?
DeepEP 的 Github 倉庫地址為:https://github.com/deepseek-ai/DeepEP。開發(fā)者可以在此找到詳細的文檔和安裝指南。