DeepSeek 開源 EPLB,世界上從來沒有什么騰空出世!
deepseek開源DualPipe的同一天,還開源了EPLB。今天來簡單聊聊EPLB,包懂。
1. EPLB是干嘛的?

EPLB,Expert Parallelism Load Balancer,是一個動態(tài)負(fù)載均衡算法。
在使用專家并行EP時,不同專家會被分配到不同的GPU,而這些GPU的負(fù)載可能不均衡,此時就需要EPLB啦。
(1) 什么是專家并行EP?
專家并行EP,Expert Parallelism,是一種針對混合專家MOE設(shè)計的分布式并行技術(shù)。
(2) 什么是混合專家MOE?
混合專家MOE,Mixture of Experts,是deepseek大模型的核心創(chuàng)新應(yīng)用,該模型思路不再追求大而全,轉(zhuǎn)而追求多而專精。
關(guān)于混合專家MOE,詳見:《通俗講解deepseek - MOE(3)》
混合專家MOE與專家并行EP,deepseek之前開源了其核心通訊庫,詳見:《通俗講解deepseek開源 - DeepEP(10)》
2. EPLB是怎么做到負(fù)載均衡的?
EPLB像一個智能調(diào)度員,根據(jù)不同的場景調(diào)度專家進行計算,其負(fù)載均衡算法包含兩類核心策略。
第一類:分級負(fù)載均衡。
使用場景:預(yù)填充階段(prefilling stage),規(guī)模較小,服務(wù)器節(jié)點數(shù)(server nodes)能被專家組數(shù)(expert groups)整除的情況。
策略步驟:
- 專家組分配(pack to)到節(jié)點,保證節(jié)點負(fù)載均衡;
 - 節(jié)點內(nèi)復(fù)制專家;
 - 專家分配到GPUs,保證GPUs負(fù)載均衡;
 
第二類:全局負(fù)載均衡。
使用場景:解碼階段(decoding stage),規(guī)模較大的情況。
策略步驟:
- 全局復(fù)制專家,不管專家在哪個組;
 - 專家分配到GPUs,保證GPUs負(fù)載均衡;
 
總而言之,保證負(fù)載均衡,充分發(fā)揮GPUs的潛力,提升訓(xùn)練效率,縮短訓(xùn)練時間。
3. 舉個實際的例子?
DeepSeek-V3訓(xùn)練部署:
- 2048個NVIDIA H800;
 - 256個服務(wù)器節(jié)點(每節(jié)點8GPU);
 - 專家組數(shù)為64(EP-64);
 
接下來進行訓(xùn)練:
- 預(yù)填充階段,一個專家組,例如Java+ FE+ QA+OP分配4個服務(wù)器節(jié)點,保證節(jié)點資源分配均衡;
 - 專家冗余策略,當(dāng)發(fā)現(xiàn)某個GPU負(fù)載超過閾值時,復(fù)制專家副本,分配到新的GPU。也就是說,Java成為項目瓶頸時,我們就組內(nèi)復(fù)制多個Java;
 - 原則上專家組之間避免全局通訊,而在有限節(jié)點內(nèi)通訊,降低全局通訊壓力;
 
畫外音:全局通訊復(fù)雜度會指數(shù)級上升,只需要少量跨組協(xié)同。
- 解碼階段,需要大量QA工程師,這個時候切換為全局策略,忽略專家組物理拓?fù)湎拗?,跨?jié)點全局復(fù)制QA工程師,加速項目進度;
 
總的來說,幾個核心設(shè)計思路:
- 分級調(diào)度策略:先節(jié)點均衡,再GPU均衡;
 - 冗余專家策略:誰是瓶頸復(fù)制誰,保證均衡;
 - 就近通訊策略:減少全局通訊;
 - 動態(tài)切換策略:高峰期打破限制;
 
分級,冗余,就近,動態(tài)... 工程架構(gòu)領(lǐng)域,哪有什么新鮮事,可偏偏在deepseek手里大放異彩。
. 一些啟示
通過deepseek的一系列開源:
哪一個是驚世駭俗?
- MLA:對顯卡計算加速;
 - DeepEP:對通訊加速;
 - GEMM:對矩陣乘法加速;
 - DualPipe:對前向/反向傳播加速;
 - EPLB:負(fù)載均衡充分利用資源;
 - 3FS:文件系統(tǒng)加速(明天講解);
 - ...
 
世界上哪有什么騰空出世,deepseek的成功,完全出自一天天的腳踏實地,一天天的日積月累之中。積跬步,至千里。人的成功,也一樣。諸君共勉!















 
 
 




 
 
 
 