Transformers documentation
FP-Quant
FP-Quant
FP-Quant — это семейство алгоритмов квантования, адаптированных для поколения GPU Nvidia Blackwell. Цель — обеспечить эффективное постобучающее квантование (PTQ) и обучение с учётом квантования (QAT) LLM в форматах MXFP4 и NVFP4.
This integration accompanies the pre-print of the Bridging the Gap Between Promise and Performance for Microscaling FP4 Quantization pre-print.
В настоящее время QAT поддерживается только при pseudoquantization=True. Модели можно квантовать на лету с помощью 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,
)или предварительно обработанных с помощью GPTQ для более высокого качества (см. FP Format Quantization Harness).
Вы можете выбрать между MXFP4 и NVFP4 с помощью FPQuantConfig(forward_dtype="mxfp4"). NVFP4 обеспечивает лучшее качество, но потребляет немного больше памяти.
Для запуска ядер требуется GPU поколения Blackwell. Поддержка FP-Quant во время выполнения реализована через библиотеку QuTLASS и легковесный интерфейс PyTorch fp_quant. Мы рекомендуем установить первую из исходного кода, а вторую — с помощью pip install fp_quant.
Пользователи без GPU поколения Blackwell могут использовать метод с quantization_config=FPQuantConfig(pseudoquantization=True) без установки QuTLASS. Это не даст ускорения, но полностью эмулирует эффект квантования.
Найдите модели, предварительно квантованные с помощью FP-Quant, в официальной коллекции ISTA-DASLab.
torch.compile
FP-Quant полностью совместим с 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)Ускорения
FP-Quant в настоящее время показывает наилучшие результаты при обработке очень больших размеров батча.
См. README QuTLASS для информации об ускорении.
Update on GitHub