Transformers documentation
FP-Quant
FP-Quant
FP-Quant es una familia de algoritmos de cuantización diseñados para la generación Blackwell de GPUs de Nvidia. Su objetivo es permitir una cuantización eficiente posterior al entrenamiento (PTQ) y un entrenamiento consciente de la cuantización (QAT) de LLMs en los tipos de datos MXFP4 y NVFP4.
This integration accompanies the pre-print of the Bridging the Gap Between Promise and Performance for Microscaling FP4 Quantization pre-print.
Actualmente, solo se admite QAT con pseudoquantization=True. Los modelos pueden cuantizarse sobre la marcha con 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,
)o preprocesado con GPTQ para una mejor calidad (consulte FP Format Quantization Harness).
Puede elegir entre MXFP4 y NVFP4 con FPQuantConfig(forward_dtype="mxfp4"). NVFP4 ofrece una mejor calidad, pero utiliza un poco más de memoria.
Se requiere una GPU de generación Blackwell para ejecutar los kernels. El soporte en tiempo de ejecución para FP-Quant se implementa a través de la biblioteca QuTLASS y una interfaz ligera de PyTorch, la lib fp_quant. Recomendamos instalar la primera desde el código fuente y la segunda con pip install fp_quant.
Los usuarios sin una GPU de generación Blackwell pueden usar el método con quantization_config=FPQuantConfig(pseudoquantization=True) sin necesidad de instalar QuTLASS. Esto no proporcionaría mejoras de velocidad, pero emularía por completo el efecto de la cuantización.
Encuentra modelos pre-cuantizados con FP-Quant en la colección oficial de ISTA-DASLab.
torch.compile
FP-Quant es totalmente compatible con 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)Aceleraciones
FP-Quant actualmente ofrece el mejor rendimiento para el procesamiento con tamaños de lote muy grandes.
Consulte el README de QuTLASS para obtener información sobre las mejoras de velocidad.
Update on GitHub