Transformers documentation
MXFP4
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