今天小編分享的科學經驗:DeepSeek今日連開3源!針對優化的并行策略,梁文峰本人參與開發,歡迎閱讀。
按時整活!
DeepSeek 開源周第四天,直接痛快「1 日 3 連發」,且全都圍繞一個主題:
優化并行策略。
DualPipe:一種創新的雙向流水線并行算法,能夠完全重疊前向和後向計算 - 通信階段,并減少 " 流水線氣泡 "。它通過對稱的微批次調度,優化了并行計算效率。
Expert Parallelism Load Balancer ( EPLB ) :用于 MoE 的負載均衡算法,通過復制高負載專家并智能地分配專家到不同 GPU 上,确保計算資源的均衡利用。它包含兩種政策:層次化負載均衡和全局負載均衡。
Profiling Data:訓練和推理框架的性能分析數據,展示了通信 - 計算重疊策略和底層實現細節。
這三者中,DualPipe 從時間上優化了計算與通信的調度,EPLB 從空間上平衡利用計算資源,Profiling Data 則提供了前兩者在實際應用中效果的可視化證據。
且DualPipe 的開發團隊中包括梁文鋒本人。
發布後 10 分鍾不到,3 者在 GitHub 上的星标已經破 300 了,且其中 DualPipe 的星标飙升最快。
而 DeepSeek 一發推,網友的留言也排山倒海一般撲面而來,幾乎都是不吝溢美之詞:
好活!令人興奮!
優化策略可以重新定義行業的性能。
Day 4,直接 1 日 3 連發 DualPipe
DualPipe 是在 DeepSeek-V3 中首次出現雙向流水線并行算法,現在代碼完全開源。
它實現了前向與後向計算 - 通信階段的完全重疊,還減少了流水線氣泡(即某些設備在某些時刻空閒等待)。
DualPipe 采用了雙向微批次調度策略,其核心特點是:
對稱設計:反向方向的微批次與前向方向對稱排列,形成一種幾何平衡的調度結構
計算 - 通信重疊:兩個共享黑色邊框的單元格表示相互重疊的計算和通信過程
雙向并行:同時在兩個方向上推進微批次,最大化硬體利用率
傳統流水線并行方法如 1F1B(one-forward-one-backward)在處理多 GPU 場景時會產生大量氣泡。
DualPipe 通過重新安排微批次執行順序,和對稱結構緩解這個問題。
EPLB
EPLB 适用于 V3/R1 的專家并行負載均衡器,解決 MoE 模型在分布式訓練和推理中的負載不平衡問題。
在 MoE 架構中,不同的輸入會激活不同的專家,可能導致某些專家過載,進一步造成不同 GPU 的利用率不平衡。
EPLB采用 "redundant experts"(冗餘專家)策略:
識别高負載專家→復制多個副本分配到不同 GPU →在推理時動态分配輸入到負載較輕的專家副本。
并帶有兩種普通的策略:
分層負載平衡,專家并行較小的預填充階段使用。
全局負載平衡,在專家并行規模較大的解碼階段采用。
V3/R1 中的計算通信重疊分析數據
開源第四彈的 part 3,DeepSeek公開分享了來自訓練和推理框架的分析數據,以幫助社區更好地了解通信計算重疊策略和低級實現細節。
GitHub 上注明,分析數據是使用 PyTorch Profiler 捕獲的。
Attention please —— DeepSeek 模拟了一個絕對平衡的 MoE 路由策略進行分析。
首先,訓練階段。
訓練配置檔案數據演示了 DeepSeek 在 DualPipe 中,對一對單獨的向前和向後數據塊的重疊策略。
每個數據塊包含 4 個 MoE 層。
并行配置與 DeepSeek-V3 預訓練設定一致 EP64、TP1 具有 4K 序列長度。
為簡單起見,在 profilng 期間不包括 PP 通信。
其次,推理階段。
1)預填充。
對于預填充,配置檔案使用 EP32 和 TP1(與 DeepSeek V3/R1 的實際在線部署一致),提示長度設定為 4K,每個 GPU 的批量大小為 16Ktokens。
在預填充階段,DeepSeek 利用兩個微批次來重疊計算和多對多通信,同時确保注意力計算負載在兩個微批次之間平衡
——這意味着相同的提示可以在它們之間分配。
2)解碼。
(注:相關數據尚未準備就緒,将于稍後發布)
解碼方面,該配置檔案采用了 EP128、TP1 和 4K 的提示長度(與實際在線部署配置非常匹配),每個 GPU 的批量大小為 128 個請求。
與預填充類似,解碼還利用兩個微批處理進行重疊計算和多對多通信。
但與預填充不同的是,解碼期間的 all-to-all 通信不會占用 GPU SM:
發出 RDMA 消息後,所有 GPU SM 都會被釋放,系統在計算完成後等待 all-to-all 通信完成。
有關 all-to-all 實現的更多信息,請參考開源周第二彈 DeepEP。
One More Thing
" 大放異彩!"
對于第四彈的開源内容,網友是這麼感慨的。
目前看來,DeepSeek 開源周的前 4 天,都挺令追更群眾們滿意。
尤其是這次開源周全部瞄準大模型的 Infra 層。
追更看客們表示:
更好的團隊合作不僅是團隊管理優化的一部分,更是實現頂級 AI 性能的秘訣。
DeepSeek 正在創建新的标準,大規模訓練的未來就在咱們眼前!
好了,DeepSeek 開源周,明天就是最後一天了,不知道會有什麼壓軸登場?
參考鏈接:
https://x.com/deepseek_ai/status/1894931931554558199
Github:
[ 1 ] https://github.com/deepseek-ai/DualPipe
[ 2 ] https://github.com/deepseek-ai/eplb
[ 3 ] https://github.com/deepseek-ai/profile-data