📖

Kuantizasyon nedir?

YZ'de kuantizasyon, ağırlıkların ve aktivasyonların sayısal hassasiyetini düşürerek sinir ağlarının daha hızlı çalışmasını ve daha az bellek kullanmasını sağlayan, genellikle minimum doğruluk kaybıyla sonuçlanan bir model sıkıştırma tekniğidir.

YZ'de kuantizasyon, bir sinir ağının ağırlıkları ve aktivasyonlarının sayısal hassasiyetini azaltan bir model sıkıştırma tekniğidir. Her parametre 32 bitlik kayan noktalı sayı olarak saklanmak yerine, kuantize edilmiş modeller 8 bit, 4 bit veya daha düşük biçimler kullanır. Bellek ve hesaplama, bit sayısıyla orantılı olduğundan bu tek değişiklik bir modeli 2-8 kat küçültebilir ve çıkarımı hızlandırarak büyük modellerin telefonlarda, dizüstü bilgisayarlarda, tarayıcılarda ve gömülü cihazlarda çalıştırılmasını pratik hale getirebilir.

Kuantizasyon nasıl çalışır

Her ağırlık başlangıçta kesin bir gerçek sayıdır, ancak bu hassasiyetin çoğu nadiren gereklidir. Kuantizasyon, orijinal değer aralığını temsil edilebilir daha küçük bir seviye kümesine eşler. Eğitim sonrası kuantizasyonda (PTQ) tamamen eğitilmiş bir model genellikle kayan noktalı ağırlıklar daha dar bir tamsayı aralığına sığacak şekilde ölçeklenerek bir kez dönüştürülür. quantized = round(weight / scale) + zero_point formundaki basit bir doğrusal eşleme işin büyük bölümünü halleder ve aynı scale ve zero_point değerleri, çıkarım sırasında çıktıları tekrar kayan noktalı sayılara dönüştürmek için kullanılır.

Örneğin, 8 bitlik bir tamsayı yalnızca 256 farklı değer temsil edebilir; bu nedenle ağırlıkları başlangıçta float32'de [-1.0, 1.0] aralığında olan bir katman, bunları 256 eşit aralıklı adıma ayırmalıdır. Bu adımlar gerçek ağırlık dağılımına ne kadar iyi ayarlanırsa, doğruluk kaybı o kadar az olur. Daha iyi sonuçlar için kuantizasyon farkındalığıyla eğitim (QAT), ince ayar sırasında yuvarlama hatalarını simüle ederek modelin gürültüye uyum sağlamasını sağlar ve genellikle orijinal doğruluğun neredeyse tamamını geri kazandırır.

Neden önemlidir

Kuantizasyon, milyarlarca parametreli bir modelin birkaç gigabayt RAM'e sığmasını ve dizüstü bilgisayar CPU'sunda bir saniyenin çok altında yanıt vermesini sağlayan şeydir. Enerji tüketimini azaltır, sunucu maliyetlerini düşürür ve gizliliğe duyarlı veya çevrimdışı kullanım senaryoları için cihaz üzerinde YZ'nin önünü açar. Aynı zamanda donanımla da etkileşir: modern GPU'lar, NPU'lar ve CPU'lar özel INT8 ve INT4 matris birimleriyle gelir; bu nedenle kuantize edilmiş bir model, aynı modelin float32 sürümünden birkaç kat daha hızlı çalışabilir.

Temel türler

  • Eğitim sonrası kuantizasyon (PTQ): Zaten eğitilmiş bir modeli dönüştürür. En ucuz seçenek, küçük doğruluk düşüşü.
  • Kuantizasyon farkındalığıyla eğitim (QAT): Eğitim sırasında kuantizasyonu simüle ederek ağırlıkların uyum sağlamasını sağlar. Daha iyi doğruluk, ek hesaplama gerektirir.
  • Dinamik kuantizasyon: Ağırlıkları düşük hassasiyette tutar ancak aktivasyonları anlık olarak hesaplar. Değişken dizi uzunluklarına sahip NLP modelleri için kullanışlıdır.
  • Yalnızca ağırlık kuantizasyonu: Ağırlıkları 4 bit veya daha düşük biçimde saklar, anlık olarak dekuantize eder. Büyük dil modellerini sunmak için yaygındır.
  • GPTQ, AWQ, GGUF: Doğruluğu korumak için farklı şemalar uygulayan 4 bit LLM kuantizasyonu için popüler algoritmalar ve dosya biçimleri.

Kuantizasyon, YZ dağıtım hattında varsayılan bir adım haline geldi. PyTorch'un torch.quantization, NVIDIA TensorRT ve ONNX Runtime gibi araçlar bu teknikleri üretim yığınlarına entegre ederek ekiplerin küçük bir miktar doğruluk karşılığında hız, bellek ve maliyette önemli kazanımlar elde etmesini sağlar.

Sıkça Sorulan Sorular

Does quantization reduce AI accuracy?
It can, but usually only slightly. Aggressive quantization to 4-bit can cause noticeable drops on harder tasks, while 8-bit quantization typically preserves accuracy within about 1% of the original model. Quantization-aware training helps recover most of any lost accuracy.
What is the difference between quantization and pruning?
Quantization reduces the precision of each individual number, while pruning removes entire weights or neurons that contribute little. They are complementary compression techniques, and combining them can yield even smaller, faster models.
Why is 4-bit quantization popular for LLMs?
Large language models have billions of parameters, so halving the bit width roughly halves memory use and often lets a model that needs an 80GB GPU run on a single 24GB consumer GPU. Methods like GPTQ, AWQ, and GGUF tune the quantization to preserve quality at 4 bits.
Can quantization be undone?
No. Quantization is a lossy mapping, so original full-precision weights cannot be perfectly recovered. However, the dequantized values used at inference time are close enough that downstream outputs are usually indistinguishable from the original model.