Bye,英偉達!華為NPU,跑出了準萬億引數大模型

金磊 發自 凹非寺量子位 | 公眾號 QbitAI
現在,跑準萬億引數的大模型,可以徹底跟英偉達Say Goodbye了。
完成此舉的,正是華為!
技術報告:arxiv.org/abs/2505.04519
要知道,在此之前,訓練萬億引數大模型這事,是有諸多“攔路虎”在身上的。
例如負載均衡難、通訊開銷大、訓練效率低等等。
而華為盤古團隊(包含諾亞方舟實驗室、華為雲等)基於昇騰國產算力平臺,一舉攻破了上述所有的挑戰——
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的負載均衡,減少計算資源閒置(空泡)的情況。
模型結構模擬方面,團隊根據硬體的適配特點,對模型引數的選擇範圍進行了大幅調整,把原本龐大的引數搜尋空間縮小到了10000個左右。
為了能更準確地知道不同模型的效能極限,團隊開發了一套專門的建模模擬工具。這個工具很厲害,它把模型結構、執行時採用的策略,還有硬體系統,都拆分成了一個個小的引數。
透過對運算元、Block、Layer這些層級的計算、資料傳輸和讀取操作進行模擬,就能算出模型從頭到尾的整體效能。經過和實際測試資料對比,發現這個模擬工具的準確率能達到85%以上。
團隊用這個建模模擬工具,把所有符合硬體適配要求的引數組合都測試了一遍,仔細評估它們在訓練和推理時的資料處理速度,最後找到了效能相對更好的模型結構,具體情況可以看下面的圖。
接下來,我們再看下MoE訓練的分析
在訓練MoE模型的時候,和普通的稠密模型相比,有個特別讓人頭疼的問題,就是負載不均衡。
打個比方,就像一群人幹活,有的人忙得不可開交,有的人卻閒著沒事幹,這樣效率肯定高不了。
為了解決這個問題,科研界從演算法角度想了很多辦法,提出了各種各樣的輔助損失函式,這些函式關注的均衡範圍不太一樣。
比如,早期有專門針對序列級別的均衡輔助損失,還有通義千問提出的DP – Group(也就是全域性批次大小)均衡輔助損失。
這些輔助損失函式,就像是給MoE模型裡的路由模組(負責分配任務的部分)定了規矩,透過不同程度的約束,讓它把任務分配得更均勻一些。具體的約束情況,都整理在下面的表格裡了。

Balance BSZ表示用來計算專家選擇頻率的tokens個數
團隊還研發出了一種全新的EP組負載均衡損失演算法
和傳統的micro-batch輔助損失相比,它不會過度強求區域性任務分配的絕對均衡,避免了“矯枉過正”;跟DP組的均衡損失比起來,它在資料傳輸時耗費的資源更少,能節省不少通訊成本。
而且在對專家任務量的約束程度上,它處於兩者之間,是個更折中的方案。
為了驗證這個新演算法的效果,團隊在一個總引數量達200億(20B)的先導MoE模型上,專門做了消融實驗,具體情況如下:
為了應對專家負載不均的“木桶效應”,MoE可以採用drop-and-pad的方式來提升訓練的吞吐。
團隊首先在一個20B的先導MoE上對比了不同專家總數下drop-and-pad和dropless的效能:
結果顯示,dropless總是優於drop-and-pad方案。
並且這種效能的差距會隨著專家數變多、模型引數變大而進一步放大。
因此在訓練盤古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通訊對跨機通訊量減少的效果。
其次是Adaptive Pipe Overlap Mechanism自適應前反向掩蓋策略
即使採用分級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分)中表現優異,具備突出的程式碼與數學解題能力。
團隊還對盤古Ultra MoE進行了專家專業度分析。
在不同任務中,同一網路層的token會被優先路由至不同專家,專家專業化程度存在顯著任務差異性。
這證實了盤古Ultra MoE已形成顯著的專家差異化,這種特性不僅增強了模型的表達能力,更為其卓越效能提供了關鍵支撐。
盤古Ultra MoE的MoE層輸出由共享專家和路由專家共同貢獻的加權和構成。
因此,保持二者輸出的平衡至關重要。
下圖中展示了路由專家在各網路層均保持著與共享專家相當的貢獻強度,這種均衡的協同作用有效提升了模型的整體表徵能力。
團隊還分析了專家的共啟用現象,啟用分數越高,說明兩個專家之間的相關性越強。
在下圖中,除少數例外情況外,這三層中的專家之間並未出現明顯的共啟用現象,這反映了盤古Ultra MoE的專家冗餘度較低。
以上便是華為國產NPU跑準萬億引數大模型背後的奧義了。
華為盤古Ultra MoE技術的突破,不僅標誌著國產算力平臺在AI大模型訓練領域邁入世界領先行列,更彰顯了中國科技自主創新的強大實力。
它證明了中國企業在全球AI競賽中已具備從跟跑到並跑,甚至領跑的實力。
未來,隨著技術的持續迭代與應用場景的拓展,盤古Ultra MoE將為千行百業的智慧化轉型注入強勁動力,助力中國在新一輪科技革命中佔據制高點,為人類科技進步貢獻更多“中國智慧”。
技術報告下載地址:arxiv.org/abs/2505.04519
一鍵三連「點贊」「轉發」「小心心」
歡迎在評論區留下你的想法!
—  —
🌟 點亮星標 🌟
科技前沿進展每日見

相關文章