henry 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
OpenAI在最新的開(kāi)源模型gpt-oss上采用的MXFP4數(shù)據(jù)類(lèi)型,直接讓推理成本暴降75%!
更驚人的是,MXFP4在把內(nèi)存占用降為同規(guī)模BF16模型的四分之一的同時(shí),還把生成token的速度提升了整整4倍。
換句話說(shuō),這一操作直接把參數(shù)的大模型塞進(jìn)80GB顯存的顯卡,哪怕是只有16GB顯存的顯卡也能跑200億參數(shù)的版本。
(注:顯存容量通常會(huì)大于Checkpoint Size)
相比以往的數(shù)據(jù)類(lèi)型,MXFP4提供了極高的性?xún)r(jià)比,模型運(yùn)行所需的硬件資源僅為之前的四分之一。
MXFP4有什么魔力?
在gpt-oss中,OpenAI將MXFP4量化應(yīng)用于大約90%的權(quán)重,這一操作的直接動(dòng)機(jī)(收益)就是讓模型運(yùn)行成本變得更加便宜。
將gpt-oss模型量化為MXFP4 后,大語(yǔ)言模型的占用內(nèi)存僅為等規(guī)模BF16模型的1/4,而且生成token的速度最高可提升4倍。
如何通過(guò)改變數(shù)據(jù)類(lèi)型降低模型運(yùn)行成本?這里的邏輯是這樣的:
模型的運(yùn)行成本主要由權(quán)重存儲(chǔ)內(nèi)存帶寬兩個(gè)部分組成。
前者是模型參數(shù)存放和占用的空間,也就是存儲(chǔ)它們所需要的字節(jié)數(shù)。
后者則是模型在推理時(shí),數(shù)據(jù)讀寫(xiě)速度和容量的限制。
數(shù)據(jù)類(lèi)型的變化將直接影響權(quán)重存儲(chǔ)和內(nèi)存帶寬的占用。
例如,傳統(tǒng)模型權(quán)重通常用FP32(32位浮點(diǎn)數(shù))存儲(chǔ),每個(gè)參數(shù)占用4字節(jié)內(nèi)存。
如果用MXFP4,那么每個(gè)權(quán)重只有半字節(jié)權(quán)重存儲(chǔ)大小是FP32的1/8,這就極大地壓縮了權(quán)重?cái)?shù)據(jù)量的大小。
這一壓縮不僅降低了模型的存儲(chǔ)空間,還能讓模型在同樣的帶寬下完成更快地?cái)?shù)據(jù)讀取和寫(xiě)入,從而提高推理速度。
由此,通過(guò)改變數(shù)據(jù)類(lèi)型就能實(shí)現(xiàn)推理成本的降本增效。
那么,MXFP4是怎么實(shí)現(xiàn)這一點(diǎn)的?
MXFP4
MXFP4的全稱(chēng)是微縮放4位浮點(diǎn)數(shù)(Micro-scaling Floating Point 4-bit),是由Open Compute Project (OCP) 定義的4位浮點(diǎn)數(shù)據(jù)類(lèi)型。
(注:OCP是Facebook于2011年發(fā)起的超大規(guī)模數(shù)據(jù)中心合作組織,旨在降低數(shù)據(jù)中心組件成本并提高可獲取性。)
在深度學(xué)習(xí)領(lǐng)域中,數(shù)據(jù)類(lèi)型的精度和效率一直是研究者取舍的重點(diǎn)。
例如,傳統(tǒng)的FP4只有四位,1位符號(hào)位(表示正負(fù)),2位指數(shù)位(決定數(shù)值的量級(jí)),1位尾數(shù)位(表示小數(shù)部分)。
這種表示方法雖然壓縮了數(shù)據(jù)量,但也導(dǎo)致了非常有限的可表示的數(shù)值范圍,它只能表示8個(gè)正數(shù)和8個(gè)負(fù)數(shù)。
相較之下,BF16(1位符號(hào)位,8位指數(shù)位和7 位尾數(shù)位)則能表示 65,536個(gè)數(shù)值,不過(guò)表示范圍的增加也帶來(lái)了計(jì)算成本的上升。
如果為了提高計(jì)算效率,直接把這4個(gè)BF16數(shù)值:0.0625、0.375、0.078125、0.25直接轉(zhuǎn)換成FP4,那么它們會(huì)變成 0、0.5、0、0.5。
不難看出,這樣的誤差顯然是無(wú)法接受的。
于是,為了在減少數(shù)據(jù)量的同時(shí)確保一定的精度,MXFP4通過(guò)將一組高精度數(shù)值(默認(rèn)32個(gè))乘以一個(gè)公共縮放因子(這個(gè)縮放因子是一個(gè)8位二進(jìn)制指數(shù))。這樣,我們前面那4個(gè)BF16數(shù)值就會(huì)變成 1、6、1.5、4。
這樣就既實(shí)現(xiàn)了極致的數(shù)據(jù)大小,又維持了數(shù)值間大小關(guān)系的精度。
此外,這一過(guò)程的實(shí)現(xiàn)還與計(jì)算硬件相關(guān)
一般規(guī)律是,每將浮點(diǎn)精度減半,芯片的浮點(diǎn)吞吐量就能翻倍。
比如,一個(gè)B200SXM模塊的稠密BF16運(yùn)算性能約為2.2 petaFLOPS,降到FP4(Nvidia Blackwell 芯片提供硬件加速)后,就能提升到9petaFLOPS
雖然這會(huì)在吞吐量上帶來(lái)一些提升,但在推理階段,更多FLOPS的意義主要是減少模型開(kāi)始生成答案的等待時(shí)間
值得注意的是,運(yùn)行MXFP4模型并不要求硬件必須原生支持FP4
用于訓(xùn)練gpt-oss的Nvidia H100就不支持原生FP4,不過(guò)它依然可以運(yùn)行,只是無(wú)法享受該數(shù)據(jù)類(lèi)型的全部?jī)?yōu)勢(shì)。
低精度與計(jì)算量的取舍
事實(shí)上,MXFP4并不是新概念。早在2023年的報(bào)告中,OCP就在報(bào)告《OCP Microscaling Formats (MX) Specification Version 1.0》中詳細(xì)介紹過(guò)這一數(shù)據(jù)類(lèi)型。
然而,這種低精度的數(shù)據(jù)類(lèi)型通常被認(rèn)為是對(duì)性?xún)r(jià)比的妥協(xié),因?yàn)榫认陆禃?huì)導(dǎo)致質(zhì)量損失。損失的程度取決于具體的量化方法。
不過(guò),已經(jīng)有足夠多的研究表明,將數(shù)據(jù)精度從16位降到8位,在大語(yǔ)言模型場(chǎng)景下幾乎沒(méi)有質(zhì)量損失,這種精度已經(jīng)足夠支撐模型的正常工作。
事實(shí)上,一些模型開(kāi)發(fā)者,例如DeepSeek已經(jīng)開(kāi)始直接用FP8進(jìn)行訓(xùn)練。
此外,雖然MXFP4比標(biāo)準(zhǔn)FP4好得多,但它也有缺陷
例如,英偉達(dá)就認(rèn)為這種數(shù)據(jù)類(lèi)型相比FP8仍可能出現(xiàn)質(zhì)量下降,部分原因是其縮放塊大?。⊿caling Block Size)為32,不夠細(xì)?;?/strong>
為此,英偉達(dá)推出了自己的微縮放數(shù)據(jù)類(lèi)型NVFP4,通過(guò)將縮放塊大小降至16和使用FP8縮放因子來(lái)提高質(zhì)量。
這幾乎等同于FP8的工作方式。只不過(guò)MXFP4是在張量?jī)?nèi)部的小塊上應(yīng)用縮放因子,而不是作用于整個(gè)張量,從而在數(shù)值之間實(shí)現(xiàn)更細(xì)的粒度。
最后,在gpt-oss上,OpenAI只使用了MXFP4。
鑒于OpenAI在AI領(lǐng)域上的影響力,這基本上就等于在說(shuō):
如果MXFP4對(duì)我們夠用,那對(duì)你也應(yīng)該夠用。
[1]https://www.theregister.com/2025/08/10/openai_mxfp4/
[2]https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7637/oai_gpt-oss_model_card.pdf
[3]https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(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.