DeepSeek開源三箭齊發,梁文峯親自上陣!雙向並行LLM訓練飆升

媒體滾動
02-27

  新智元報道

  編輯:桃子 好睏

  【新智元導讀】DeepSeek開源第四天,連更三個項目。DualPipe、EPLB、以及計算與通信重疊機制的優化並行策略,讓大模型訓練更快,成本更低,還能保持頂尖性能。

  開源周第4天,DeepSeek放出的是——優化並行策略,一共三個項目。

  值得一提的是,DualPipe是由三個人——Jiashi Li、Chengqi Deng和梁文峯共同研發。

  有網友對此表示,這是一個顛覆性的突破。

  ‘DualPipe和EPLB讓大模型的訓練更快、更便宜、更可持續,同時保持頂尖性能’。

  開源僅剩最後一天,評論區網友紛紛許願:明天一定要來個大的。

  DualPipe

  DualPipe是DeepSeek-V3技術報告中提出的一種創新雙向流水線並行算法。

  它能夠實現前向與後向計算和通信階段的完全重疊,同時有效減少流水線氣泡(空閒時間)。

  調度方案

  上圖展示了在8個流水線並行階段和20個micro-batches情況下,DualPipe在兩個方向上的調度示例。

  由於反向方向的微批次與前向方向對稱,爲了簡化圖示,這裏省略了反向方向的batch ID。圖中由同一個黑色邊框包圍的兩個單元格表示同時進行的計算和通信操作,它們實現了相互重疊。

  流水線氣泡與內存使用比較

  圖中,代表前向塊(forward chunk)的執行時間,代表完整後向塊(full backward chunk)的執行時間,代表‘權重後向’(backward for weights)塊的執行時間,而&則表示同時執行且相互重疊的前向和後向塊的執行時間。

  快速入門

  使用示例如下:

  注意:在實際生產環境中,需要根據模塊特點來實現一個定製化的overlapped_forward_backward方法。

  專家並行負載均衡器(EPLB)

  在使用專家並行(EP)時,不同的專家模塊會被分配到不同的GPU上。由於各個專家的計算負載會隨當前任務而變化,因此保持各GPU間負載均衡至關重要。

  如DeepSeek-V3論文所述,研究人員採用了冗餘專家(redundant experts)策略,對高負載專家進行復制。

  隨後,通過啓發式算法將這些複製的專家合理分配到各GPU上,確保計算資源的平衡利用。

  此外,由於DeepSeek-V3採用了組內限制專家路由(group-limited expert routing)機制,研究團隊儘可能將同一組的專家放置在同一節點上,以減少節點間的數據傳輸開銷。

  爲了便於復現和部署,DeepSeek在eplb.py文件中開源了EP負載均衡算法。該算法能夠根據估計的專家負載,計算出均衡的專家複製和放置方案。

  需要說明的是,專家負載的具體預測方法不在此代碼庫的討論範圍內,一種常用的方法是採用歷史統計數據的滑動平均值。

  算法原理

  負載均衡算法提供了兩種策略,適用於不同場景:

  · 層次負載均衡(Hierarchical Load Balancing)

  當服務器節點數量能夠整除專家組數量時,研究人員採用層次負載均衡策略,來充分利用組內限制專家路由機制。

  首先,他們將專家組均勻分配到各節點,確保節點間負載平衡;然後,在每個節點內部複製專家模型;最後,將複製後的專家打包分配到各個GPU上,實現GPU間的負載均衡。

  這種層次化策略特別適用於預填充階段(prefilling stage),此時專家並行規模較小。

  · 全局負載均衡(Global Load Balancing)

  在其他情況下,研究人員採用全局負載均衡策略,不考慮專家組的限制,直接在全局範圍內複製專家並分配到各個GPU上。這種策略更適合解碼階段使用,此時專家並行規模較大。

  接口示例

  負載均衡器的核心函數是eplb.rebalance_experts。

  下面的代碼展示了一個雙層混合專家模型(MoE)的示例,每層包含12個專家。

  DeepSeek爲每層引入了4個冗餘專家,總計16個專家副本被分配到2個計算節點上,每個節點配有4個GPU。

  該層次負載均衡策略產生的結果,展示瞭如下專家複製與分配方案。

  DeepSeek基礎設施中的性能剖析數據

  在這裏,DeepSeek公開分享來自訓練和推理框架的性能剖析數據,旨在幫助社區更深入地理解通信與計算重疊策略以及相關底層實現細節。

  這些剖析數據是通過PyTorch Profiler工具獲取的。

  你可以下載後在Chrome瀏覽器中訪問chrome://tracing(或在Edge瀏覽器中訪問edge://tracing)直接進行可視化查看。

  需要說明的是,爲了便於剖析,研究人員模擬了一個完全均衡的MoE路由策略。

  訓練過程

  訓練剖析數據展示了,研究人員在DualPipe中如何實現單對前向和後向計算塊的重疊策略。每個計算塊包含4個MoE層。

  並行配置與DeepSeek-V3預訓練設置保持一致:採用EP64、TP1,序列長度爲4K。

  爲簡化剖析過程,未包含流水線並行(PP)通信部分。

  推理過程

  · 預填充

  在預填充階段,剖析配置採用EP32和TP1的配置(與DeepSeek V3/R1實際在線部署一致),提示長度設爲4K,每GPU批處理量爲16K個token。

  研究人員在預填充階段使用兩個micro-batches來實現計算與all-to-all通信的重疊,同時確保注意力機制的計算負載在兩個micro-batches間保持平衡——這意味着同一條提示信息可能會被分割到不同micro-batches中處理。

  · 解碼

  解碼階段的剖析配置採用EP128、TP1,提示長度4K(與實際在線部署配置非常接近),每GPU批處理量爲128個請求。

  與預填充類似,解碼階段也利用兩個micro-batches來重疊計算和all-to-all通信。

  然而不同的是,解碼過程中的全聯通通信不佔用GPU流處理器(SM):RDMA消息發出後,所有GPU流處理器立即被釋放,系統在完成計算後等待全聯通通信完成。

  關於all-to-all通信實現的更多技術細節,請參考DeepEP文檔。

  參考資料:

  https://x.com/deepseek_ai/status/1894931931554558199

海量資訊、精準解讀,盡在新浪財經APP

責任編輯:石秀珍 SF183

免責聲明:投資有風險,本文並非投資建議,以上內容不應被視為任何金融產品的購買或出售要約、建議或邀請,作者或其他用戶的任何相關討論、評論或帖子也不應被視為此類內容。本文僅供一般參考,不考慮您的個人投資目標、財務狀況或需求。TTM對信息的準確性和完整性不承擔任何責任或保證,投資者應自行研究並在投資前尋求專業建議。

熱議股票

  1. 1
     
     
     
     
  2. 2
     
     
     
     
  3. 3
     
     
     
     
  4. 4
     
     
     
     
  5. 5
     
     
     
     
  6. 6
     
     
     
     
  7. 7
     
     
     
     
  8. 8
     
     
     
     
  9. 9
     
     
     
     
  10. 10