推理成本驟降75%!gpt-oss用新數(shù)據(jù)類型實現(xiàn)4倍推理速度,80GB顯卡能跑1200億參數(shù)大模型
OpenAI在最新的開源模型gpt-oss上采用的MXFP4數(shù)據(jù)類型,直接讓推理成本暴降75%!
更驚人的是,MXFP4在把內(nèi)存占用降為同規(guī)模BF16模型的四分之一的同時,還把生成token的速度提升了整整4倍。
換句話說,這一操作直接把1200億參數(shù)的大模型塞進80GB顯存的顯卡,哪怕是只有16GB顯存的顯卡也能跑200億參數(shù)的版本。

(注:顯存容量通常會大于Checkpoint Size)
相比以往的數(shù)據(jù)類型,MXFP4提供了極高的性價比,模型運行所需的硬件資源僅為之前的四分之一。
MXFP4有什么魔力?
在gpt-oss中,OpenAI將MXFP4量化應用于大約90%的權重,這一操作的直接動機(收益)就是讓模型運行成本變得更加便宜。
將gpt-oss模型量化為MXFP4 后,大語言模型的占用內(nèi)存僅為等規(guī)模BF16模型的1/4,而且生成token的速度最高可提升4倍。

如何通過改變數(shù)據(jù)類型降低模型運行成本?這里的邏輯是這樣的:
模型的運行成本主要由權重存儲和內(nèi)存帶寬兩個部分組成。
前者是模型參數(shù)存放和占用的空間,也就是存儲它們所需要的字節(jié)數(shù)。
后者則是模型在推理時,數(shù)據(jù)讀寫速度和容量的限制。
數(shù)據(jù)類型的變化將直接影響權重存儲和內(nèi)存帶寬的占用。
例如,傳統(tǒng)模型權重通常用FP32(32位浮點數(shù))存儲,每個參數(shù)占用4字節(jié)內(nèi)存。
如果用MXFP4,那么每個權重只有半字節(jié),權重存儲大小是FP32的1/8,這就極大地壓縮了權重數(shù)據(jù)量的大小。
這一壓縮不僅降低了模型的存儲空間,還能讓模型在同樣的帶寬下完成更快地數(shù)據(jù)讀取和寫入,從而提高推理速度。
由此,通過改變數(shù)據(jù)類型就能實現(xiàn)推理成本的降本增效。
那么,MXFP4是怎么實現(xiàn)這一點的?
MXFP4
MXFP4的全稱是微縮放4位浮點數(shù)(Micro-scaling Floating Point 4-bit),是由Open Compute Project (OCP) 定義的4位浮點數(shù)據(jù)類型。
(注:OCP是Facebook于2011年發(fā)起的超大規(guī)模數(shù)據(jù)中心合作組織,旨在降低數(shù)據(jù)中心組件成本并提高可獲取性。)
在深度學習領域中,數(shù)據(jù)類型的精度和效率一直是研究者取舍的重點。
例如,傳統(tǒng)的FP4只有四位,1位符號位(表示正負),2位指數(shù)位(決定數(shù)值的量級),1位尾數(shù)位(表示小數(shù)部分)。
這種表示方法雖然壓縮了數(shù)據(jù)量,但也導致了非常有限的可表示的數(shù)值范圍,它只能表示8個正數(shù)和8個負數(shù)。
相較之下,BF16(1位符號位,8位指數(shù)位和7 位尾數(shù)位)則能表示 65,536個數(shù)值,不過表示范圍的增加也帶來了計算成本的上升。
如果為了提高計算效率,直接把這4個BF16數(shù)值:0.0625、0.375、0.078125、0.25直接轉(zhuǎn)換成FP4,那么它們會變成 0、0.5、0、0.5。
不難看出,這樣的誤差顯然是無法接受的。
于是,為了在減少數(shù)據(jù)量的同時確保一定的精度,MXFP4通過將一組高精度數(shù)值(默認32個)乘以一個公共縮放因子(這個縮放因子是一個8位二進制指數(shù))。這樣,我們前面那4個BF16數(shù)值就會變成 1、6、1.5、4。

這樣就既實現(xiàn)了極致的數(shù)據(jù)大小,又維持了數(shù)值間大小關系的精度。
此外,這一過程的實現(xiàn)還與計算硬件相關。
一般規(guī)律是,每將浮點精度減半,芯片的浮點吞吐量就能翻倍。
比如,一個B200SXM模塊的稠密BF16運算性能約為2.2 petaFLOPS,降到FP4(Nvidia Blackwell 芯片提供硬件加速)后,就能提升到9petaFLOPS。
雖然這會在吞吐量上帶來一些提升,但在推理階段,更多FLOPS的意義主要是減少模型開始生成答案的等待時間。
值得注意的是,運行MXFP4模型并不要求硬件必須原生支持FP4。
用于訓練gpt-oss的Nvidia H100就不支持原生FP4,不過它依然可以運行,只是無法享受該數(shù)據(jù)類型的全部優(yōu)勢。
低精度與計算量的取舍
事實上,MXFP4并不是新概念。早在2023年的報告中,OCP就在報告《OCP Microscaling Formats (MX) Specification Version 1.0》中詳細介紹過這一數(shù)據(jù)類型。

然而,這種低精度的數(shù)據(jù)類型通常被認為是對性價比的妥協(xié),因為精度下降會導致質(zhì)量損失。損失的程度取決于具體的量化方法。
不過,已經(jīng)有足夠多的研究表明,將數(shù)據(jù)精度從16位降到8位,在大語言模型場景下幾乎沒有質(zhì)量損失,這種精度已經(jīng)足夠支撐模型的正常工作。
事實上,一些模型開發(fā)者,例如DeepSeek已經(jīng)開始直接用FP8進行訓練。
此外,雖然MXFP4比標準FP4好得多,但它也有缺陷。
例如,英偉達就認為這種數(shù)據(jù)類型相比FP8仍可能出現(xiàn)質(zhì)量下降,部分原因是其縮放塊大?。⊿caling Block Size)為32,不夠細?;?。
為此,英偉達推出了自己的微縮放數(shù)據(jù)類型NVFP4,通過將縮放塊大小降至16和使用FP8縮放因子來提高質(zhì)量。
這幾乎等同于FP8的工作方式。只不過MXFP4是在張量內(nèi)部的小塊上應用縮放因子,而不是作用于整個張量,從而在數(shù)值之間實現(xiàn)更細的粒度。
最后,在gpt-oss上,OpenAI只使用了MXFP4。
鑒于OpenAI在AI領域上的影響力,這基本上就等于在說:
如果MXFP4對我們夠用,那對你也應該夠用。




































