為了充分利用 AI,優化至關重要。當開發者考慮優化用于推理的 AI 模型時,通常會想到量化、蒸餾和剪枝等模型壓縮技術。毫無疑問,這三者中最常見的是量化。這通常是由于其特定于任務的優化后準確性性能以及受支持的框架和技術的廣泛選擇。
然而,模型量化的主要挑戰是模型智能或特定任務準確性的潛在損失,尤其是從 FP32 等更高精度的數據類型過渡到最新的 FP4 格式時。NVIDIA Blackwell 提供更高的靈活性,支持 FP64、FP32/TF32、FP16/BF16、INT8/FP8、FP6 和 FP4 數據格式。圖 1 比較了 NVIDIA Ampere、Hopper 和 Blackwell GPU 中受支持的最小浮點數據類型和相應的密集/稀疏性能,展示了各代 GPU 中性能和數據類型支持的演變情況。

最新的第五代 NVIDIA Blackwell Tensor Cores 為各種超低精度格式鋪平了道路,支持研究和現實世界的場景。表 1 比較了 NVIDIA Blackwell 支持的三種主要 4 位浮點格式 (FP4、MXFP4 和 NVFP4),重點介紹了結構、內存占用和準確性方面的關鍵差異。它說明了 NVFP4 如何基于早期格式的簡單性構建,同時保持模型準確性。
特征 | FP4 ( E2M1) | MXFP4 | NVFP4 |
格式 結構 |
4 位 ( 1 個符號、2 個指數、1 個尾數) 加軟件 scaling factor | 4 位 ( 1 個符號、2 個指數、1 個尾數) ,每 32 個值塊 1 個共享的 power-of-two 尺度 | 4 位 ( 1 個符號,2 個指數,1 個尾數) 加 1 個共享 FP8 刻度 (每個 16 個值塊) |
加速硬件擴展 | 否 | 是 | 是 |
顯存 | 約 25% 的 FP16 | ||
準確性 | 與 FP8 相比,準確性有明顯下降的風險 | 與 FP8 相比,準確性有明顯下降的風險 | 降低準確率明顯下降的風險,尤其是對于較大的模型 |
本文將介紹 NVFP4 這種先進的數據類型,并解釋它如何專門用于幫助開發者在 Blackwell 上更高效地擴展,在超低精度下實現最佳準確性。
什么是 NVFP4?
NVFP4 是 NVIDIA Blackwell GPU 架構引入的創新 4 位浮點格式。NVFP4 建立在低位“微”浮點格式的概念之上,通過提供額外的格式可供選擇,為開發者提供了更大的靈活性。
NVFP4 的結構類似于大多數浮點 4 位格式 (E2M1) ,這意味著它有 1 個符號位、2 個指數位和 1 個尾數位。格式中的值大約介于 -6 到 6 之間。例如,范圍內的值可以包括 0.0、0.5、1.0、1.5、2、3、4、6 (負范圍相同) 。
超低精度格式的關鍵挑戰之一是在寬張量值的動態范圍內保持數值準確性。NVFP4 通過兩項架構創新解決了這一問題,使其在 AI 推理方面非常有效:
- 高精度比例編碼
- 二級微塊 scaling 策略
此策略對每個 16 值微塊 (較大張量的緊湊子集) 應用細粒度 E4M3 縮放系數,同時還利用每個張量應用的二級 FP32 標量。這兩個級別的縮放共同實現了更準確的值表示,并顯著減少了量化誤差 (圖 2) 。

高精度縮放:編碼更多信號,減少錯誤
為了從共享微塊擴展中獲得價值,NVFP4 使用 E4M3 FP8 精度對塊進行編碼。NVFP4 使用 E4M3 FP8 格式變體,可實現分數精度下的非二階縮放系數。這種更高的靈活性支持對張量的實際分布進行更準確的編碼。圖 3 展示了一個全精度輸入矩陣示例,以及使用 E8M0 和 E4M3 縮放得到的量化矩陣。

