GPU 榨乾計劃正式啟動!
剛剛,DeepSeek 又放出了一款最佳化顯示卡到極限的專案——DeepEP。簡單來說,它能讓DeepSeek V3 在 2048 張顯示卡上跑得飛快,訓練 AI 不再是“顯示卡煉丹”,而是“顯示卡起飛”!
DeepEP 其實是一個 幫助 AI 訓練和推理變快的通訊工具,專門針對 Mixture-of-Experts (MoE) 訓練方法 設計的。它的主要作用是最佳化 GPU 之間的資料傳輸,讓計算任務跑得更快、更流暢。
僅開源2小時,又雙叒叕斬獲了 1k+ Star,開源領域殺瘋了!

開源專案地址:
https://github.com/deepseek-ai/DeepEP
讓廣大網友稱讚不絕,直呼你們才是真正的OpenAI!!

DeepEP 的主要功能與解決的問題
在大模型訓練或推理過程中,資料需要在不同的 GPU 之間來回傳輸,比如:
-
訓練時:需要把資料分發給不同的“專家”(Experts),然後再合併計算結果。
-
推理時:需要快速找到合適的專家並獲取結果,不能有太多延遲。
普通的 GPU 傳輸速度有限,特別是多個 GPU 之間的通訊會變慢,影響計算效率。DeepEP 就是為了解決這個問題,讓資料傳輸更快、計算更高效,主要透過以下幾種方式:
-
讓 GPU 之間傳輸更快
-
優化了 NVLink(同一臺機器裡的 GPU 傳輸)和 RDMA(不同機器之間的 GPU 傳輸,讓資料能夠更快地在多個 GPU 之間傳輸,不會卡住。

-
減少推理時的延遲
-
使用特殊的 RDMA 技術,可以顯著降低推理過程中的通訊延遲,特別適合大模型的即時推理(比如 ChatGPT 這種)。

-
計算和傳輸可以同時進行
-
DeepEP 提供了一種 hook 機制,使 GPU 可以一邊計算,一邊傳輸資料,不會讓計算任務因為資料傳輸而被阻塞,不讓GPU在後面偷偷摸魚。
✅ 總結一句話:DeepEP讓訓練和推理更快,透過最佳化 GPU 傳輸、降低推理延遲、平行計算和傳輸,極大提升大規模 MoE 訓練和推理的效率!
DeepEP 到底能讓AI跑的有多快?
在 NVIDIA H800 GPU + 400Gb/s RDMA 的伺服器上測試:
-
普通模式(訓練 / 預填充推理):NVLink 速度可達 158GB/s,RDMA 速度 43-47GB/s。
-
低延遲模式(推理解碼):延遲可低至163 微秒,RDMA 速度 39-46GB/s。
安裝和使用
要用 DeepEP,需要:
-
Hopper 架構的 GPU(比如 H100 / H800) -
Python 3.8+ -
CUDA 12.3+ -
PyTorch 2.1+ -
NVLink + RDMA 裝置
安裝命令:
NVSHMEM_DIR=/path/to/installed/nvshmem python setup.py install
然後就可以在 Python 裡使用:
import
deep_ep
舉個例子:如何在 MoE 訓練中使用 DeepEP?
假設我們有一個需要分配任務給多個 GPU 計算的 MoE 模型,DeepEP 可以幫我們快速進行 dispatch(分發任務)和 combine(合併結果):
import
torch
import
torch.distributed
as
dist
from
deep_ep
import
Buffer
# 初始化通訊 buffer
_buffer =
None
defget_buffer(group, hidden_bytes):
global
_buffer
if
_buffer
isNoneor
_buffer.group != group:
_buffer = Buffer(group, hidden_bytes, hidden_bytes)
return
_buffer
# MoE 分發任務
defdispatch_forward(x, topk_idx, topk_weights, num_experts):
global
_buffer
recv_x, recv_topk_idx, recv_topk_weights, handle, event = _buffer.dispatch(x, topk_idx, topk_weights, num_experts)
return
recv_x, recv_topk_idx, recv_topk_weights, handle, event
這段程式碼的作用:
-
先建立一個 GPU 之間的“快速通道” -
把 MoE 任務分配給不同的 GPU -
接收計算結果
以前,這些操作可能需要 更長時間,DeepEP 讓它們變得 更快。
在推理解碼階段怎麼用?
在推理時,DeepEP可以讓資料在後臺傳輸,不會影響計算。比如:
import
torch
import
torch.distributed
as
dist
from
deep_ep
import
Buffer
_buffer =
None
defget_buffer(group, num_max_tokens, hidden, num_experts):
global
_buffer
if
_buffer
isNoneor
_buffer.group != group:
_buffer = Buffer(group,
0
, num_max_tokens * hidden * num_experts, low_latency_mode=
True
)
return
_buffer
deflow_latency_dispatch(hidden_states, topk_idx, num_max_tokens, num_experts):
global
_buffer
recv_hidden_states, recv_expert_count, handle, event, hook = _buffer.low_latency_dispatch(hidden_states, topk_idx, num_max_tokens, num_experts)
return
recv_hidden_states, recv_expert_count, handle, event, hook
這段程式碼:
-
在推理時用 DeepEP 快速分配資料 -
讓資料在後臺傳輸,不影響 GPU 計算 -
適合 ChatGPT 這樣的模型
DeepSeek 開源周才剛開始,下一波大招是什麼?評論區大膽預測!

·················END·················