允中 發自 凹非寺
量子位 | 公眾號 QbitAI
Scaling Law之下,MoE(混合專家)如今已經成為各大模型廠商擴展模型能力的制勝法寶。
不過,在高效實現模型參數規模化的同時,MoE的訓練難題也日益凸顯:
訓練效率不足,甚至一半以上訓練時間都浪費在“等待”上。
現在,為了突破MoE的訓練瓶頸,華為出手了:
構建了一套名為Adaptive Pipe & EDPB的優化方案,開啟“上帝視角”,讓MoE面臨“交通擁堵”的訓練集群,實現無等待流暢運行。
MoE大規模訓練難題:一半以上的訓練時間在等待?
實踐已經表明,MoE模型訓練集群的效率面臨兩方面挑戰:
首先,是專家并行引入了計算和通信等待。
當模型規模較大時,需要切分專家到不同設備形成并行(EP),這就引入額外All-to-All通信。
與此同時,MoE層絕大部分EP通信與計算存在時序依賴關系,一般的串行執行模式會導致大量計算單元空閑,等待通信。
其次,負載不均會引入計算和計算等待。
MoE算法核心是“有能者居之”,在訓練過程中會出現部分熱專家被頻繁調用,而冷專家使用率較低的情況。
同時,真實訓練數據的長度不一,不同的模型層(如稀疏層、嵌入層等)的計算量也存在明顯差異,造成不同卡之間計算也在互相等待。
用一個形象點的說法就是,MoE訓練系統就像一個存在局部交通阻塞的城區,面臨兩大核心問題:
- 人車混行阻塞:所有車輛(計算)與行人(通信)在紅綠燈交替通行,互相等待。
- 車道分配僵化:固定劃分的直行、左轉車道就像靜態的專家分配,導致熱門車道(熱專家)大排長龍,而冷門車道(冷專家)閑置。
針對以上問題,華為團隊打造了“智慧化交通”設施:
首先,建造“行人地下通道”(通信掩蓋技術),徹底分離人車動線,使計算不再等待通信。
其次,部署“智能可變車道”(動態專家路由),根據實時車流(數據分布)動態調整車道功能,讓閑置的左轉車道也能分擔直行壓力,實現負載均衡。
這套組合方案既解決了資源分配不均的問題,又消除了通信阻塞的瓶頸,就像為城市交通裝上了“智慧大腦”,讓每個方向的通行效率都得到最大化提升。
DeployMind仿真平臺,小時級自動并行尋優
具體來說,華為首先構建了名為DeployMind的仿真平臺,它是一個基于昇騰硬件訓練系統的“數字孿生”平臺,通過計算/通信/內存三維度的多層級建模、昇騰硬件系統的高精度映射、全局化算法加速運行等技術,能在1小時內模擬百萬次訓練場景,實現MoE模型多樣化訓練負載的快速分析和自動找到與集群硬件規格匹配的最優策略選擇。
在訓練實踐驗證中,該建模框架可達到90%精度指標,實現低成本且高效的最優并行選擇。
針對Pangu Ultra MoE 718B模型,在單卡內存使用約束下,華為通過DeployMind以訓練性能為目標找到了TP8/PP16/VPP2/EP32(其中TP只作用于Attention),這一最適合昇騰集群硬件規格的并行方案,綜合實現計算、通信、內存的最佳平衡。
通信掩蓋>98%,讓計算不再等待通信
華為還提出了一套名為Adaptive Pipe的通信掩蓋框架。在DeployMind仿真平臺自動求解最優并行的基礎上,采用層次化All-to-All降低機間通信和自適應細粒度前反向掩蓋,實現通信幾乎“零暴露”。
層次化專家并行通信
針對不同服務器之間通信帶寬低,但機內通信帶寬高的特點,華為創新地將通信過程拆成了兩步走:
第一步,讓各個機器上“位置相同”的計算單元聯手,快速地從所有機器上收集完整的數據塊(Token);
第二步,每臺機器內部先對數據塊進行整理,然后利用機器內部的高速通道,快速完成互相交換。
這種分層設計的巧妙之處在于,它把每個數據塊最多的復制分發操作都限制在單臺機器內部的高速網絡上完成,而在跨機器傳輸時,每個數據塊只需要發送一份拷貝,相比傳統All-to-All通信加速1倍。
也就是說,有效通過減少跨機通信,提升了集群的通信速度。
自適應細粒度前反向掩蓋
在DualPipe掩蓋框架的基礎上,華為基于虛擬流水線并行技術,實現了更精密的調度,即Adaptive Pipe。
相比DualPipe,Adaptive Pipe僅利用一份權重,不僅將流水線并行所需的內存占用減半,有效降低了計算“空泡”,釋放了流水線的峰值性能潛力;同時,該策略能夠額外實現與分層通信的完美協同,無縫覆蓋機間與機內兩層通信的掩蓋。
在這種層次化通信和細粒度計算通信切分調度優化下,Adaptive Pipe可實現98%以上的EP通信掩蓋,讓計算引擎不受通信等待的束縛。
克服負載不均,訓練再加速25%
由于MoE模型訓練過程中天然存在的負載不均問題,集群訓練效率時高時低,華為團隊還提出了EDPB全局負載均衡,實現專家均衡調度。
在最優并行和通信掩蓋基礎上,EDPB再取得了25.5%的吞吐提升收益。
△集群P2P通信分析對比
所謂EDPB,E是專家預測動態遷移。
MoE模型訓練中,設備間的專家負載不均衡如同“蹺蹺板”——部分設備滿載運行,另一些卻處于“半休眠”狀態。團隊提出了基于多目標優化的專家動態遷移技術,讓專家在分布式設備間“智能流動”。
該技術主要有三個特點:
- 預測先行,讓專家負載“看得見未來”:預測負載趨勢,實現“計算零存儲開銷,預測毫秒級響應”;
- 雙層優化,計算與通信的黃金分割點:提出節點-設備雙層貪心優化架構,在讓計算資源“齊步走”的同時,給通信鏈路“減負”;
- 智能觸發,給專家遷移裝上“紅綠燈”:設計分層遷移閾值機制,通過預評估遷移收益動態決策,實現專家遷移的智能觸發。
△基于專家動態遷移的EP間負載均衡整體框架圖
D是數據重排Attention計算均衡。
在模型預訓練中普遍采用數據拼接固定長度的策略,但跨數據的稀疏Attention計算量差異顯著,會引入負載不均衡問題,導致DP間出現“快等慢”的資源浪費。
為解決這一問題,華為團隊提出了一種精度無損的動態數據重排方案,其核心在于:通過線性模型量化單樣本計算耗時,在嚴格保持訓練精度無損下,批次內采用貪心算法構建最小化耗時的數據重排,實現負載均衡。
P是虛擬流水線層間負載均衡。
MoE模型通常采用混合結構,Dense層、MTP層、輸出層所在的Stage與純MoE層所在的Stage負載不均,會造成的Stage間等待。
華為團隊提出虛擬流水線層間負載均衡技術,將MTP層與輸出層分離,同時將MTP Layer的 Embedding計算前移至首個Stage,有效規避Stage間等待問題,實現負載均衡。
△基于異構模塊設計的VPP并行負載均衡
系統端到端72.6%訓練吞吐提升
在Pangu Ultra MoE 718B模型的訓練實踐中,華為團隊在8K序列上測試了Adaptive Pipe & EDPB吞吐收益情況。
實驗結果顯示,在最優并行策略的初始性能基礎上,華為這套“通信掩蓋+動態專家遷移”的優化方案,能實現系統端到端72.6%的訓練吞吐提升。
總而言之,華為的這套打法可以說是為大模型訓練優化提供了關鍵路徑。感興趣的小伙伴可以再通過完整技術報告深入了解——
技術報告地址:
https://gitcode.com/ascend-tribe/ascend-training-system/tree/main/DistributedOptimization
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.