E4M3 具有更精確的縮放系數的缺點是縮放值范圍縮小。這可以通過使用二級縮放系數來抵消。此二級縮放因子使用 FP32 在每個張量級別上完成 (如圖 2 所示) ,它調整原始張量的分布,以便微塊可以使用 E4M3 縮放因子有效編碼。

圖 4 中的動畫是圖 3 中矩陣轉換的數字線表示。此示例將原始的全精度值 (以黃色圓圈表示) 映射到量化數據類型動態范圍內的相應位置。優點圖是在量化數據類型 E8M0 和 E4M3 中,從原始值到其表示的映射的平均均方誤差 (MSE) 。E4M3 的 MSE 平均值為 0.08,因此 MSE 越低越好。
E4M3 之所以能夠“平均表現更好”,是因為它會選取一個分數刻度,這樣,當對所有 16 個值的平方 (或絕對) 誤差求和時,總誤差通常小于 E8M0-量化塊。換言之:
- E8M0 = 將比例系數捕捉至最接近的 2?,這可能會導致塊最大值 (amax) 出現較大的量化誤差,并且通常會導致塊的整體量化誤差更大。
- E4M3 = 找到一個比例系數,使塊誤差總體盡可能小 (通常提高塊最大值 (amax) 的準確性) ,盡管某些值的準確性可能稍低,但塊作為一個整體保留了更高的保真度。
您可能會問自己,我們為什么要使用 E8M0?答案是,簡單性是最高優先級。E8M0 刻度因子降低了計算復雜性 (即不需要額外的每張量軟件縮放因子) ,并且對于對刻度因子精度不太敏感的激活和權重來說也是足夠的。E4M3 會根據每個小的值塊調整其縮放系數,從而在更大的輸入范圍內實現更精細的擬合。這種額外的靈活性意味著,在使用 NVFP4 量化為 4 位時,整體舍入誤差較低,模型智能得以保留。
NVIDIA Blackwell 第五代 Tensor Core 架構可實現 NVFP4,并能自動處理微縮 FP4 數據,包括元件分組、動態縮放和 4 位矩陣運算。
微塊擴展可實現高效的模型壓縮
NVFP4 的另一個關鍵組件是塊浮點表示,其中微塊共享一個共同的 scaling factor。通過將組大小從 32 個元素縮減到每個塊 16 個值,NVFP4 實現了比 MXFP4 更細粒度的 scaling。
AI 模型中的大張量通常會混合使用大大小小的數字,而單個“總括性”擴展可能會導致嚴重的量化錯誤,從而降低模型性能。NVFP4 中更緊密的分組可提供兩倍于數據的局部動態范圍的匹配機會,從而顯著減少這些錯誤。
為了更好地了解 NVFP4 如何提高量化準確性,可以直接將其與前代產品 MXFP4 進行比較。這兩種格式都依賴于分組的值塊和共享的比例系數,但 NVFP4 的一項關鍵創新在于其更小的塊大小和強大的可擴展性。通過將塊大小從 32 個值減半為 16 – NVFP4,可以更本地化地適應數據的動態范圍。這使得在模型權重或激活函數中保留微小但重要的差異變得更加容易。圖 5 說明了這在實踐中的工作原理。

