vLLM kuantizasyonu: AWQ, GPTQ, FP8 ve INT4 arasında seçim
Her durumda en iyi olan bir format yoktur. Donanıma uyun, üretim görev setinde değerlendirin ve checkpoint'i kaydedin.
Özet
Büyük dil modellerini sunmak için her durumda en iyi olan bir kuantizasyon formatı yoktur. Bu rehber vLLM'de AWQ, GPTQ tarzı formatları, FP8 ve INT4'ü karşılaştırır, her birinin neyi değiştirdiğini ve ne zaman kullanılacağını açıklar ve donanım desteği ile üretim görev setindeki değerlendirmeye dayalı altı adımlı bir karar süreci verir. Her yöntemin arkasındaki araştırmayı özetler ve kuantize edilmiş bir checkpoint'i yönetişim altındaki bir artefakt olarak ele alır.
Anahtar kelimeler kuantizasyon · AWQ · GPTQ · FP8 · INT4 · vLLM
İçindekiler
Giriş
Kuantizasyon, egemen LLM altyapısının maliyetini düşürmek için en faydalı araçlardan biridir, ancak her durumda en iyi olan bir format yoktur.
Doğru seçim donanıma, model mimarisine, mevcut checkpoint'lere, gecikme hedeflerine ve kullanım senaryosunun ne kadar kalite kaybını tolere edebileceğine bağlıdır.
Güncel vLLM; AWQ, GPTQ tarzı formatlar, FP8, INT8, INT4, compressed-tensors ve daha yeni çevrimiçi kuantizasyon şemaları dahil geniş bir kuantizasyon yaklaşımı yelpazesini destekler.
Arka plan ve ilgili çalışmalar
Kuantizasyon sayısal değerleri daha az bite eşler. Alanın bir derlemesi, kayan noktadan dört bit veya daha az tamsayılara geçmenin teorik olarak bellek ayak izini ve gecikmeyi 16 kata kadar azaltabileceğini ve pratikte çoğu zaman 4 ila 8 katın elde edildiğini not eder[1].
Büyük dil modelleri için eğitim sonrası üç aile önemlidir. GPTQ ağırlıkları yaklaşık ikinci derece bilgi kullanarak tek seferde kuantize eder; yazarları 175 milyar parametreye kadar modellerde ağırlık başına 3 ila 4 bitle ihmal edilebilir doğruluk kaybı bildirir[2]. AWQ tüm ağırlıkların eşit derecede önemli olmadığını gözlemler ve geri yayılım (backpropagation) olmadan, aktivasyon istatistiklerinden seçilen önemli ağırlıkların yaklaşık %1'ini korur[3]. SmoothQuant, kuantizasyon zorluğunu aktivasyonlardan ağırlıklara taşıyarak 8 bit ağırlık ve aktivasyonları hedefler ve 1,56 kata kadar hızlanma ile 2 kat bellek azalması bildirir[4]. FP8 bir kayan nokta alternatifidir: yazarlarının görüntü ve dil görevlerinde 16 bit eğitimle eşleşen sonuçlar bildirdiği, iki kodlamalı 8 bitlik bir değişim formatı[5]. İnce ayar kuantize edilmiş ağırlıklar üzerinde de çalışabilir: QLoRA, dondurulmuş 4 bitlik bir model üzerinden düşük ranklı adaptörler eğitir[6].
Bu sonuçlar yazarların kendi modelleri, görevleri ve donanımları üzerinde ölçülmüştür. Bir formatı denemeyi haklı çıkarırlar. Üretim görev setinde değerlendirmenin yerini tutmazlar.
Kuantizasyon neyi değiştirir
Kuantizasyon ağırlıkları — ve bazı şemalarda aktivasyonları — daha düşük hassasiyette saklar.[1] Başlıca faydalar şunlar olabilir:
- daha düşük GPU bellek ayak izi;
- aynı donanımda daha büyük modeller;
- daha yüksek toplu işlem kapasitesi;
- istek başına daha düşük maliyet;
- bellekle sınırlı iş yüklerinde daha yüksek verim.
Ödünleşim, düşük hassasiyetin model kalitesini veya çekirdek (kernel) performansını değiştirebilmesidir. Bu nedenle her kuantize varyant aynı üretim görev setine karşı değerlendirilmelidir.
AWQ
AWQ, 4 bit dağıtım için yaygın, yalnızca ağırlıkları kuantize eden bir yaklaşımdır.[3] Açık modeller için yaygın olarak bulunur ve amaç daha büyük bir modeli kısıtlı bir GPU zarfına sığdırmak olduğunda cazip olabilir.
Şu durumlarda kullanın:
- yüksek kaliteli bir AWQ checkpoint'i zaten mevcutsa;
- hedef donanımın verimli, desteklenen bir çekirdek yolu varsa;
- bellek azaltımı tam hassasiyeti korumaktan daha önemliyse.
Bir AWQ checkpoint'inin her daha yüksek hassasiyetli alternatiften otomatik olarak daha hızlı olduğunu varsaymayın. Gerçek modeli ve donanımı benchmark edin.
GPTQ tarzı kuantizasyon
GPTQ ailesi formatlar da açık model ekosisteminde yaygındır ve güçlü bellek tasarrufu sağlayabilir.[2]
Mevcut bir checkpoint ve desteklenen bir backend donanımınızla uyumlu olduğunda işe yararlar. Yeni bir dağıtımda yalnızca checkpoint'in varlığına göre seçmek yerine onları compressed-tensors veya diğer güncel, vLLM'in kendi desteklediği yollarla karşılaştırın.
FP8
FP8, güçlü yerel desteğe sahip yeni nesil hızlandırıcılarda özellikle önemlidir.[5] Çok düşük bitli, yalnızca ağırlığı kuantize eden formatlardan daha fazla sayısal aralık koruyabilir ve BF16/FP16'ya göre bellek ve bant genişliği gereksinimlerini azaltır.
Güncel vLLM desteklenen yapılandırmalar için çevrimiçi FP8 tarzı kuantizasyonu da destekler; bu sayede bazı modeller ayrıca hazırlanmış bir checkpoint gerektirmeden yükleme anında dönüştürülebilir.
FP8'i şu durumlarda kullanın:
- donanım desteği güçlüyse;
- üretime uygun bir çekirdek yoluyla orta düzeyde bir hassasiyet azaltımı istiyorsanız;
- model ve iş yükü daha yüksek verimden veya daha düşük bellek baskısından fayda görüyorsa.
INT4 ve diğer 4 bit yollar
INT4 çok büyük bellek azaltımları sağlayabilir. Kurumsal sunum için temel soru, bu azaltımın sistem düzeyinde daha iyi bir sonuç yaratıp yaratmadığıdır.
Daha küçük bir ayak izi şunlara olanak verebilir:
- daha az GPU ile sunmak;
- eşzamanlı dizileri artırmak;
- KV önbelleğine daha fazla bellek ayırmak;
- daha büyük bir modeli tamamen tek bir düğüm içinde tutmak.
Ancak kalite ve performans etkisi modele özgüdür. Yalnızca genel benchmark puanlarını değil; araç çağırmayı, yapılandırılmış çıktıyı, retrieval dayanaklılığını ve uzun bağlam davranışını doğrulayın.
Pratik bir karar süreci
- BF16/FP16 taban çizgisi oluşturun. Kaliteyi, TTFT'yi, verimi ve belleği kaydedin.
- Hedef donanımın iyi desteklediği formatları seçin. Yavaş bir yedek çekirdeğe düşüren formatlardan kaçının.
- En az iki kuantize varyant test edin. Örneğin FP8 ile 4 bitlik bir checkpoint'i karşılaştırın.
- Alan değerlendirmelerini çalıştırın. Üretim gereksinimiyse araç çağrılarını, JSON geçerliliğini, çok dilli prompt'ları ve RAG'i dahil edin.
- Yalnızca tek istek hızını değil, eşzamanlılığı ölçün. Bellek tasarrufu çoğu zaman toplu işleme yoluyla değer yaratır.
- Model artefaktını yeniden üretilebilir tutun. Kuantizasyon yöntemini, kaynak checkpoint'i, kullanıldıysa kalibrasyon verisini ve çalışma ortamı sürümünü kaydedin.
Kuantizasyon yönetişimin bir parçasıdır
Düzenlemeye tabi veya riskin yüksek olduğu sistemlerde bir modelin sayısal temsilini değiştirmek önemli bir dağıtım değişikliğidir. Yeni bir kuantize checkpoint'i yeni, değerlendirilmiş bir artefakt olarak ele alın.
Model kaydı şunları içermelidir:
- temel model;
- kuantizasyon formatı ve araç zinciri;
- checkpoint hash'i/sürümü;
- değerlendirme sonucu;
- hedef donanım;
- kabul kararı.
Birincil kaynaklar
İlgili okumalar
Kaynakça
- Gholami, A., Kim, S., Dong, Z., Yao, Z., Mahoney, M. W., & Keutzer, K. (2021). A survey of quantization methods for efficient neural network inference. arXiv preprint arXiv:2103.13630. arxiv.org/abs/2103.13630
- Frantar, E., Ashkboos, S., Hoefler, T., & Alistarh, D. (2023). GPTQ: Accurate post-training quantization for generative pre-trained transformers. International Conference on Learning Representations (ICLR 2023). arxiv.org/abs/2210.17323
- Lin, J., Tang, J., Tang, H., Yang, S., Chen, W.-M., et al. (2024). AWQ: Activation-aware weight quantization for LLM compression and acceleration. Proceedings of Machine Learning and Systems (MLSys 2024). arxiv.org/abs/2306.00978
- Xiao, G., Lin, J., Seznec, M., Wu, H., Demouth, J., & Han, S. (2023). SmoothQuant: Accurate and efficient post-training quantization for large language models. Proceedings of the 40th International Conference on Machine Learning (ICML 2023). arxiv.org/abs/2211.10438
- Micikevicius, P., Stosic, D., Burgess, N., Cornea, M., Dubey, P., et al. (2022). FP8 formats for deep learning. arXiv preprint arXiv:2209.05433. arxiv.org/abs/2209.05433
- Dettmers, T., Pagnoni, A., Holtzman, A., & Zettlemoyer, L. (2023). QLoRA: Efficient finetuning of quantized LLMs. arXiv preprint arXiv:2305.14314. arxiv.org/abs/2305.14314
Her kaynak yayıncı, arXiv veya resmî kayıt üzerinden doğrulanmıştır.
Nasıl atıf yapılır
LMXAI. (2026). vLLM kuantizasyonu: AWQ, GPTQ, FP8 ve INT4 arasında seçim. LMXAI İçgörüler. https://lmxai.com/tr/insights/vllm-quantization-awq-gptq-fp8-int4.html