Kuantizasyon (Quantization)

Kuantizasyon, bir modelin ağırlıklarını ve/veya aktivasyonlarını saklamak için kullanılan sayısal hassasiyeti azaltan bir model sıkıştırma tekniğidir — örneğin, ağırlıkları 16 bit kayan noktadan (FP16) 8 bit tam sayıya (INT8) veya hatta 4 bit'e (INT4) dönüştürmek — modelin bellek ayak izini çarpıcı biçimde küçültür ve çıkarımı hızlandırır; bunun karşılığında bir miktar doğruluk kaybı olur (dikkatli yapıldığında genellikle küçüktür). Bu, pratik yapay zeka dağıtımı için son derece önemlidir çünkü model boyutu, hangi donanıma ihtiyacınız olduğunu ve çıkarımın ne kadar hızlı/ucuz çalıştığını doğrudan belirler: 70 milyar parametreli bir model tam FP16 hassasiyetinde yalnızca yüklemek için yaklaşık 140 GB GPU belleği gerektirir; bu da birden fazla pahalı, üst düzey GPU gerektirir; aynı model 4 bit'e kuantize edildiğinde yaklaşık 35 GB gerektirir ve çoğu görev için yalnızca mütevazı bir kalite ödünleşimiyle tek bir tüketici veya prosumer GPU'ya sığar. SaaS geliştiricileri için kuantizasyon, açık ağırlıklı modelleri (Llama, Mistral, Qwen) kendi sunucularında barındırmayı ekonomik olarak uygulanabilir kılan temel kaldıraçtır ve API sağlayıcıları tarafından da modelleri ölçekte daha hızlı ve ucuz sunmak için dahili olarak kullanılır — bir sağlayıcı "hızlı" veya "mini" bir katman sunduğunda, kuantizasyon (gerçekten daha küçük model mimarileriyle birlikte) genellikle bunu nasıl başardıklarının bir parçasıdır. Somut bir örnek: bir girişim, şirket içi/veri egemenliği nedenleriyle bir kod tamamlama modelini kendi sunucusunda barındırmak istiyor. Tam hassasiyetli 34 milyar parametreli model ~68 GB VRAM gerektirir — tek bir A100 GPU (80 GB, ama ek yük ile sıkışık) için çok büyük. GPTQ veya AWQ gibi bir teknik kullanarak 4 bit kuantizasyon uygulandığında, aynı model yaklaşık 18 GB'a küçülür; tek bir tüketici sınıfı RTX 4090'a (24 GB) rahatça sığar ve çıkarım hızı iyileşir çünkü bellek üzerinden daha az veri taşınması gerekir — bu genellikle LLM çıkarımındaki gerçek darboğazdır, ham hesaplama değil. Kuantizasyon bedava değildir: agresif kuantizasyon (4 bit'in altında) çıktı kalitesini ölçülebilir şekilde düşürebilir, özellikle hassas akıl yürütme gerektiren görevlerde; bu yüzden üretim dağıtımları tipik olarak göndermeden önce kuantize edilmiş model kalitesini tam hassasiyetli temel çizgiyle kıyaslar. Farklı kuantizasyon yöntemleri hız, bellek ve doğruluğu farklı şekillerde takas eder; kendi sunucularında model barındıran geliştiricilerin ana aileleri bilmesi gerekir: GPTQ ve AWQ gibi eğitim-sonrası kuantizasyon (post-training quantization, PTQ) yöntemleri, zaten eğitilmiş bir modeli yeniden eğitmeden kuantize eder, uygulaması hızlıdır ama çok düşük bit genişliklerinde biraz daha fazla doğruluk kaybı vardır; kuantizasyon-farkında eğitim (quantization-aware training, QAT) hassasiyet azaltmayı eğitimin kendisine dahil eder, genellikle daha fazla doğruluk korur ama modeli yeniden eğitmek için erişim gerektirir; bu kapalı modellerle mümkün değildir ve açık ağırlıklarla bile pahalıdır. Açık ağırlıklı bir modeli kendi sunucusunda barındıran çoğu SaaS geliştiricisi için, iyi desteklenen bir kütüphane (llama.cpp, GGUF veya bitsandbytes gibi) aracılığıyla 8 bit veya 4 bit PTQ kuantizasyonu pratik varsayılan seçimdir; taahhüt vermeden önce gerçek görevinizde tam hassasiyetli temel çizgiye karşı kıyaslanmalıdır.

İlgili terimler

Daha fazla Temel Yapay Zeka terimi