Transformers documentation
NVFP4
NVFP4
NVFP4 kuantizasyonu, bir model yüklenirken tam hassasiyetli doğrusal ağırlıkları NVIDIA’nın 4 bitlik kayan nokta formatına paketler. NVFP4Config, in_features ve out_features değerleri 16’ya tam bölünebilen, uygun bias’sız torch.nn.Linear modüllerini, NVFP4 Hub çekirdeğinden gelen bir NVFP4 doğrusal uygulamasıyla değiştirir. Modelin dikkat ve MLP arayüzleri değiştirilmez.
NVFP4, hesaplama yeteneği 10.0 veya daha yeni olan bir Blackwell GPU, uyumlu CUDA destekli bir PyTorch derlemesi ve kernels paketini gerektirir.
kernels ve Accelerate ile uyumlu bir sürümünü yükleyin.
pip install --upgrade accelerate kernels
Tek bir CUDA cihazıyla NVFP4Config nesnesini from_pretrained() fonksiyonuna iletin. Ağırlıklar, yüklendikleri sırada kuantize edilir; bu nedenle kaynak kontrol noktası (checkpoint) kayan noktalı (floating-point) ağırlıklar içermelidir.
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))Seçili modüllerin orijinal hassasiyetlerinde kalmasını sağlamak için modules_to_not_convert kullanın.
quantization_config = NVFP4Config(modules_to_not_convert=["vision", "lm_head"])NVFP4 lineer modülleri torch.compile destekler. İlk derlenmiş çağrı, grafik derleme süresini içerdiğinden, üretim verimliliğini ölçmeden önce modeli ısıtın.
Mevcut kısıtlamalar
- Yalnızca bir CUDA cihazı desteklenir. NVFP4 ölçek meta verilerinin parçalama davranışı tanımlanana kadar tensör paralelliği ve çoklu cihaz
device_mapyapılandırmaları reddedilir. - CPU ve disk offload desteklenmez.
- Önceden kuantize edilmiş NVFP4 checkpoint'leri desteklenmez.
- NVFP4 modelleri şu anda save_pretrained() ile serialize edilemez veya eğitilemez.