Transformers documentation

MXFP4

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

MXFP4

Observação: a quantização MXFP4 atualmente funciona apenas para o OpenAI GPT-OSS 120b e 20b.

MXFP4 é um formato de ponto flutuante de 4 bits que reduz drasticamente os requisitos de memória de modelos grandes. Modelos grandes (GPT-OSS-120B) podem caber em uma única GPU de 80GB, e modelos menores (GPT-OSS-20B) exigem apenas 16GB de memória. Ele usa escalonamento por blocos para preservar sua faixa e precisão, que normalmente se degradam em precisões mais baixas.

Para usar o MXPF4, verifique se o seu hardware atende aos seguintes requisitos.

  • Instale o Accelerate, kernels e Triton ≥ 3.4. Instale o Triton ≥ 3.4 manualmente apenas se estiver usando o PyTorch 2.7, pois ele já é suportado no PyTorch 2.8.
  • Capacidade de computação da GPU NVIDIA ≥ 7.5, que inclui GPUs Tesla e mais recentes. Use get_device_capability para verificar a capacidade de computação.
from torch import cuda
cuda.get_device_capability()

# (7, 5)

Verifique a configuração de quantização de um modelo, conforme mostrado abaixo, para ver se ele suporta MXFP4. Se 'quant_method': 'mxfp4', o modelo usa MXFP4 automaticamente.

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'
# }

Kernels MXFP4

O Transformers busca automaticamente os kernels Triton compatíveis com MXFP4 do repositório da comunidade quando você carrega um modelo que os requer. Os kernels são armazenados no seu cache local e utilizados durante a passagem direta (forward pass).

Os kernels MXFP4 são usados por padrão, quando disponíveis e suportados, e não exigem nenhuma alteração de código.

Você pode usar hf cache scan para verificar se os kernels foram baixados.

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

Recursos

Saiba mais sobre a quantização MXFP4 e como o escalonamento por bloco funciona neste post de blog.

Update on GitHub