
智東西(公眾號:zhidxcom)
作者 | 中國AI算力大會
6月26日,2025中國AI算(suan)(suan)力大(da)會在北京熱烈召(zhao)開。從國產(chan)AI算(suan)(suan)力的突圍與崛起,到智算(suan)(suan)中心深層軟硬件技術(shu)創新(xin)解(jie)決(jue)算(suan)(suan)力落地產(chan)業難題,近30位重量級嘉賓與會帶來(lai)致辭、報告、演講和對話,全方位解(jie)構DeepSeek引爆的AI算(suan)(suan)力變局。
摩(mo)爾線程副總裁王(wang)華(hua)在主(zhu)會場以《基于(yu)FP8的(de)國產(chan)集群訓練》為(wei)題(ti)進行(xing)了主(zhu)題(ti)演講。在演講中(zhong)他提到2020至2025年間,大模型(xing)訓練的(de)算力需求激增近1000倍 ,而驅動力來(lai)自參(can)數規(gui)模與數據量雙(shuang)向增長。
王華(hua)認(ren)為,大集群和FP8成為大模型(xing)現階段的最強需求。對此(ci),他圍(wei)繞大模型(xing)算(suan)力(li)需求、混合精度訓練、FP8訓練技術演(yan)進等方面進行(xing)了深入淺出地(di)剖析闡釋。
此外(wai),王華(hua)還分享(xiang)道,摩爾(er)線程提供包(bao)括FP8在內的(de)全精度算力,構建了支持多種不同數據類型的(de)混合精度訓練(lian)方案(an),還可以提供萬卡集群開箱即用的(de)產品(pin),可以滿足大模型的(de)算力需(xu)求,并大幅(fu)提升其訓練(lian)效(xiao)果。
以下為王華的演講實錄精華:
一、5年,大模型訓練算力需求增長千倍
首先來看一下大型訓練需求的趨勢。2020年,算力需求訓練需求最高是在1023flops。到25年,訓練算力需求最高的是xAI的Grok3,算力需求差不多到了1026flops。從1023到1026,算力需求(qiu)增(zeng)長了1000倍。
增長(chang)主要來自兩個方面:一是模(mo)(mo)(mo)型(xing)參數。大模(mo)(mo)(mo)型(xing)的模(mo)(mo)(mo)型(xing)參數規(gui)模(mo)(mo)(mo)是在(zai)不斷增加(jia)的,最近(jin)的模(mo)(mo)(mo)型(xing)動轍(che)都是數千億甚至到萬(wan)億的參數規(gui)模(mo)(mo)(mo);第(di)二是訓(xun)練(lian)數據量。早期訓(xun)練(lian)數據量可(ke)能到幾百B,稍微多一點到1T,但現在(zai)基本(ben)都是十幾T。
所以,算力需求和模型(xing)參數(shu)數(shu)量與訓練數(shu)據量的(de)(de)乘(cheng)積成(cheng)正比,而這兩個維(wei)度(du)的(de)(de)增長(chang),帶來模型(xing)訓練算力需求的(de)(de)大幅增長(chang)。
再舉一個例子,比如,Llama 3 70B大概是在1024flops左右,然后更大一點Llama 3 405B在1025flops左右,GPT 4也在1025左右,早期的Llama?2大概在1023flops左右。雖然Llama?2與Llama 3的(de)模型參數(shu)和模型結構比較類似,但是(shi)因為Llama?2的(de)訓練數(shu)據量低一個(ge)數(shu)量級,所以它要求(qiu)的(de)算(suan)力也(ye)會低一個(ge)數(shu)量級。
不只(zhi)(zhi)是算力,這(zhe)些大(da)規(gui)模訓練所需要的(de)集(ji)群(qun)也(ye)越來越大(da)。為了(le)校正所需要的(de)算力,用(yong)H100的(de)千卡(ka)(ka)、五千卡(ka)(ka)到萬卡(ka)(ka)量(liang)級(ji)的(de)集(ji)群(qun)來作類比(bi)。表格中的(de)數(shu)據(ju)是按(an)照MFU算的(de),當然不同模型(xing)的(de)參數(shu)大(da)小對MFU有(you)影響,另外集(ji)群(qun)規(gui)模增大(da)之后(hou)由于(yu)加速比(bi)效應,MFU會下(xia)降(jiang),所以(yi)這(zhe)里只(zhi)(zhi)是大(da)致的(de)估算。
這個量級中,DeepSeek?V3的算力需求大概在3.4×1024flops。在千卡集群上,1024的訓練時間大概是97天,五千卡集群需要22天,到萬卡級別就只需要13天了。再舉一個例子,Qwen 3 235B,雖然模型參數小一些,但因為數據集更大,它的實際算力會更高,所以Qwen 3 235B計算量約為4.75×1024flops。再看一下(xia)訓練時(shi)間,這個計(ji)算量在千卡(ka)集群上(shang)需(xu)要136天,五千卡(ka)上(shang)是37天,到萬卡(ka)就只需(xu)要18天。這是兩個比較(jiao)典型(xing)的國(guo)內MOE模(mo)型(xing)的例(li)子。
再比如說Llama?3 370B,這是比較典型的Dense模型(稠密模型),訓練數量也差不多在1024flops左右,訓練(lian)時間也與Qwen 3差不多。
更大的模型,比如GPT 4,訓練數量有1025flops,這幾乎(hu)是千卡(ka)不(bu)可(ke)能(neng)完成的任務,到(dao)這個(ge)量(liang)級(ji)基本需要萬(wan)卡(ka)級(ji)別的集群來支(zhi)撐(cheng)。尤(you)其(qi)是現在大(da)模(mo)型(xing)的訓練(lian)參數(shu)基本都(dou)在向著萬(wan)億發展,數(shu)量(liang)級(ji)十分巨(ju)大(da),所(suo)以后續(xu)訓練(lian)需要的算力也(ye)會(hui)非(fei)常大(da)。
二、混合精度訓練緩解算力需求激增難題
為(wei)了解決算力需(xu)求(qiu),摩爾線程采用混合精(jing)度(du)訓(xun)練的(de)方法。在整個模型訓(xun)練過程中,識別出對精(jing)度(du)要求(qiu)不高的(de)操作,將其(qi)替換為(wei)低精(jing)度(du)計算。
更低(di)精(jing)度(du)(du)帶來的(de)優勢,首先體現(xian)在(zai)算(suan)力層面(mian):精(jing)度(du)(du)降(jiang)低(di)一(yi)半,算(suan)力翻倍,同時(shi)顯存占用(yong)、顯存帶寬(kuan)及傳輸帶寬(kuan)消耗(hao)均(jun)減半。本質上(shang),采用(yong)更低(di)精(jing)度(du)(du)的(de)數(shu)據類(lei)型進行(xing)(xing)訓練,相當(dang)于實現(xian)了算(suan)力的(de)翻倍。但需(xu)注意,低(di)精(jing)度(du)(du)替換只能部分進行(xing)(xing),無法完全(quan)替代,精(jing)度(du)(du)敏感的(de)環節仍(reng)需(xu)保留高精(jing)度(du)(du)計算(suan)。因此(ci),降(jiang)低(di)精(jing)度(du)(du)可在(zai)一(yi)定程度(du)(du)上(shang)提(ti)升(sheng)算(suan)力或降(jiang)低(di)模(mo)型訓練的(de)算(suan)力需(xu)求。
在精度(du)策略的設(she)計上(shang),可(ke)從兩(liang)個(ge)維(wei)度(du)考量:第一(yi)個(ge)維(wei)度(du)是模(mo)(mo)型(xing)權重。以相同算力條件為例,對比多參(can)(can)數(shu)低精度(du)模(mo)(mo)型(xing)與(yu)少參(can)(can)數(shu)高精度(du)模(mo)(mo)型(xing),如100B參(can)(can)數(shu)規模(mo)(mo)的FP16模(mo)(mo)型(xing)和(he)200B參(can)(can)數(shu)規模(mo)(mo)的FP8模(mo)(mo)型(xing),從數(shu)學表(biao)達能力來看,其(qi)可(ke)表(biao)達的理(li)論空間是等價的。
但當前行業趨勢更傾(qing)向于優先擴展模(mo)(mo)型參數規(gui)模(mo)(mo)。這是(shi)因為模(mo)(mo)型訓練中實際使用的精度范圍僅占理論值域(yu)的一部分,造成“精度空(kong)間(jian)浪費”,而(er)增大參數規(gui)模(mo)(mo)能有(you)效提升模(mo)(mo)型效果。
從(cong)行業技術演進來(lai)看(kan),精度(du)格式正沿著FP32→TF32→FP16/BF16→FP8的(de)路(lu)徑發(fa)展。此前(qian)業界對FP8的(de)應用(yong)尚處探索階(jie)段(duan),而(er)DeepSeek已將其成功應用(yong)于模型訓練,預計未(wei)來(lai)會(hui)有更(geng)多(duo)模型采用(yong)FP8精度(du)。
三、FP8訓練挑戰解析:數值范圍局限與精度損失引發的梯度問題
FP8訓練面臨什么挑戰?首先我們看一下不同浮點數的值域。因為指數位不同,取值范圍其實差別很大。比如BF16,忽略正負號,可以看到值域靠低端的部分可以到2-126,然后高端的可以到2127。FP16的值域會小很多,但有十位尾數,值域靠低端部分接近2-14,然(ran)后高端部分是(shi)六(liu)萬多。
FP8有E4M3和E5M2兩種,可以看到,E4M3的取值范圍其實非常窄,只有2-6到(dao)448,E5M2跟FP16類似,但其實跟現在(zai)廣泛用的BF16比(bi),取值范圍還是小很多(duo)。這里面(mian)有兩個(ge)因(yin)素,一(yi)個(ge)是取值范圍,一(yi)個(ge)是精度(du)。
取(qu)值范圍(wei)就(jiu)是剛(gang)剛(gang)講到的(de)從小數(shu)到大數(shu)的(de)范圍(wei),因為FP8的(de)數(shu)值范圍(wei)小,很可能在計(ji)算過(guo)程中遇到數(shu)值上溢和下(xia)溢的(de)問題,如此(ci)就(jiu)會(hui)帶來(lai)一個典型問題:梯(ti)度(du)爆(bao)炸和梯(ti)度(du)消(xiao)失。
精(jing)度就是尾(wei)數部(bu)分(fen)能(neng)夠表(biao)達的(de)(de)數量。精(jing)度低會(hui)帶來(lai)舍入誤差的(de)(de)問(wen)(wen)題。例如在做數值轉(zhuan)換的(de)(de)時候,可能(neng)BF16能(neng)表(biao)示的(de)(de)數在FP8里(li)就會(hui)丟失(shi)掉一些小(xiao)(xiao)數。另外就是一個(ge)大(da)數加一個(ge)很小(xiao)(xiao)的(de)(de)數,由于小(xiao)(xiao)數部(bu)分(fen)太小(xiao)(xiao)了,兩者就相當于沒加,這樣(yang)就會(hui)造成信息丟失(shi),對模(mo)型訓(xun)練過程會(hui)帶來(lai)梯度無法更(geng)新的(de)(de)問(wen)(wen)題。
四、FP8訓練技術不斷演進,4大創新攻克低精度核心難題
這(zhe)兩年FP8訓練技術取得多(duo)項進展,已經(jing)應用在一些(xie)模型的訓練中(zhong)。
模型(xing)訓練中不(bu)同操作對精度(du)的(de)需(xu)求是不(bu)一樣的(de):
1、矩陣乘操(cao)作:作為兩數(shu)相乘的基(ji)礎運(yun)算,FP8的數(shu)值范圍易于控制,可通(tong)過(guo)值域(yu)限定避免溢出,對精度要求較低;
2、累(lei)加(jia)(jia)與(yu)規(gui)約操作(zuo):矩陣乘中隱(yin)含的累(lei)加(jia)(jia)過程(尤(you)其大矩陣運(yun)算時多數相加(jia)(jia))存(cun)在(zai)值(zhi)域溢出風險,對精(jing)度(du)要求處于(yu)中等水平;
3、非線性函(han)數(shu)(shu)運算(suan):如指數(shu)(shu)函(han)數(shu)(shu)等場景,數(shu)(shu)值(zhi)易快速(su)超出值(zhi)域,對精(jing)度要求最(zui)高。
基(ji)于此,訓練中可對不同操作采(cai)用(yong)差(cha)異化(hua)精度(du)策略,通(tong)過(guo)中間過(guo)程的量(liang)化(hua)與反量(liang)化(hua)實現精度(du)適(shi)配。
Tensor Core技術提供了(le)混合精(jing)度(du)運(yun)算的硬件支持(chi)。自(zi)2017年引入以來,該技術持(chi)續進化,現可支持(chi)以FP8格式(shi)矩陣(zhen)為輸(shu)(shu)入,通(tong)過硬件級混合精(jing)度(du)運(yun)算輸(shu)(shu)出高精(jing)度(du)矩陣(zhen)結果。
此外,訓(xun)練框架也在支(zhi)持混合精(jing)度訓(xun)練。例如(ru)在BF16與FP32的混合訓(xun)練中,多數操作采用(yong)BF16執行,但(dan)權(quan)重(zhong)更新(xin)時會切換至FP32,通(tong)過維護FP32權(quan)重(zhong)副本確保訓(xun)練穩定(ding)性。
還有就(jiu)是(shi)Tensor Scaling(張量縮(suo)放(fang))技(ji)術。在(zai)進行高精度(du)向低精度(du)轉換(huan)時(shi),由于值域(yu)范圍不同,會出現信息丟失問題。因(yin)此(ci)在(zai)數據(ju)(ju)類型(xing)轉換(huan)前,需(xu)先將(jiang)高精度(du)值域(yu)乘以(yi)Scaling Factor(縮(suo)放(fang)因(yin)子)參數,使(shi)其(qi)縮(suo)放(fang)到(dao)低精度(du)值域(yu)范圍內,以(yi)此(ci)確保轉換(huan)過(guo)程(cheng)中盡可能減少數據(ju)(ju)丟失。
Scaling Factor的選擇可以(yi)有不同的策(ce)略。在時間維度上來看可以(yi)是在量(liang)化前直接計算(suan),也可以(yi)采用基于(yu)歷史數據(ju)的Delayed Scaling Factor(延(yan)遲縮放(fang)因子)。
從顆粒度來看,既(ji)可以對整個 Tensor 應用統一(yi)的Scaling Factor,也能進(jin)行更精(jing)細(xi)的選擇,比(bi)如Per-Channel(逐通道)縮放,甚至還能進(jin)一(yi)步細(xi)化到Per-Channel的子區域。DeepSeek在其論文中提(ti)及(ji),他們采(cai)用的是Per-Block(逐塊)的縮放策略。
簡(jian)單說(shuo)一下DeepSeek的論文。DeepSeek-V3就使用(yong)了FP8混合精度訓練(lian),其中主要采用(yong)了以下策略(lve):
1、前向(xiang)和(he)后向(xiang)傳播的3次GEMM使用FP8;
2、激活(huo)值的緩存和傳輸使用FP8;
3、Embedding、激活(huo)函數等模塊使用高精(jing)度浮點數;
4、主權重(zhong)、權重(zhong)梯度(du)、優(you)化器狀態使用高精度(du)浮(fu)點數。
五、摩爾線程全棧支持FP8訓練,性能提升20%~30%,對標主流水平
那我們說回到摩爾線程在采(cai)用FP8訓練上面的一(yi)些工作。
首先,摩(mo)爾(er)線程的(de)全功能GPU計(ji)(ji)算卡(ka)(ka)在(zai)精(jing)度(du)(du)上的(de)支持非常全面,摩(mo)爾(er)線程是(shi)國內少(shao)數可(ke)以支持FP8精(jing)度(du)(du)的(de)GPU供應商。不同計(ji)(ji)算精(jing)度(du)(du)可(ke)以用在(zai)圖形(xing)、計(ji)(ji)算等不同場景,摩(mo)爾(er)線程計(ji)(ji)算卡(ka)(ka)的(de)優(you)勢就是(shi)支持全精(jing)度(du)(du)計(ji)(ji)算。
第二點(dian)就是在集(ji)(ji)群(qun)(qun)方面的工作(zuo)。摩爾線程可(ke)(ke)以說(shuo)是在集(ji)(ji)群(qun)(qun)這一方面投(tou)入很大的國產GPU公(gong)司(si)。我們的夸娥(e)(KUAE)智算(suan)集(ji)(ji)群(qun)(qun)系列產品可(ke)(ke)以讓客戶(hu)實現開箱即用,已經做到千卡(ka)規(gui)模(mo),可(ke)(ke)支持(chi)萬卡(ka),未來還會向(xiang)著更(geng)大規(gui)模(mo)集(ji)(ji)群(qun)(qun)前進(jin)。
在這一(yi)整個過程中,我們(men)積累(lei)了很(hen)(hen)多實(shi)踐。摩爾線程搭(da)建了完(wan)整的(de)軟硬(ying)件棧(zhan),從硬(ying)件設計(ji)到集(ji)群(qun)管理、調度等全部包含。在大規模集(ji)群(qun)的(de)運維方面也積累(lei)了豐富的(de)經驗。在大規模訓(xun)練時,經常會出現計(ji)算錯誤、卡異常等情況(kuang),如何快速定(ding)位出現故(gu)障的(de)部分(fen)將其替換是很(hen)(hen)重要的(de)。我們(men)采(cai)用了分(fen)布(bu)式的(de)故(gu)障監測方法(fa),實(shi)現分(fen)鐘級(ji)的(de)故(gu)障定(ding)位和恢復。
另外還有支持FP8訓(xun)(xun)練(lian)(lian)的(de)摩爾(er)線程(cheng)軟(ruan)件(jian)(jian)棧。我(wo)們(men)(men)開源了3個組件(jian)(jian):提供MUSA后(hou)端加速支持的(de)Torch-MUSA、混(hun)合(he)并行(xing)訓(xun)(xun)練(lian)(lian)框架(jia)MT-MegatronLM以及主(zhu)要(yao)用于Transformer的(de)高效訓(xun)(xun)練(lian)(lian)和推理優(you)化的(de)MT-TransformerEngine。基于摩爾(er)線程(cheng)軟(ruan)件(jian)(jian)棧,我(wo)們(men)(men)成功復現了DeepSeek-V3滿(man)血版訓(xun)(xun)練(lian)(lian)。
在(zai)(zai)此之上(shang)我們做(zuo)了一(yi)(yi)系(xi)列(lie)的(de)實驗,基(ji)于我們自己的(de)夸娥(KUAE)集群,在(zai)(zai)性(xing)能方(fang)面,在(zai)(zai)Llama3 8B、Qwen、DeepSeek-V2 16B以及V3 30B上(shang),目前采用FP8混合訓練可以帶來20%~30%的(de)性(xing)能提升,且引(yin)入FP8前后loss曲線基(ji)本(ben)一(yi)(yi)致(zhi),在(zai)(zai)采用FP8訓練方(fang)面,摩爾線程(cheng)的(de)GPU計算(suan)卡(ka)與國際主流的(de)卡(ka)做(zuo)精度對比也基(ji)本(ben)吻合。
此外,摩(mo)爾線(xian)程在Scaling Factor的(de)選擇上也做(zuo)了許多探索,例(li)如:amax的(de)統計信息表明Per-Tensor的(de)Scaling Factor適合(he)采(cai)用(yong)Delayed Scaling策略(lve),而Per-Block則(ze)適合(he)采(cai)用(yong)JIT Scaling策略(lve)。我(wo)們(men)(men)還用(yong)摩(mo)爾線(xian)程GPU計算卡做(zuo)了Smooth SwiGLU論文的(de)復現(xian),我(wo)們(men)(men)發現(xian),通(tong)過Smooth SwiGLU可(ke)以(yi)有效降低outlier的(de)影響。
今天(tian)我給大(da)家匯報的內容(rong)就是這些(xie),謝(xie)謝(xie)。