
今天是 DeepSeek 開源第四天,我已經感覺像是陪著那幫搞 AI 的朋友,連軸跑了四場技術馬拉松,還是衝刺跑的那種。
我那幾個在大廠裡搞 AI 的朋友,訊息永遠是‘在忙’、‘稍等’,好不容易逮著一個問兩句,那邊回過來的都是‘老闆又催了’’、‘大老闆臨時把彙報會改成了 ds 專題討論’、‘又要重新評估方案了’……deepseek 把顯示卡榨乾的同時,順帶著把他們也榨乾了。
什麼“中國團隊突破算力封鎖”的口號啊,看“deepseek 衝擊英偉達”的熱鬧,只看 star 星標的速度,分鐘級速度重新整理,就知道其實真正在暴風眼裡的是那些搞模型訓練的人。不光是國內的大模型團隊,包括 openAI、Claude,都被迫體驗了這把柴燒起來的滋味兒。
我也陪著這幫朋友跑,所以按照慣例,和大家聊聊今天的主角,分別是
DualPipe 和 Expert Parallelism Load Balancer (後面簡稱 EPLB)。
DualPipe:一個雙向流水線並行演算法。
DualPipe 開源地址:https://github.com/deepseek-ai/DualPipe
EPLB:一種用於 MoE 的負載均衡演算法。
EPLB 開源地址:https://github.com/deepseek-ai/eplb
看這專案的名字,濃濃的技術味,我沒法評,就問下你們還有誰記得前三天的專案名字?你們腦子裡都記住了啥東西。

老規矩,咱們先鋪個背景。
都知道,大模型得靠並行撐著。
想象一條流水線:每個工位負責一個活兒,比如這邊裝引擎,那邊安輪子,車子順著流水線一步步成型,總比一個人從頭造到尾快多了。
AI 訓練裡,管道並行也是這個道理,把模型分成幾塊,每塊扔給一個 GPU,大家同時處理不同的資料,效率蹭蹭往上漲。
但問題來了,傳統管道並行有個毛病:GPU 之間得來回傳資料,有時候就像接力賽跑,交棒的時候沒對上,前面的人跑完了後面的人還沒動。這就造成了 管道氣泡——GPU 閒著沒事幹,白白浪費時間。
所以,今天這倆工具,是透過並行,給大模型訓練和推理提速。
DualPipe:AI 訓練的加速神器
這時候 DualPipe 登場了。它是個雙向管道並行演算法,意思是資料能雙向流動——既能往前跑(處理輸入),也能往後跑(反饋更新)。
這裡有一個專業名字,叫計算-通訊高效重疊,同時最佳化正向和反向傳播階段的計算與通訊流程,兩者重疊,這讓 GPU 可以同時幹兩件事(計算和通訊),幾乎不閒著,氣泡時間大幅減少。在 DeepSeek-V3 的技術報告裡說明,這招能大大提升訓練效率。
貼一張全面的對比圖——

1F1B(one-forward-one-backward):一種傳統流水線並行策略,交替執行前向和後向傳播計算,效率最低。
ZB1P(Zero-Bubble Pipeline):也是一種消除流水線空閒時間(氣泡)的並行策略,改進了 1F1B。
DualPipe:就是 ds 這次創新性的流水線並行演算法。
白色表示流水線氣泡 Bubble,DualPipe 明顯更少。
來看個對比表,直觀感受一下 DualPipe 的厲害:

(注:𝐹 是前向計算時間,𝐵 是反向計算時間,𝑊 是權重反向時間,𝐹&𝐵 是重疊的前向和反向時間。)
DualPipe 把氣泡時間砍了不少,但是代價是記憶體加倍。
因為實現雙向並行,要維護兩份模型引數。(兩套生產裝置)
本質是用空間換取時間。雖然引數用量翻倍,但在 AI 訓練裡,為了速度多花點力氣絕對值得。
專案裡還註明了是梁文峰親自參與了 DualPipe。

EPLB:GPU 的任務排程大師
接下來是 專家並行負載均衡器(EPLB),關於專家並行(EP)的科普,在第二天的文章DeepSeek開源第二天:拉爆MoE訓練和推理有介紹。
在用 混合專家(MoE)結構裡面,模型裡有很多“專家”,每個專家擅長不同的活兒。當然這些專家被分到不同 GPU 上。
有的專家忙得要死,有的卻閒得發慌。EPLB 就是來解決這問題的。
它會把忙碌的專家複製一份,分到其他 GPU 上,讓工作量平均攤開。就像交通管理員,看到哪條道堵了就多開幾條,確保車流順暢。這樣一來,每個 GPU 都能幹活,既不累死也不閒死,系統效率拉滿。
EPLB 有兩種玩法:
層級負載均衡:當伺服器節點數能整齊劃分專家組時用這招。先把專家組在節點間平衡好,再在每個節點裡複製專家,最後分配到具體 GPU 上。這樣能少折騰點跨節點的資料傳輸,速度更快。
全域性負載均衡:其他情況下就直接全域性複製專家,分到各個 GPU 上,不分組。這招在大規模推理的解碼階段特別好使。
舉個例子,想象你在管一個廚房,有的廚師忙得鍋都端不過來,有的卻站著發呆。EPLB 就像請了幾個幫手,把活兒重新分一分,大家節奏一致,菜出得又快又好。

這樣能把專家任務均勻分到 GPU 上,誰也別想偷懶。
最後聊聊 DeepSeek Infra 。
這次順便帶了一個用於效能分析的庫,它讓我們能一窺 DualPipe 和 EPLB 在實戰中的表現。
https://github.com/deepseek-ai/profile-data
DeepSeek 用 PyTorch Profiler 記錄了訓練和推理的效能資料,還大方地分享了出來。
你可以下載這些資料,在瀏覽器裡(輸入 chrome://tracing 或 edge://tracing)視覺化檢視。
資料覆蓋了三塊:
訓練:展示了 DualPipe 怎麼在訓練中疊加計算和通訊。每個塊有四個 MoE 層,跟 DeepSeek-V3 的預訓練配置差不多,效率拉滿。

預填充:這是推理階段處理初始輸入的部分,用了 EP32 和 TP1 配置,兩個微批次疊加計算和通訊,工作量分配得剛剛好。

解碼:生成輸出時用的是 EP128 和 TP1,通訊透過 RDMA 非同步處理,GPU 能專心算東西。

這些資料就像 AI 後臺實況,讓你清晰地看到每個動作是怎麼完成的。
就醬,完畢。
最後分享一句話——
"The whale shares its ocean bounty, guiding all fish in its wake."


