Transformers documentation

FP-Quant

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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