Model uyarlama

Quantization

Nicemleme · kuantizasyon

Modelin her ağırlığını saklamak için kullanılan bit sayısını, örneğin 16'dan 4'e düşürmek; model böylece daha az bellek ister ve daha hızlı çalışır, karşılığında kaliteden biraz kaybeder.

HER AĞIRLIK DAHA KABA BİR ÖLÇEĞE YUVARLANIR16 bit: 0,73124…65.536 olası değer4 bit: 0,7516 olası değer7 MİLYAR PARAMETRELİ MODELİN BOYUTU · temsili16 bit14 GB4 bit3,5 GBdizüstü belleği: 8 GB200 test sorusunda doğruluk: %91 → %89Model aynı modeldir; yalnızca sayıları daha az bit ile saklanır. Kayıp en çok zor işlerde görünür.

şemanın tamamı için kaydırın →

MEmehmeterkek.com/sozluk/quantization

Sade anlatım

Daha düşük kalitede kaydedilen bir fotoğraf yine aynı fotoğraftır: dosya çok daha küçüktür, ince ayrıntı biraz azalır ve çoğu amaç için kimse fark etmez. Quantization bir modele bunu yapar. Milyarlarca sayısının her biri daha kaba bir ölçeğe yuvarlanır; fiyatları kuruşun kesirlerinden tam kuruşa yuvarlamak gibi. Model biçimini ve bilgisini korur, dörtte bir yer kaplar ve neredeyse her zaman aynı yanıtları verir.

Neden önemli

Bir modelin nerede çalışabileceğini quantization belirler. Birkaç ekran kartlı bir sunucu ile tek kartlı bir sunucu ya da bulut ile bir dizüstü bilgisayar veya telefon arasındaki fark budur; bu da maliyet, çevrimdışı kullanım ve verinin kendi donanımınızda kalması açısından önemlidir. Açık ağırlıklı modellerin çoğu nicemlenmiş biçimde kullanılır. Bedeli kalite kaybıdır: 8 bit'te küçüktür, 4 bit'te genellikle kabul edilebilir, onun altında hızla büyür ve ilk olarak en zor işlerde görülür. Kaybı kendi işinizde ölçün; yayımlanan ortalamalar sizin için önemli olan vakaları gizler.

Örnek

Bir mühendislik şirketi, saha mühendislerinin dizüstü bilgisayarlarında çevrimdışı çalışan bir asistan istiyor. Seçtiği modelin 7 milyar parametresi var: 16 bit'te 14 GB eder ve 8 GB grafik belleği olan dizüstüler için fazla büyüktür. 4 bit'lik sürüm yaklaşık 3,5 GB ister ve bir insanın okuma hızından daha hızlı yazar. Şirketin 200 test sorusunda doğruluk %91'den %89'a iniyor. Şirket bu iki puanlık kaybı kabul ediyor.

Bununla en çok karıştırılan kavram

Quantization ve Distillation (damıtma) arasındaki fark

QuantizationAynı model; her sayı daha az bit ile saklanır
Distillation (damıtma)Özgün modeli taklit eden yeni ve küçük bir model

Quantization bir sıkıştırmadır: alışılmış biçiminde yeni eğitim gerektirmez, dakikalar içinde yapılır ve özgün dosyaya dönülerek geri alınır. Damıtma ise öğretmektir: veri, bir eğitim süreci ve yeni bir test turu ister, daha az parametreli bir model üretir. Zaten güvendiğiniz bir modeli daha küçük donanıma sığdırmak için quantization'ı seçin; sıkıştırılmış model bile fazla büyük ya da yavaş kalıyorsa damıtmayı.

Teknik katman

Ağırlıklar normalde 32 ya da 16 bit'lik kayan noktalı sayılar olarak eğitilir. Quantization bunları az sayıda düzeye eşler: 8 bit, 4 bit, bazen daha da azı. Bellek aynı oranda düşer: 7 milyar parametreli bir model 16 bit'te yaklaşık 14 GB, 4 bit'te yaklaşık 3,5 GB tutar; buna çalışma belleği eklenir. İki yaklaşım vardır: bitmiş bir modele, bazen küçük bir kalibrasyon veri kümesiyle uygulanan eğitim sonrası quantization ve yuvarlamayı eğitim sırasında taklit eden, daha az kayıp veren quantization-aware training. Bilinen yöntemler arasında GPTQ ve AWQ vardır; GGUF, llama.cpp ekosisteminin dosya biçimidir ve Q4_K_M gibi adlar bit genişliğini belirtir; bitsandbytes kütüphanesi modelleri 8 ya da 4 bit olarak yükler. Ağırlıkların yanında aktivasyonlar da nicemlenebilir. Hız kazancı, donanımın düşük hassasiyetli aritmetiği ne ölçüde desteklediğine bağlıdır. Tuzaklar: benchmark'larda iyi görünüp nadir vakalarda bozulan kalite ve farklı bit genişliğindeki modelleri bunu belirtmeden karşılaştırmak.

Yazan Mehmet Erkek · Son güncelleme: