Transformers documentation
Bir modeli dekuantize etme
Bir modeli dekuantize etme
Dequantizing, kuantize edilmiş ağırlıkları bf16 gibi daha yüksek hassasiyetli bir dtype'a geri dönüştürür. Bir modeli tamamen ince ayarlamak, yöntemin çekirdeklerinin desteklemediği donanımda çalıştırmak veya başka bir formata dönüştürmek için modeli dequantize edin. Sonuç, kuantize edilmemiş bir model kadar bellek kullanır ve yuvarlama nedeniyle kaybedilen doğruluğu geri kazanmaz.
Transformers, yönteme bağlı olarak iki şekilde dequantize eder.
| Yöntem | Dequantize nasıl yapılır |
|---|---|
| bitsandbytes, HIGGS | Yükleme işleminden sonra dequantize() çağırın. |
| compressed-tensors, İnce taneli FP8, GGUF, Metal, MXFP4 | Yükleme sırasında yöntemin yapılandırmasına dequantize=True parametresini iletin. |
Diğer yöntemler dequantize() içinden NotImplementedError fırlatır.
Yükleme sonrası dequantize et
Yüklenen bir modelde dequantize() çağırın. Varsayılan olarak modelin yüklendiği dtype kullanılır. Farklı bir değer seçmek için dtype parametresini iletin.
import torch
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-0.6B",
quantization_config=BitsAndBytesConfig(load_in_4bit=True),
device_map="auto",
)
model = model.dequantize(dtype=torch.bfloat16)dequantize() ayrıca quantization_config öğesini de kaldırır, bu nedenle save_pretrained() normal tam hassasiyetli bir kontrol noktası kaydeder.
Yükleme sırasında dequantize et
Destekleyen bir yöntemin yapılandırmasına dequantize=True parametresini iletin. Ağırlıklar yükendikçe dequantize edilir, bu nedenle quantize edilmiş çekirdekler asla kullanılmaz. Aşağıdaki örnek, gpt-oss'un MXFP4 ağırlıklarını bf16 olarak yükler.
from transformers import AutoModelForCausalLM, Mxfp4Config
model = AutoModelForCausalLM.from_pretrained(
"openai/gpt-oss-20b",
quantization_config=Mxfp4Config(dequantize=True),
device_map="auto",
)Bazı yöntemler, çekirdekleri çalıştırılamadığında otomatik olarak dequantize eder. Örneğin GGUF, dosyanın kuantizasyon türlerini destekleyen bir çekirdek yoksa dequantize etmeye geri düşer.
Update on GitHub