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