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) помещаются на одном GPU с 80 ГБ памяти, а для небольших моделей (GPT-OSS-20B) достаточно всего 16 ГБ. Формат использует блочное масштабирование, чтобы сохранить диапазон значений и точность, которые обычно ухудшаются при снижении точности.

Чтобы использовать MXPF4, убедитесь, что ваше оборудование соответствует следующим требованиям.

  • Установите Accelerate, kernels и Triton ≥ 3.4. Устанавливайте Triton ≥ 3.4 вручную только в том случае, если вы используете PyTorch 2.7, так как в PyTorch 2.8 он уже поддерживается.
  • NVIDIA GPU с вычислительной способностью (Compute Capability) ≥ 7.5, включая Tesla и более новые. Используйте get_device_capability, чтобы проверить Compute 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 автоматически загружает ядра Triton с поддержкой MXFP4 из репозитория сообщества при загрузке модели, которая в них нуждается. Ядра сохраняются в локальном кэше и используются во время прямого прохода.

Ядра 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