Model quantization nedir? FP16, BF16, INT8 ve INT4 arasındaki trade-off'lar nelerdir? 70B bir model için ne kadar VRAM gerekir?
Cevap
Quantization, model ağırlıklarını (ve bazen aktivasyonları ve KV cache'i) daha düşük bitli sayı formatlarında saklamaktır. Bellek ve bant genişliği ihtiyacını azaltır. LLM decode aşaması memory-bandwidth-bound olduğu için genelde hızı da artırır.
Formatlar
| Format | Parametre başı | Not |
|---|---|---|
| FP32 | 4 byte | Eğitimde master ağırlıklar |
| FP16 | 2 byte | Dar dinamik aralık, overflow riski |
| BF16 | 2 byte | FP32 ile aynı üs aralığı, eğitim ve inference standardı |
| FP8 (E4M3/E5M2) | 1 byte | H100/H200 ve sonrası donanımda native destek |
| INT8 | 1 byte | Kalite kaybı genelde çok az |
| INT4 / NF4 | 0.5 byte | Belirgin bellek kazancı, dikkatli yöntemle kabul edilebilir kayıp |
VRAM hesabı (sadece ağırlıklar)
70B × 2 byte (BF16) ≈ 140 GB -> en az 2 × 80 GB GPU
70B × 1 byte (INT8) ≈ 70 GB -> tek 80 GB GPU (sınırda)
70B × 0.5 byte (INT4) ≈ 35 GB -> tek 48 GB GPUBunun üzerine KV cache, aktivasyonlar ve framework overhead'i eklenir. Pratikte %10–30 pay bırakılır. Tam fine-tuning için ise AdamW ve mixed precision ile parametre başına yaklaşık 16 byte (ağırlık, gradyan, iki optimizer state, FP32 master kopya) gerekir. 7B bir model bile aktivasyonlar hariç ~112 GB ister.
Yöntemler
- PTQ (post-training quantization): Eğitim sonrası uygulanır. Yaygın algoritmalar: GPTQ (küçük bir kalibrasyon verisiyle katman katman hata minimizasyonu), AWQ (önemli kanalları aktivasyonlara göre koruyarak), bitsandbytes (NF4/INT8), llama.cpp'nin GGUF formatları (CPU ve Apple Silicon için popüler).
- QAT (quantization-aware training): Eğitim sırasında quantization simüle edilir, düşük bitte daha iyi kalite.
- Weight-only vs weight+activation: W4A16 bellek kazandırır. W8A8 / FP8 ise compute'u da hızlandırır.
Trade-off'lar
- Kalite: 8-bit neredeyse kayıpsız, 4-bit genelde kabul edilebilir, 3-bit ve altında belirgin bozulma. Küçük modeller düşük bitten daha çok etkilenir.
- Görev hassasiyeti: Matematik, kod ve uzun reasoning gibi görevler kayba daha duyarlıdır. Mutlaka kendi eval setinizde ölçün.
- Hız her zaman artmaz: Donanım ilgili format için kernel desteği sunmuyorsa dequantization maliyeti kazancı yiyebilir.
İlgili LLM & Üretken YZ soruları
- RAG'de chunking stratejisi, hybrid search ve reranker neden önemlidir? Retrieval kalitesi düşükse ne yaparsınız?
- Şirket içi dokümanlar (Confluence, PDF, wiki) üzerinde soru cevaplayan bir RAG sistemi tasarlayın.
- Hangi prompt engineering tekniklerini kullanırsınız? Few-shot ve chain-of-thought ne zaman işe yarar?
- LLM'lerde temperature, top-k ve top-p (nucleus) sampling parametreleri ne işe yarar?
- Production'daki bir LLM uygulamasında maliyeti ve gecikmeyi (latency) nasıl düşürürsünüz?
- Prompt injection nedir? LLM tabanlı bir uygulamayı ve agent'ı buna karşı nasıl korursunuz?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.