AI Sözlüğü
İleri· ~2 dk okuma#quantization#compression#inference

Quantization

Niceleme — Model Sıkıştırma

Modelin ağırlıklarını daha düşük hassasiyetle (FP16 → INT8 → INT4) saklama tekniği. Boyut + bellek + maliyet düşer, az miktarda doğruluk kaybı olur.

HASSASİYETİ DÜŞÜR — BOYUTU KÜÇÜLT70B parametreli model:FP32280 GBorijinalFP16140 GBINT870 GBINT435 GB8× küçükINT4 quant: laptop'ta 70B model çalıştırmayı mümkün kılar — küçük doğruluk kaybıyla
Tanım

Bir model eğitildiğinde ağırlıklar genelde FP32 (32-bit floating-point) olarak saklanır. Quantization, bu sayıları daha az bit ile temsil eder: FP16, INT8, INT4. Her ağırlık 32 bit yerine 4 bit alır = 8× daha az bellek.

Yöntem türleri: - PTQ (Post-Training Quantization): eğitim bittikten sonra ağırlıkları küçült. Hızlı ama biraz doğruluk kaybı. - QAT (Quantization-Aware Training): eğitim sırasında modelin düşük hassasiyete uyum sağlamasını öğret. Daha iyi doğruluk, daha pahalı eğitim. - GPTQ, AWQ, GGUF: pratikte kullanılan algoritmalar/formatlar.

Sonuç: 70B Llama bir tüketici GPU'sunda (24 GB VRAM) çalışabilir hale gelir. Ya da telefonda 7B model çalıştırabilirsin. Ortalama doğruluk kaybı INT8'de %1-2, INT4'te %3-5 — kabul edilebilir.

Benzetme

Bir resmi 24-bit renkten 8-bit'e düşürmek gibi. 16M renk yerine 256 renk. Resim hâlâ tanınır, sadece detaylarda hafif bir kayıp var. Quantization da öyle: ağırlıkların hassasiyeti azalır ama model "görüntüsü" çoğunlukla korunur.

Gerçek dünyadan örnek

Llama-3-70B'i kendi laptop'ında çalıştırmak istiyorsun. FP16'da 140 GB VRAM gerekir — imkansız. Çözüm:

1. llama.cpp ile model GGUF formatına çevir, Q4_K_M (4-bit) quantize et: dosya 140 GB → 40 GB. 2. M2 Max MacBook'ta 36 GB unified memory ile çalışır. 3. Inference hızı: ~12 token/saniye (insan okumaya yakın). 4. Doğruluk kaybı: %3-4, çoğu görev için fark edilmez.

2023'ten önce 70B model evde imkansızdı; bugün quantization sayesinde standart pratik. Hugging Face'de her popüler modelin GGUF/AWQ versiyonu hazır.

Ne zaman kullan
  • Sınırlı VRAM/GPU bütçesiyle büyük model çalıştırmak
  • Edge deployment (telefon, embedded device, browser)
  • Inference maliyetini düşürmek (cloud GPU saati pahalı)
  • Aynı GPU'da daha fazla concurrent kullanıcı sığdırmak
Ne zaman kullanma
  • Hassas alanlarda (tıbbi tanı, finansal analiz) — küçük doğruluk kaybı maliyetli olabilir
  • Eğitim için — quantization inference içindir, training için değil
  • Model çok küçükse (~1-3B) — overhead, kazanca değmez
  • Edge case'lerde (uzun bağlam, multilingual) — quantize edilmiş modeller bazı görevlerde belirgin düşer
Sık yapılan hatalar

Doğruluk kaybını ölçmek zor

Genel benchmark'lar (MMLU, HumanEval) az düşüş gösterir ama senin spesifik kullanım senaryon farklı düşebilir. Mutlaka kendi eval setinde test et.

Tüm katmanları aynı quantize etmemek

Mixed precision: bazı katmanlar (attention output) FP16, diğerleri INT4. AWQ, GPTQ bunu otomatik yapar. Naive 'her şeyi INT4'le' kötü sonuç verir.

Format/araç uyumsuzluğu

GGUF (llama.cpp), GPTQ (Hugging Face), AWQ, EXL2 — farklı framework'ler farklı format kullanır. Üretim ortamına geçmeden önce hangi servis hangi formatı destekliyor kontrol et.