Nicemleme (quantisation)
Kısaca: Nicemleme, bir modelin ağırlıklarını daha az bitle saklar (örneğin 16 yerine 4). Bu bellek tasarrufu sağlar ve modeli hızlandırır, ancak biraz kaliteden ödün verilir.
Biraz daha ayrıntılı: 16 bit kayan noktalı bir ağırlık 2 bayt, 8 bitlik 1 bayt, 4 bitlik yarım bayt gerektirir. Hız bellek bant genişliğine bağlı olduğundan, 4 bitlik bir model aynı modelin 16 bitlik haline göre kabaca dört kat hızlıdır.
Bizim bağlamımız: Yapay zekâ hız hesaplayıcısında nicemlemeyi seçebilir veya otomatik belirlenmesine izin verebilirsiniz.
Ayrıntılı
- Yaygın seviyeler: Q8_0 (neredeyse kayıpsız), Q6_K, Q5_K_M, Q4_K_M (iyi bir uzlaşma), Q3, Q2 (belirgin kayıplar).
- Ağırlık başına bit: Ölçek değerleri de saklandığından Q4_K_M etkin olarak yaklaşık 4,8 bittir.
- Kalite kaybı: Büyük modellerde çoğunlukla küçük, küçüklerde daha belirgindir. 3 bitin altında kalite ciddi biçimde düşer.
- Biçimler: GGUF (llama.cpp), GPTQ, AWQ, EXL2, bitsandbytes, FP8.
- Eğitim ve çalıştırma: Nicemleme genellikle eğitimden sonra, çalıştırma için yapılır.
Ayrıca bak: VRAM ve model boyutu, GGUF ve llama.cpp, Sayı biçimleri: FP32, FP16, BF16 ve FP8