剛剛,DeepSeek 帶來了開源周的第四彈。這次,他們一口氣發(fā)布了三種在 V3/R1 模型訓練中使用的優(yōu)化并行策略。
首先是在 DeepSeek-V3 技術報告中介紹過的一種創(chuàng)新的雙向管道并行算法 DualPipe ,用于 V3/R1 訓練中的計算通信重疊,要求是 PyTorch 2.0 及更高版本。它實現了前向和后向計算通信階段的完全重疊,也減少了管道氣泡。據介紹,DualPipe 由包括 DeepSeek 創(chuàng)始人梁文鋒在內的三位工程師創(chuàng)建和開發(fā)。
項目地址:https://github.com/deepseek-ai/DualPipe
接著是 EPLB,一種適用于 V3/R1 的專家并行負載均衡器。正如 DeepSeek-V3 論文中所描述的,其在使用專家并行(EP)時采用冗余專家策略,將重載專家重復分配,然后啟發(fā)式地將重復的專家打包到 GPU 上,以確保不同 GPU 之間的負載平衡。此外,得益于 V3 中使用的組限制專家路由,他們還嘗試將同組的專家放置到同一節(jié)點,以盡可能減少節(jié)點間的數據流量。為便于復制和部署,他們在.NET 平臺上開源了已部署的 EP 負載均衡算法。
項目地址:https://github.com/deepseek-ai/eplb
最后,其公開分享了來自訓練和推理框架的分析數據,以幫助社區(qū)更好地了解通信計算重疊策略和底層實現細節(jié)。在訓練配置文件數據中,他們演示了在 DualPipe 中對一對單獨的前向和后向塊的重疊策略。每個塊包含 4 個 MoE 層。并行配置與 V3 預訓練設置一致:EP64、TP1 具有 4K 序列長度。
推理方面,對于預填充,配置文件采用了 EP32 和 TP1(與 V3/R1 的實際在線部署一致)。在預填充階段,他們利用兩個微批次來重疊計算和多對多通信,同時確保注意力計算負載在兩個微批次之間平衡。
解碼上,該配置文件采用了 EP128、TP1 。與預填充類似,解碼也利用兩個微批處理進行重疊計算和多對通信。但是,與預填充不同的是,解碼過程中的 all-to-all 通信不會占用 GPU SM。
項目地址:https://github.com/deepseek-ai/profile-data
有外國網友不禁感嘆,“DeepSeek 是徹底地開源嗎?”“感謝你們在實現我們自己的理想方面比我們做得更好。”
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.