Transformers documentation

MXFP4

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

MXFP4

注: MXFP4量子化は、現在OpenAI GPT-OSS 120bおよび20bでのみ動作します。

MXFP4 は、大規模モデルのメモリ要件を大幅に削減する 4 ビット浮動小数点形式です。大規模モデル(GPT-OSS-120B)は単一の 80GB GPU に収まり、小規模モデル(GPT-OSS-20B)はわずか 16GB のメモリで動作します。ブロックワイズスケーリングを用いることで、通常、低い精度では低下しがちな範囲と精度を維持します。

MXPF4を使用するには、ハードウェアが以下の要件を満たしていることを確認してください。

  • Accelerate、kernels、およびTriton ≥ 3.4をインストールしてください。Triton ≥ 3.4を手動でインストールするのは、PyTorch 2.7を使用している場合のみです。PyTorch 2.8ではすでにサポートされているためです。
  • Tesla GPUおよびそれ以降のGPUを含む、NVIDIA GPU Compute Capability ≥ 7.5。Compute Capabilityを確認するには、get_device_capabilityを使用してください。
from torch import cuda
cuda.get_device_capability()

# (7, 5)

以下に示すように、モデルの量子化設定を確認し、MXFP4に対応しているかどうかを判断します。'quant_method': 'mxfp4' の場合、モデルは自動的に MXFP4 を使用します。

from transformers import GptOssConfig

model_id = "openai/gpt-oss-120b"
cfg = GptOssConfig.from_pretrained(model_id)
print(cfg.quantization_config)

# Example output:
# {
#   'modules_to_not_convert': [
#     'model.layers.*.self_attn',
#     'model.layers.*.mlp.router',
#     'model.embed_tokens',
#     'lm_head'
#   ],
#   'quant_method': 'mxfp4'
# }

MXFP4カーネル

Transformers は、それらのカーネルを必要とするモデルを読み込む際に、コミュニティリポジトリから MXFP4 対応の Triton カーネルを自動的に取得します。これらのカーネルはローカルキャッシュに保存され、フォワードパスで使用されます。

利用可能かつサポートされている場合、MXFP4カーネルがデフォルトで使用され、コードの変更は不要です。

hf cache scan を使用して、カーネルがダウンロードされていることを確認できます。

hf cache scan
REPO ID                          REPO TYPE SIZE ON DISK
-------------------------------- --------- ------------
kernels-community/triton_kernels model           536.2K
openai/gpt-oss-20b               model            13.8G

リソース

MXFP4量子化とブロックワイズスケーリングの仕組みについては、このブログ記事をご覧ください。

Update on GitHub