現在,跑準萬億參數的大模型,可以徹底跟英偉達 Say Goodbye 了。
完成此舉的,正是華為!
要知道,在此之前,訓練萬億參數大模型這事,是有諸多 " 攔路虎 " 在身上的。
例如負載均衡難、通信開銷大、訓練效率低等等。
而華為盤古團隊(包含諾亞方舟實驗室、華為云等)基于昇騰國產算力平臺,一舉攻破了上述所有的挑戰——
6000+ 塊昇騰 NPU 集群上完成了7180 億(718B)參數 MoE 模型的長期穩定訓練,并通過多項突破性系統優化技術實現了顯著性能提升。
這些創新大幅提高了訓練效率,支撐了行業頂尖水平模型的開發!
純國產 NPU,絲滑跑通準萬億參數大模型
在拆解華為一系列 " 黑科技 " 之前,我們先需要更深入地了解一下訓練超大參數 MoE 模型背后的困難。
總體來看,在這條路上有 " 四大金剛 " 在嚴陣把守。
首先就是架構參數優化難題,需在眾多參數組合中探索最優配置,設計適配昇騰 NPU 的大規模 MoE 架構,實現計算資源的高效利用。
其次是動態負載均衡挑戰,路由機制需要智能分配任務,避免專家資源分配不均;這種不平衡不僅會因 " 木桶效應 " 降低訓練效率,更可能導致模型收斂異常,影響最終性能表現。
還有分布式通信的瓶頸,在近萬億參數規模下,token 在不同計算節點間的專家流轉會產生巨大通信開銷," 通信墻 " 問題成為制約訓練效率的關鍵因素。
最后就是硬件適配復雜度,實現 MoE 算法與昇騰 NPU 等專用 AI 加速器的深度協同,需要打通算法設計、軟件框架和硬件特性的全棧優化,充分釋放硬件計算潛力。
針對這些問題,華為的這份技術報告分別從模型架構、MoE 訓練分析、系統優化等方面,詳細介紹了其如何見招拆招。
首先就是MoE 結構選型與昇騰親和結構優化。
團隊先進行先導實驗,確定了細粒度專家加上共享專家這樣的范式。隨后在模型選型的時候,考慮了多個方面的因素。
在計算與訪存親和方面,通過增大模型里的 hidden size(隱藏層大小),同時降低激活參數量,這樣不僅能提升模型的計算量,還可以降低訪存量,提高了模型訓練時對算力的利用率,以及推理時的吞吐量。
在多維并行親和方面,采用數量為 2 的指數級的專家數量,達成了 TP8 × EP4 超融合并行的方式。
運用 TP-extend-EP 技術,避免因 TP 切分細粒度專家造成 MatMul(矩陣乘法)等算子的效率下降,同時使用分組 AllToAll 通信技術來減少 EP 通信所產生的開銷。
在 DaVinci 架構親和方面,將張量按照 256 進行對齊處理,使其能完美匹配 16 × 16 矩陣計算單元,充分釋放昇騰 NPU 的算力。
在流水線編排親和方面,采用 PP(流水線并行)、VPP(可變流水線并行)、空層等技術,實現 PP 和 VPP 的負載均衡,減少計算資源閑置(空泡)的情況。
為了能更準確地知道不同模型的性能極限,團隊開發了一套專門的建模仿真工具。這個工具很厲害,它把模型結構、運行時采用的策略,還有硬件系統,都拆分成了一個個小的參數。
通過對算子、Block、Layer 這些層級的計算、數據傳輸和讀取操作進行模擬,就能算出模型從頭到尾的整體性能。經過和實際測試數據對比,發現這個仿真工具的準確率能達到 85% 以上。
團隊用這個建模仿真工具,把所有符合硬件適配要求的參數組合都測試了一遍,仔細評估它們在訓練和推理時的數據處理速度,最后找到了性能相對更好的模型結構,具體情況可以看下面的圖。
在訓練 MoE 模型的時候,和普通的稠密模型相比,有個特別讓人頭疼的問題,就是負載不均衡。
打個比方,就像一群人干活,有的人忙得不可開交,有的人卻閑著沒事干,這樣效率肯定高不了。
為了解決這個問題,科研界從算法角度想了很多辦法,提出了各種各樣的輔助損失函數,這些函數關注的均衡范圍不太一樣。
比如,早期有專門針對序列級別的均衡輔助損失,還有通義千問提出的 DP - Group(也就是全局批次大小)均衡輔助損失。
這些輔助損失函數,就像是給 MoE 模型里的路由模塊(負責分配任務的部分)定了規矩,通過不同程度的約束,讓它把任務分配得更均勻一些。具體的約束情況,都整理在下面的表格里了。
團隊還研發出了一種全新的 EP 組負載均衡損失算法。
和傳統的 micro-batch 輔助損失相比,它不會過度強求局部任務分配的絕對均衡,避免了 " 矯枉過正 ";跟 DP 組的均衡損失比起來,它在數據傳輸時耗費的資源更少,能節省不少通信成本。
而且在對專家任務量的約束程度上,它處于兩者之間,是個更折中的方案。
為了驗證這個新算法的效果,團隊在一個總參數量達 200 億(20B)的先導 MoE 模型上,專門做了消融實驗,具體情況如下:
團隊首先在一個 20B 的先導 MoE 上對比了不同專家總數下 drop-and-pad 和 dropless 的性能:
并且這種性能的差距會隨著專家數變多、模型參數變大而進一步放大。
因此在訓練盤古 Ultra MoE 時采用了 dropless 的方案,并重點優化了這一策略下的訓練效率。
具體而言,團隊從四個關鍵方向對盤古 Ultra MoE 模型進行了全面優化,包括改進并行計算策略、優化數據傳輸效率、提升顯存使用效果,以及讓任務分配更均勻。
在由 6000+ 個昇騰 NPU 組成的大型計算集群上,模型的算力利用率(MFU,即 Model FLOPs Utilization)達到了 30.0%,和優化前相比,提升幅度高達 58.7%。
團隊用一套能模擬全流程的模型仿真系統,反復試驗尋找最佳的并行計算方案。
最終確定的方案是:采用 16 路流水線并行、8 路張量并行、4 路專家并行、2 路虛擬流水線并行,以及 48 路數據并行。
在專家并行這塊,團隊用了 TP 拓展 EP 的策略。
簡單來說,就是讓 TP 組來劃分專家數量,這樣做能避免因為 TP 組拆分專家參數,導致 GMM 算子在處理小規模專家數據時效率暴跌的問題。
整個系統里,專家組總數是 32 組(TP 和 EP 組合計算得出),一共劃分成 256 個專家。
虛擬流水線并行策略效果特別好,以前訓練時,計算資源閑置(空泡率)的情況占 18.98%,用了新策略后,直接降到 10.49% 。
同時,通過合理分配 MTP 層和損失函數層的任務,把任務分配不均衡導致的負載溢出,控制在 5% 以內,大大減少了任務分配不均帶來的負面影響。
首先就是Hierarchical EP Communication 分級 EP 通信。
相比機內通信,跨機通信帶寬較低。團隊采用分級 EP 通信,減少跨機通信量。
具體來說,采用跨機 Allgather 通信將所有 tokens 同步到機內,然后在機內對 token 排序并采用機內 AlltoAll 通信對 tokens 重新分配。
機內通信和機間通信都可以通過前反向通信掩蓋技術掩蓋,從下圖的通信量對比可以看到分級 EP 通信對跨機通信量減少的效果。
即使采用分級 EP 通信策略,EP 通信的耗時占比仍然很高。前反向的大部分 EP 通信與計算均具有依賴關系,自然掩蓋策略會暴露大部分 EP 通信。
如果采用通算融合算子等自掩蓋策略,又不可避免地會降低計算效率。
因此,團隊采用基于 VPP 調度的自適應前反向掩蓋策略,實現如下圖流程的前向計算掩蓋反向通信,反向計算掩蓋前向通信。
核心設計包括:利用機間與機內通信鏈路帶寬獨立特點實現機內通信與機間通信的互相掩蓋,利用算子的有效排布緩解 host bound,將專家反向 dw 計算與 dx 計算分離做更細粒度的掩蓋。
不再使用傳統的全重計算,而是對細粒度模塊,像 MLA、Permute 和激活函數進行重新計算,這樣能避免額外的計算消耗。
同時,運用 Tensor Swapping 技術,把重新計算不太劃算的激活值,先轉移到 CPU 那邊,等需要反向計算時再提前取回來,讓 NPU 內存得到更高效的利用。
團隊還在研究新的顯存節省方法,準備把多種優化策略組合起來,根據不同的設備配置,找到最適合的組合,既能提高顯存利用率,又不會降低模型性能。
讓每臺設備上專家處理的任務量(token 數量)盡量均勻,能大幅提升訓練效率。
為此,團隊設計了一套動態的設備級負載均衡機制。
首先,規劃器就像一個 " 小管家 ",通過觀察一段時間內專家的工作負載情況,預測未來的任務量,再用貪心算法規劃出如何重新分配專家,讓設備間的任務更均衡。
然后,執行器定期行動,把不同 Transformer 層的專家參數和優化器狀態在設備間轉移。通過這種動態調整,模型的 MFU 提高了 10%。
算子下發優化:為了解決 host 端性能瓶頸問題,團隊減少了那些需要頻繁同步操作的算子,避免不必要的等待。同時,使用細粒度 CPU 綁核技術,讓 CPU 和 NPU 配合得更好,任務下發更順暢。
計算卸載與數據共享:當遇到 NPU 處理起來效率低的數據計算,或者在 TP 區域內數據傳輸慢的情況,作者把這些不適合 NPU 的計算從主計算流程中分離出來,交給 CPU 在數據加載時處理。再結合數據共享技術,讓同一節點內的計算和數據傳輸速度都大大提高。
融合算子:除了盤古稠密模型里已有的 FlashAttention 和 RMSNorm 融合算子,團隊在 MoE 模型里又加入了 GMMAdd、Permute 和 Umpermute 融合算子。GMMAdd 融合算子把 GroupedMatMul 的反向計算和梯度累加放在一起處理,利用并行和流水線技術減少調度時間。Permute 和 Unpermute 融合算子整合了多種操作,能更快地讀寫內存。
在訓練數據集構建過程中,團隊實施嚴格的數據質量控制,并著重強調語料庫的多樣性、復雜性和全面性。
針對長鏈思維樣本引入特殊標記符號對推理軌跡與最終答案進行結構化分隔。
后訓練階段采用指令微調策略,數據涵蓋領域廣泛,包含通用問答、文本生成、語義分類、代碼編程、數理邏輯推理及工具使用等。
特別將推理與非推理樣本比例設定為 3:1,進一步提升推理性能。
實驗表明,盤古 Ultra MoE 對話版本在多領域均展現出卓越競爭力,在大多數 benchmark 上與 DeepSeek-R1 表現相當。比如通用理解任務(如 CLUEWSC 94.8 分、MMLU 91.5 分)中展現卓越理解力,在數學推理與代碼生成等高難度測試(如 AIME2024 81.3 分、MBPP+ 81.2 分)中表現優異,具備突出的代碼與數學解題能力。
在不同任務中,同一網絡層的 token 會被優先路由至不同專家,專家專業化程度存在顯著任務差異性。
這證實了盤古 Ultra MoE 已形成顯著的專家差異化,這種特性不僅增強了模型的表達能力,更為其卓越性能提供了關鍵支撐。
因此,保持二者輸出的平衡至關重要。
下圖中展示了路由專家在各網絡層均保持著與共享專家相當的貢獻強度,這種均衡的協同作用有效提升了模型的整體表征能力。
在下圖中,除少數例外情況外,這三層中的專家之間并未出現明顯的共激活現象,這反映了盤古 Ultra MoE 的專家冗余度較低。
華為盤古 Ultra MoE 技術的突破,不僅標志著國產算力平臺在 AI 大模型訓練領域邁入世界領先行列,更彰顯了中國科技自主創新的強大實力。
它證明了中國企業在全球 AI 競賽中已具備從跟跑到并跑,甚至領跑的實力。
未來,隨著技術的持續迭代與應用場景的拓展,盤古 Ultra MoE 將為千行百業的智能化轉型注入強勁動力,助力中國在新一輪科技革命中占據制高點,為人類科技進步貢獻更多 " 中國智慧 "。
一鍵三連「點贊」「轉發」「小心心」
歡迎在評論區留下你的想法!
— 完 —
點亮星標
科技前沿進展每日見