它是如何運作的?在每個 16 個值塊內,每個 4 位編碼值 ?(范圍在 -6 到 +6 之間) 都使用以下方法進行擴展:
在此方程中, 是更高精度的 FP8 (E4M3) 刻度,經動態計算可更大限度地減少整體塊誤差。通過為每組 16 個元件重新計算
,NVFP4 可更大限度地減少 4 位精度下的量化誤差,同時與更高精度的格式相比,仍可顯著降低內存和計算復雜性。這種結構使 NVFP4 不僅是一種低精度格式,而且在保留模型智能方面取得了重大進展。
NVFP4 與 FP8 的對比:模型性能和內存效率
量化優勢由兩個因素驅動:減少內存負擔和簡化計算操作。這兩個因素可以減輕內存帶寬的壓力,從而提高輸出 token 吞吐量。它還可以通過簡化注意力層計算來改善整體端到端延遲性能,從而在預填充過程中獲得直接優勢。如需深入了解這些指標及其對整體推理性能的影響,請參閱LLM推理基準測試:基本概念。
模型性能
推理性能優化必須努力保護模型智能,這是 NVFP4 旨在實現的平衡。這就是 NVFP4 的承諾:量化到 4 位的機會,并在對模型精度影響最小的情況下實現顯著的推理性能。圖 6 通過比較 DeepSeek-R1-0528 在七個不同評估中的準確度來說明這一點,突出顯示了模型的 FP8 和 NVFP4 量化版本之間最小的準確度差異。

該分析顯示,當使用訓練后量化 (PTQ) 從原始 FP8 格式量化為 NVFP4 時,DeepSeek-R1-0528 的關鍵語言建模任務的準確度下降了 1% 或更低。在 AIME 2024 中,NVFP4 的準確率甚至提高了 2%。
顯存
FP8 由 Hopper 和 Blackwell 提供支持,與之前支持的最小 16 位浮點數據類型 FP16/BF16 相比,在顯存和延遲/吞吐量方面具有顯著優勢。現在,NVFP4 為 Blackwell 上的 AI 工作負載提供了一種精確且緊湊的數據類型。NVFP4 可存儲一個 4 位值,加上每 16 個值一個 FP8 刻度(每個值 4.5 位)的輕微開銷,以及每個張量一個 FP32 的二級擴展系數。與 FP16 相比,模型顯存占用減少了約 3.5 倍,與 FP8 相比減少了約 1.8 倍。
當將此分析擴展到 NVIDIA GB300 NVL72 機架級系統時,該系統包含 36 個 Grace Blackwell Ultra 超級芯片(每個芯片都配備一個 NVIDIA Grace CPU 和兩個 NVIDIA Blackwell Ultra GPU),每個系統的總內存預算將增加到 40 TB。HBM 和 Grace 的內存預算與 NVFP4 的內存大小和準確性優勢相結合,為大規模 AI 推理部署帶來了顯著優勢,尤其是在克服測試時擴展帶來的挑戰方面。
FP4 能效
降低精度不僅可以加快推理速度并減少內存占用,還可以提高每瓦性能。與更高精度的數據類型相比,每個 4 位運算所需的數據移動和運算能耗更少。Blackwell Tensor Core 架構中的液冷和 FP4 支持等創新使 Blackwell 和 Blackwell Ultra 能夠實現顯著的能效提升,與 NVIDIA H100 Tensor Core 基準相比,分別提升高達 25 倍和 50 倍,如圖 7 所示。

開始使用 NVFP4
推理生態系統正在迅速采用 NVFP4 精度,以滿足不斷增長的 AI 需求。如果您希望將模型量化為 NVFP4,NVIDIA TensorRT Model Optimizer 和 LLM Compressor 均提供了簡化的工作流。現在,您可以更輕松地應用 PTQ、QAT 和其他高級量化技術,將模型量化為 NVFP4。
量化后,NVFP4 模型可以輕松導出到統一 Hugging Face 檢查點,并部署在 NVIDIA TensorRT-LLM 和 vLLM 上,后者提供早期的 NVFP4 支持,并即將在 SGLang 中提供支持。這些框架是采用 NVFP4 精度的快速擴展生態系統的一部分。TensorRT Model Optimizer 還支持量化非 LLM 模型,并導出為 ONNX 格式。您也不必從頭開始:Hugging Face 已經托管了可隨時部署的 NVFP4 預量化檢查點,包括一些熱門檢查點:DeepSeek-R1-0528、Llama 3 和 FLUX.1-dev。
無論是從頭開始優化,還是采用預量化模型,NVFP4 在現實世界部署中的勢頭越來越強,更多教程和代碼示例即將推出。敬請關注。
?