智東西(公眾號:zhidxcom)作者 | 中國AI算力大會
6月26日,2025中國AI算力大會在北京熱烈召開。從國產(chǎn)AI算力的突圍與崛起,到智算中心深層軟硬件技術創(chuàng)新解決算力落地產(chǎn)業(yè)難題,近30位重量級嘉賓與會帶來致辭、報告、演講和對話,全方位解構DeepSeek引爆的AI算力變局。
摩爾線程副總裁王華在主會場以《基于FP8的國產(chǎn)集群訓練》為題進行了主題演講。在演講中他提到2020至2025年間,大模型訓練的算力需求激增近1000倍 ,而驅動力來自參數(shù)規(guī)模與數(shù)據(jù)量雙向增長。
王華認為,大集群和FP8成為大模型現(xiàn)階段的最強需求。對此,他圍繞大模型算力需求、混合精度訓練、FP8訓練技術演進等方面進行了深入淺出地剖析闡釋。
王華還分享道,摩爾線程提供包括FP8在內的全精度算力,構建了支持多種不同數(shù)據(jù)類型的混合精度訓練方案,還可以提供萬卡集群開箱即用的產(chǎn)品,可以滿足大模型的算力需求,并大幅提升其訓練效果。
以下為王華的演講實錄精華:
一、5年,大模型訓練算力需求增長千倍
首先來看一下大型訓練需求的趨勢。2020年,算力需求訓練需求最高是在1023flops。到25年,訓練算力需求最高的是xAI的Grok3,算力需求差不多到了1026flops。從1023到1026,算力需求增長了1000倍。
增長主要來自兩個方面:一是模型參數(shù)。大模型的模型參數(shù)規(guī)模是在不斷增加的,最近的模型動轍都是數(shù)千億甚至到萬億的參數(shù)規(guī)模;第二是訓練數(shù)據(jù)量。早期訓練數(shù)據(jù)量可能到幾百B,稍微多一點到1T,但現(xiàn)在基本都是十幾T。
所以,算力需求和模型參數(shù)數(shù)量與訓練數(shù)據(jù)量的乘積成正比,而這兩個維度的增長,帶來模型訓練算力需求的大幅增長。
再舉一個例子,比如,Llama 3 70B大概是在1024flops左右,然后更大一點Llama 3 405B在1025flops左右,GPT 4也在1025左右,早期的Llama 2大概在1023flops左右。雖然Llama 2與Llama 3的模型參數(shù)和模型結構比較類似,但是因為Llama 2的訓練數(shù)據(jù)量低一個數(shù)量級,所以它要求的算力也會低一個數(shù)量級。
不只是算力,這些大規(guī)模訓練所需要的集群也越來越大。為了校正所需要的算力,用H100的千卡、五千卡到萬卡量級的集群來作類比。表格中的數(shù)據(jù)是按照MFU算的,當然不同模型的參數(shù)大小對MFU有影響,另外集群規(guī)模增大之后由于加速比效應,MFU會下降,所以這里只是大致的估算。
這個量級中,DeepSeek V3的算力需求大概在3.4×1024flops。在千卡集群上,1024的訓練時間大概是97天,五千卡集群需要22天,到萬卡級別就只需要13天了。再舉一個例子,Qwen 3 235B,雖然模型參數(shù)小一些,但因為數(shù)據(jù)集更大,它的實際算力會更高,所以Qwen 3 235B計算量約為4.75×1024flops。再看一下訓練時間,這個計算量在千卡集群上需要136天,五千卡上是37天,到萬卡就只需要18天。這是兩個比較典型的國內MOE模型的例子。
再比如說Llama 3 370B,這是比較典型的Dense模型(稠密模型),訓練數(shù)量也差不多在1024flops左右,訓練時間也與Qwen 3差不多。
更大的模型,比如GPT 4,訓練數(shù)量有1025flops,這幾乎是千卡不可能完成的任務,到這個量級基本需要萬卡級別的集群來支撐。尤其是現(xiàn)在大模型的訓練參數(shù)基本都在向著萬億發(fā)展,數(shù)量級十分巨大,所以后續(xù)訓練需要的算力也會非常大。
二、混合精度訓練緩解算力需求激增難題
為了解決算力需求,摩爾線程采用混合精度訓練的方法。在整個模型訓練過程中,識別出對精度要求不高的操作,將其替換為低精度計算。
更低精度帶來的優(yōu)勢,首先體現(xiàn)在算力層面:精度降低一半,算力翻倍,同時顯存占用、顯存帶寬及傳輸帶寬消耗均減半。本質上,采用更低精度的數(shù)據(jù)類型進行訓練,相當于實現(xiàn)了算力的翻倍。但需注意,低精度替換只能部分進行,無法完全替代,精度敏感的環(huán)節(jié)仍需保留高精度計算。因此,降低精度可在一定程度上提升算力或降低模型訓練的算力需求。
在精度策略的設計上,可從兩個維度考量:第一個維度是模型權重。以相同算力條件為例,對比多參數(shù)低精度模型與少參數(shù)高精度模型,如100B參數(shù)規(guī)模的FP16模型和200B參數(shù)規(guī)模的FP8模型,從數(shù)學表達能力來看,其可表達的理論空間是等價的。
但當前行業(yè)趨勢更傾向于優(yōu)先擴展模型參數(shù)規(guī)模。這是因為模型訓練中實際使用的精度范圍僅占理論值域的一部分,造成“精度空間浪費”,而增大參數(shù)規(guī)模能有效提升模型效果。
從行業(yè)技術演進來看,精度格式正沿著FP32→TF32→FP16/BF16→FP8的路徑發(fā)展。此前業(yè)界對FP8的應用尚處探索階段,而DeepSeek已將其成功應用于模型訓練,預計未來會有更多模型采用FP8精度。
三、FP8訓練挑戰(zhàn)解析:數(shù)值范圍局限與精度損失引發(fā)的梯度問題
FP8訓練面臨什么挑戰(zhàn)?首先我們看一下不同浮點數(shù)的值域。因為指數(shù)位不同,取值范圍其實差別很大。比如BF16,忽略正負號,可以看到值域靠低端的部分可以到2-126,然后高端的可以到2127。FP16的值域會小很多,但有十位尾數(shù),值域靠低端部分接近2-14,然后高端部分是六萬多。
FP8有E4M3和E5M2兩種,可以看到,E4M3的取值范圍其實非常窄,只有2-6到448,E5M2跟FP16類似,但其實跟現(xiàn)在廣泛用的BF16比,取值范圍還是小很多。這里面有兩個因素,一個是取值范圍,一個是精度。
取值范圍就是剛剛講到的從小數(shù)到大數(shù)的范圍,因為FP8的數(shù)值范圍小,很可能在計算過程中遇到數(shù)值上溢和下溢的問題,如此就會帶來一個典型問題:梯度爆炸和梯度消失。
精度就是尾數(shù)部分能夠表達的數(shù)量。精度低會帶來舍入誤差的問題。例如在做數(shù)值轉換的時候,可能BF16能表示的數(shù)在FP8里就會丟失掉一些小數(shù)。另外就是一個大數(shù)加一個很小的數(shù),由于小數(shù)部分太小了,兩者就相當于沒加,這樣就會造成信息丟失,對模型訓練過程會帶來梯度無法更新的問題。
四、FP8訓練技術不斷演進,4大創(chuàng)新攻克低精度核心難題
這兩年FP8訓練技術取得多項進展,已經(jīng)應用在一些模型的訓練中。
模型訓練中不同操作對精度的需求是不一樣的:
1、矩陣乘操作:作為兩數(shù)相乘的基礎運算,F(xiàn)P8的數(shù)值范圍易于控制,可通過值域限定避免溢出,對精度要求較低;
2、累加與規(guī)約操作:矩陣乘中隱含的累加過程(尤其大矩陣運算時多數(shù)相加)存在值域溢出風險,對精度要求處于中等水平;
3、非線性函數(shù)運算:如指數(shù)函數(shù)等場景,數(shù)值易快速超出值域,對精度要求最高。
基于此,訓練中可對不同操作采用差異化精度策略,通過中間過程的量化與反量化實現(xiàn)精度適配。
Tensor Core技術提供了混合精度運算的硬件支持。自2017年引入以來,該技術持續(xù)進化,現(xiàn)可支持以FP8格式矩陣為輸入,通過硬件級混合精度運算輸出高精度矩陣結果。
訓練框架也在支持混合精度訓練。例如在BF16與FP32的混合訓練中,多數(shù)操作采用BF16執(zhí)行,但權重更新時會切換至FP32,通過維護FP32權重副本確保訓練穩(wěn)定性。
還有就是Tensor Scaling(張量縮放)技術。在進行高精度向低精度轉換時,由于值域范圍不同,會出現(xiàn)信息丟失問題。因此在數(shù)據(jù)類型轉換前,需先將高精度值域乘以Scaling Factor(縮放因子)參數(shù),使其縮放到低精度值域范圍內,以此確保轉換過程中盡可能減少數(shù)據(jù)丟失。
Scaling Factor的選擇可以有不同的策略。在時間維度上來看可以是在量化前直接計算,也可以采用基于歷史數(shù)據(jù)的Delayed Scaling Factor(延遲縮放因子)。
從顆粒度來看,既可以對整個 Tensor 應用統(tǒng)一的Scaling Factor,也能進行更精細的選擇,比如Per-Channel(逐通道)縮放,甚至還能進一步細化到Per-Channel的子區(qū)域。DeepSeek在其論文中提及,他們采用的是Per-Block(逐塊)的縮放策略。
簡單說一下DeepSeek的論文。DeepSeek-V3就使用了FP8混合精度訓練,其中主要采用了以下策略:
1、前向和后向傳播的3次GEMM使用FP8;
2、激活值的緩存和傳輸使用FP8;
3、Embedding、激活函數(shù)等模塊使用高精度浮點數(shù);
4、主權重、權重梯度、優(yōu)化器狀態(tài)使用高精度浮點數(shù)。
五、摩爾線程全棧支持FP8訓練,性能提升20%~30%,對標主流水平
那我們說回到摩爾線程在采用FP8訓練上面的一些工作。
首先,摩爾線程的全功能GPU計算卡在精度上的支持非常全面,摩爾線程是國內少數(shù)可以支持FP8精度的GPU供應商。不同計算精度可以用在圖形、計算等不同場景,摩爾線程計算卡的優(yōu)勢就是支持全精度計算。
第二點就是在集群方面的工作。摩爾線程可以說是在集群這一方面投入很大的國產(chǎn)GPU公司。我們的夸娥(KUAE)智算集群系列產(chǎn)品可以讓客戶實現(xiàn)開箱即用,已經(jīng)做到千卡規(guī)模,可支持萬卡,未來還會向著更大規(guī)模集群前進。
在這一整個過程中,我們積累了很多實踐。摩爾線程搭建了完整的軟硬件棧,從硬件設計到集群管理、調度等全部包含。在大規(guī)模集群的運維方面也積累了豐富的經(jīng)驗。在大規(guī)模訓練時,經(jīng)常會出現(xiàn)計算錯誤、卡異常等情況,如何快速定位出現(xiàn)故障的部分將其替換是很重要的。我們采用了分布式的故障監(jiān)測方法,實現(xiàn)分鐘級的故障定位和恢復。
另外還有支持FP8訓練的摩爾線程軟件棧。我們開源了3個組件:提供MUSA后端加速支持的Torch-MUSA、混合并行訓練框架MT-MegatronLM以及主要用于Transformer的高效訓練和推理優(yōu)化的MT-TransformerEngine。基于摩爾線程軟件棧,我們成功復現(xiàn)了DeepSeek-V3滿血版訓練。
在此之上我們做了一系列的實驗,基于我們自己的夸娥(KUAE)集群,在性能方面,在Llama3 8B、Qwen、DeepSeek-V2 16B以及V3 30B上,目前采用FP8混合訓練可以帶來20%~30%的性能提升,且引入FP8前后loss曲線基本一致,在采用FP8訓練方面,摩爾線程的GPU計算卡與國際主流的卡做精度對比也基本吻合。
摩爾線程在Scaling Factor的選擇上也做了許多探索,例如:amax的統(tǒng)計信息表明Per-Tensor的Scaling Factor適合采用Delayed Scaling策略,而Per-Block則適合采用JIT Scaling策略。我們還用摩爾線程GPU計算卡做了Smooth SwiGLU論文的復現(xiàn),我們發(fā)現(xiàn),通過Smooth SwiGLU可以有效降低outlier的影響。
今天我給大家匯報的內容就是這些,謝謝。