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