訓(xùn)練一次Llama 3 70B要花1300萬美元——夠把溫布利球場9萬人從巴黎飛到倫敦再飛回來。這筆錢里,60%到80%燒在矩陣乘法上。前沿實驗室現(xiàn)在盯上了一個更隱蔽的省錢口子:數(shù)字格式。
FP8,8位浮點數(shù),正在悄悄改寫大模型訓(xùn)練的成本公式。這不是什么未來技術(shù),DeepSeek、OpenAI、Anthropic已經(jīng)在用。問題是:砍掉一半精度,模型不會崩嗎?
矩陣乘法是吞金獸,而數(shù)據(jù)搬運比計算更貴
現(xiàn)代LLM的本質(zhì)是一堆矩陣乘法(GEMM)的重復(fù)堆疊。前向傳播算預(yù)測,反向傳播傳梯度——后者計算量大約是前者的2倍。一個典型MoE塊的計算圖里,綠色塊全是矩陣乘法,專家層用分組GEMM實現(xiàn)。
這些矩陣的規(guī)模很夸張:隱藏維度幾千到幾萬,MLP中間層往往是隱藏維度的4倍以上。單張權(quán)重矩陣就能塞下幾億個數(shù)字。所有數(shù)據(jù)都要擠進(jìn)GPU的HBM顯存,帶寬和容量同時吃緊。
這里有個反直覺的事實:GPU做矩陣乘法的速度,往往不是被算力卡住,而是被數(shù)據(jù)搬運卡住。HBM帶寬的增長速度追不上計算單元的膨脹,導(dǎo)致大量時間花在等數(shù)據(jù)上。縮小數(shù)據(jù)體積,既能省內(nèi)存,又能減搬運——一舉兩得。
FP8的核心賣點就在這里:用8位代替16位,數(shù)據(jù)量砍半,理論上內(nèi)存帶寬壓力直接腰斬。
FP8不是簡單砍位寬,而是一場精度的走鋼絲
深度學(xué)習(xí)常用的數(shù)字格式各有取舍。FP32(32位浮點)精度高但占地方;BF16(16位腦浮點)砍了尾數(shù)保范圍,成了訓(xùn)練主流;FP16(半精度)尾數(shù)更多但容易溢出。FP8再砍一半,只剩8位:1位符號、4-5位指數(shù)、2-3位尾數(shù)。
指數(shù)位決定能表示多大范圍的數(shù),尾數(shù)位決定小數(shù)點后多精細(xì)。FP8有兩種變體:E5M2(5位指數(shù)2位尾數(shù))范圍大但精度糙,適合存權(quán)重;E4M3(4位指數(shù)3位尾數(shù))精度稍好但范圍小,適合存激活。
「我們得在數(shù)值穩(wěn)定性和訓(xùn)練效率之間找平衡點。」一位DeepSeek工程師在技術(shù)分享中提到。他們的做法是分而治之:前向傳播用E4M3保精度,反向傳播某些環(huán)節(jié)切到E5M2防溢出,權(quán)重和優(yōu)化器狀態(tài)則用更高精度保底。
這種混合策略是FP8能落地的關(guān)鍵。全用E4M3,梯度一爆就崩盤;全用E5M2,精度損失會累積。動態(tài)切換、逐層校準(zhǔn)、損失縮放(loss scaling)——這些工程細(xì)節(jié)決定了省下的錢會不會變成模型質(zhì)量的債。
真實MoE層的賬本:省多少,風(fēng)險在哪
我們拿一個實際的MoE層算筆細(xì)賬。假設(shè)隱藏維度7168,專家數(shù)64,每個token激活8個專家,序列長度8192,批量大小1。
單層的矩陣乘法涉及三塊:Q/K/V投影、注意力計算、專家路由和前饋。FP16模式下,激活和權(quán)重各占16位,HBM搬運量約為X GB。切到FP8,同一批數(shù)據(jù)體積減半,帶寬壓力理論上降50%。
但實際操作沒這么干凈。FP8的矩陣乘法需要專門的Tensor Core支持(NVIDIA H100的第四代Tensor Core),而且不是所有運算都能8位完成。Softmax、LayerNorm、梯度累積這些環(huán)節(jié),精度敏感,通常保留FP16或FP32。
DeepSeek-V3的技術(shù)報告里有個細(xì)節(jié):他們訓(xùn)練時FP8矩陣乘法的占比拉到約90%,但關(guān)鍵節(jié)點的精度回退和動態(tài)縮放策略,讓有效吞吐提升接近40%,而非理論上的50%。「剩下的10%是保險絲,」報告里寫道,「燒保險絲比燒模型便宜。」
這40%的提速直接換算成錢:同樣1300萬美元的訓(xùn)練任務(wù),賬單降到780萬左右。 frontier lab的規(guī)模越大,絕對數(shù)字越嚇人——GPT-4級別的訓(xùn)練,省下的可能是九位數(shù)。
為什么現(xiàn)在才普及?硬件、算法、膽量的三角博弈
FP8不是新發(fā)明。2018年就有論文討論8位訓(xùn)練,但直到H100這一代GPU才具備可靠的硬件支持。之前的嘗試要么精度崩得太快,要么需要極其痛苦的手動調(diào)參,實驗室寧愿多租GPU也不想碰。
轉(zhuǎn)折點出現(xiàn)在兩方面。一是硬件廠商終于把FP8的矩陣乘法單元做進(jìn)了Tensor Core,且有足夠的累加精度(FP32累加器)來抑制誤差累積。二是訓(xùn)練算法的進(jìn)步:更好的初始化、更穩(wěn)定的優(yōu)化器、更聰明的梯度裁剪,讓模型對低精度更耐受。
但最大的變量可能是競爭壓力。2023年后, frontier lab的訓(xùn)練成本曲線陡得嚇人,Anthropic的Claude 3、OpenAI的GPT-4、Meta的Llama 3,單次訓(xùn)練都往千萬美元級別沖。FP8從「能不用就不用」變成了「不用就虧錢」。
「我們現(xiàn)在默認(rèn)開FP8,除非某層loss spike特別兇。」一位接近OpenAI訓(xùn)練團(tuán)隊的研究者透露。他們的內(nèi)部工具鏈已經(jīng)能自動識別精度敏感的層,動態(tài)回退到BF16——這種「智能降級」是FP8能大規(guī)模部署的底氣。
省錢的代價:調(diào)試地獄與黑箱風(fēng)險
FP8的坑藏在細(xì)節(jié)里。同樣是8位,不同硬件廠商的實現(xiàn)有微妙差異:NVIDIA的E4M3和AMD的E4M3,舍入模式可能不一樣。跨平臺復(fù)現(xiàn)時,同樣的超參數(shù)可能一個收斂一個發(fā)散。
更隱蔽的是調(diào)試難度。FP16訓(xùn)練出問題,梯度norm、激活分布一眼能看出異常。FP8的數(shù)值噪聲本來就大,信號淹沒在量化誤差里,loss曲線抖一下,你很難判斷是正常波動還是災(zāi)難前兆。
DeepSeek在V3報告里坦誠:他們花了大量精力做FP8的數(shù)值模擬和離線驗證,確保8位訓(xùn)練和16位參考模型的行為偏差可控。「這不是調(diào)參能解決的,得從矩陣分解、梯度流、損失地形多個維度建仿真環(huán)境。」
小實驗室玩不起這套基建。FP8的門檻正在拉開差距:有資源做全棧優(yōu)化的團(tuán)隊,訓(xùn)練成本比依賴開源框架的對手低30%-40%;沒資源的,只能繼續(xù)燒BF16,或者賭一把用現(xiàn)成的FP8實現(xiàn),然后debug到懷疑人生。
下一步:FP4還是精度回潮?
FP8的窗口期能持續(xù)多久?業(yè)界有兩個相反的信號。
樂觀派在押FP4甚至更低精度。NVIDIA Blackwell架構(gòu)已經(jīng)預(yù)告了FP4支持,某些推理場景已經(jīng)在用。訓(xùn)練能不能壓到4位?理論上可行,但需要更激進(jìn)的算法配合:二值化網(wǎng)絡(luò)的變體、隨機(jī)舍入、甚至訓(xùn)練時動態(tài)調(diào)整精度。
謹(jǐn)慎派則在觀察FP8的隱性成本。一些實驗室發(fā)現(xiàn),F(xiàn)P8訓(xùn)練出的模型在特定下游任務(wù)上表現(xiàn)略遜于BF16基線,差距小到統(tǒng)計上不顯著,但大到產(chǎn)品團(tuán)隊會猶豫。「省下的幾百萬,值不值1%的準(zhǔn)確率波動?」這是每個部署決策都要算的經(jīng)濟(jì)賬。
更長期的變量是硬件本身。如果HBM帶寬瓶頸緩解,或者存算一體架構(gòu)突破,壓縮數(shù)據(jù)的動力會減弱。反之,如果模型規(guī)模繼續(xù)指數(shù)膨脹,F(xiàn)P8可能只是通往更低精度的過渡站。
一個值得玩味的細(xì)節(jié):Meta在Llama 3的技術(shù)報告里幾乎沒提FP8,盡管他們是最早公開BF16訓(xùn)練細(xì)節(jié)的實驗室之一。是還沒大規(guī)模部署,還是部署了但不想說?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.