什麼是 MXFP4?驅動 OpenAI GPT‑OSS 模型在普通硬體上執行的 4 位秘密

社群文章 釋出於 2025 年 8 月 8 日

憑藉原生的 MXFP4 精度,GPT‑OSS‑120B 可以在單個 H100 GPU 上執行,而 GPT‑OSS‑20B 僅需 16 GB 記憶體即可容納。

image/png

什麼是 MXFP4?定義及其起源故事

MXFP4 是 Microscaling FP4 的縮寫,是一種下一代 4 位浮點格式,由開放計算專案 (OCP) 於 2024 年初建立並標準化。這項倡議得到了包括 AMD、NVIDIA、Microsoft、Meta 和 OpenAI 在內的科技巨頭的支援,旨在降低尖端 AI 的硬體和計算門檻。

  1. 格式:每個值僅儲存在 4 位中,遵循 E2M1 佈局:每個引數 1 位符號位、2 位指數位、1 位尾數位。
  2. 塊結構:MXFP4 不會對每個值進行獨立縮放,而是將模型資料劃分為小塊(通常為 32 個元素),併為每個塊分配一個單一的、共享的 8 位指數縮放因子,這是一種“微縮放”方法。
  3. 目的:大幅減少訓練和部署大型 AI 模型所需的記憶體和計算量,同時保持質量。

image/png

內在魔力:MXFP4 如何運作

MXFP4 之所以與眾不同,在於它巧妙地結合了極致壓縮和最小精度損失。以下是它的工作原理:

  1. 塊形成:模型張量被分成 32 個連續元素的塊。
  2. 通用縮放:每個塊使用一個單一的 8 位共享縮放因子,該縮放因子經過計算,以最佳方式適應塊中的所有值。
  3. E2M1 編碼:塊中的每個值都使用 4 位(E2M1 格式:符號、指數、尾數)進行量化。
  4. 重構:實際浮點值解碼為:

image/png 其中 Xi 是重構的浮點值,Pi 是 4 位 FP4 量化值(E2M1 格式),S 是共享縮放因子。

這種結構使得 MXFP4 能夠高效地表示現代 AI 模型中發現的寬動態範圍,即使每個值只有 4 位,同時保持較低的儲存開銷。這與均勻量化截然不同。

image/png

不僅限於推理:訓練高階技術

多年來,4 位量化被認為“足夠好”僅適用於推理,而不適用於訓練。MXFP4 透過引入強大的方法來保持梯度完整性,改變了這一點:

  1. 隨機舍入:使舍入方向隨機化,確保在訓練更新期間不會系統性地丟失資訊,從而防止偏差並保持學習進度。
  2. 隨機哈達瑪變換:在量化前重新分配塊內的值,最大限度地減少“異常值”的影響,並幫助梯度在量化過程中存活。
  3. 組式量化:每個塊(32 個值)在動態範圍和量化誤差之間取得了關鍵平衡。這些創新使得 MXFP4 能夠直接訓練大型模型,無需再進行高精度預訓練。

MXFP4 的實際應用:OpenAI 的 GPT‑OSS 模型

為了證明 MXFP4 不僅僅是理論,OpenAI 釋出了 GPT‑OSS 系列模型,這些模型使用 MXFP4 進行原生訓練:

image/png

這些模型展示了:

  1. 大規模壓縮:120B 引數可在 80GB 視訊記憶體中執行;20B 模型僅需 16GB 記憶體即可容納。
  2. 質量無損:推理和編碼基準測試結果與高精度訓練的重量級模型幾乎持平。
  3. 開放訪問:所有內容均在 Apache 2.0 許可下提供,可用於生產或研究用途。

image/png

生態系統支援:超越專有解決方案

MXFP4 是一個真正的開放標準,而不是供應商鎖定策略:

  1. NVIDIA Blackwell:原生支援 MXFP4 硬體,FP8 吞吐量翻倍。
  2. NVIDIA Hopper (H100):透過 Triton 進行軟體最佳化支援。
  3. 廣泛採用:Hugging Face、vLLM、Nvidia NIM、Ollama 等。

最後總結

MXFP4 不僅僅是“更小的數字”,它是 AI 領域中連線“不可能”與“可能”的橋樑。透過將更多智慧壓縮到更少的位元中,並確保任何人都能訓練和部署強大的模型,MXFP4 標誌著 AI 民主化真正到來。

社群

註冊登入 評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.