DeepSeek“開源周”的進(jìn)度今日來(lái)到 4/5,此次開源了優(yōu)化并行策略的項(xiàng)目。
具體如下:
DualPipe - 一種用于 V3 / R1 訓(xùn)練中計(jì)算-通信重疊的雙向管道并行算法。
EPLB - 一種用于 V3 / R1 的專家并行負(fù)載平衡器。
分析 V3 / R1 中的計(jì)算-通信重疊。
附具體項(xiàng)目和鏈接如下:
“雙管道(DualPipe)”是在《深度搜索-V3 技術(shù)報(bào)告》中引入的一種創(chuàng)新的雙向流水線并行算法。它實(shí)現(xiàn)了正向和反向計(jì)算-通信階段的完全重疊,同時(shí)也減少了流水線氣泡。
在使用專家并行(EP)時(shí),不同的專家被分配到不同的 GPU。由于不同專家的負(fù)載可能因當(dāng)前工作負(fù)載而異,因此保持不同 GPU 的負(fù)載平衡非常重要。正如在 DeepSeek-V3 論文中所述,我們采用冗余專家策略,復(fù)制高負(fù)載的專家。然后,我們通過(guò)啟發(fā)式方法將復(fù)制的專家分配到 GPU 上,以確保不同 GPU 之間的負(fù)載平衡。此外,由于 DeepSeek-V3 中使用了分組受限的專家路由,我們還盡可能嘗試將同一組的專家放置在同一節(jié)點(diǎn)上,以減少節(jié)點(diǎn)間的數(shù)據(jù)流量。為了便于復(fù)現(xiàn)和部署,我們?cè)?eplb.py中開源了我們部署的 EP 負(fù)載均衡算法。該算法根據(jù)估計(jì)的專家負(fù)載計(jì)算平衡的專家復(fù)制和放置計(jì)劃。請(qǐng)注意,預(yù)測(cè)專家負(fù)載的確切方法不在此存儲(chǔ)庫(kù)的范圍內(nèi)。一種常見的方法是使用歷史統(tǒng)計(jì)數(shù)據(jù)的移動(dòng)平均值。
在這里,我們公開分享來(lái)自我們的訓(xùn)練和推理框架的分析數(shù)據(jù),以幫助社區(qū)更好地理解通信-計(jì)算重疊策略和底層實(shí)現(xiàn)細(xì)節(jié)。