Transformers documentation

NVFP4

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

NVFP4

Kuantisasi NVFP4 mengemas bobot linear presisi penuh ke dalam format floating-point 4-bit NVIDIA saat model dimuat. NVFP4Config mengganti modul torch.nn.Linear yang memenuhi syarat dan tanpa bias, di mana in_features dan out_features keduanya habis dibagi 16, dengan implementasi linear NVFP4 dari NVFP4 Hub kernel. Antarmuka attention dan MLP model tidak diganti.

NVFP4 memerlukan GPU Blackwell dengan compute capability 10.0 atau lebih baru, build PyTorch yang kompatibel dengan CUDA, dan paket kernels.

Instal Accelerate dan versi kernels yang kompatibel.

pip install --upgrade accelerate kernels

Lewatkan NVFP4Config ke from_pretrained() dengan satu perangkat CUDA. Bobot akan dikuantisasi saat dimuat, sehingga checkpoint sumber harus berisi bobot floating-point.

import torch

from transformers import AutoModelForCausalLM, AutoTokenizer, NVFP4Config


model_id = "meta-llama/Llama-3.2-1B"
quantization_config = NVFP4Config()
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype=torch.bfloat16,
    device_map="cuda",
    quantization_config=quantization_config,
)

tokenizer = AutoTokenizer.from_pretrained(model_id)
inputs = tokenizer("NVFP4 is", return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(output[0], skip_special_tokens=True))

Gunakan modules_to_not_convert untuk mempertahankan modul tertentu pada presisi aslinya.

quantization_config = NVFP4Config(modules_to_not_convert=["vision", "lm_head"])

Modul linear NVFP4 mendukung torch.compile. Panggilan terkompilasi pertama kali mencakup waktu kompilasi graf, sehingga panaskan model terlebih dahulu sebelum mengukur throughput generasi.

Batasan saat ini

  • Hanya satu perangkat CUDA yang didukung. Konfigurasi paralel tensor dan multi-perangkat device_map akan ditolak sampai perilaku sharding metadata skala NVFP4 didefinisikan.
  • CPU dan disk offload tidak didukung.
  • Checkpoint NVFP4 yang sudah di-kuantisasi sebelumnya tidak didukung.
  • Model NVFP4 saat ini tidak dapat diserialisasi dengan save_pretrained() atau dilatih.
Update on GitHub