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).
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