Transformers documentation

FP-Quant

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

FP-Quant

FP-Quant é uma família de algoritmos de quantização projetada para a geração Blackwell de GPUs da Nvidia. O objetivo é permitir a quantização pós-treino (PTQ) e o treinamento consciente de quantização (QAT) eficientes de LLMs nos tipos de dados MXFP4 e NVFP4.

Esta integração acompanha o pré-impresso do pré-impresso Bridging the Gap Between Promise and Performance for Microscaling FP4 Quantization.

Atualmente, apenas o QAT é suportado com pseudoquantization=True. Os modelos podem ser quantizados em tempo de execução com quantization_config=FPQuantConfig():

from transformers import AutoModelForCausalLM, AutoTokenizer, FPQuantConfig
import torch

model = AutoModelForCausalLM.from_pretrained(
    "qwen/Qwen3-8B",
    quantization_config=FPQuantConfig(),
    device_map="auto",
    dtype=torch.bfloat16,
)

ou pré-processado com GPTQ para melhor qualidade (veja FP Format Quantization Harness).

Você pode escolher entre MXFP4 e NVFP4 com FPQuantConfig(forward_dtype="mxfp4"). O NVFP4 oferece melhor qualidade, mas usa um pouco mais de memória.

Uma GPU de geração Blackwell é necessária para executar os kernels. O suporte em tempo de execução para FP-Quant é implementado por meio da biblioteca QuTLASS e de uma interface leve do PyTorch, a lib fp_quant. Recomendamos instalar a primeira a partir do código-fonte e a segunda com pip install fp_quant.

Usuários sem uma GPU de geração Blackwell podem usar o método com quantization_config=FPQuantConfig(pseudoquantization=True) sem precisar instalar o QuTLASS. Isso não proporcionará aceleração, mas emulará totalmente o efeito da quantização.

Encontre modelos pré-quantizados com FP-Quant na coleção oficial do ISTA-DASLab.

torch.compile

O FP-Quant é totalmente compatível com torch.compile.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, FPQuantConfig

model = AutoModelForCausalLM.from_pretrained(
    "qwen/Qwen3-8B",
    quantization_config=FPQuantConfig(),
    device_map="auto",
    dtype=torch.bfloat16,
)

model.forward = torch.compile(model.forward, mode="max-autotune", fullgraph=True)

Acelerações

O FP-Quant atualmente apresenta o melhor desempenho para o processamento com tamanhos de lote muito grandes.

Veja o README do QuTLASS para mais informações sobre acelerações.

Update on GitHub