Varyantı bit sayısının ötesinde tanımlayın
Yöntemi, uygulamasını, sürümünü ve yapıtın tam revizyonunu belirtin. İki dört bit varyantı farklı gösterimler, gruplar, üst veriler ve kernel'ler kullanabilir. Ağırlıkların depolama formatını hesaplama işlemlerinin formatından ayırın. Ayrıca başka bir hassasiyette tutulan modülleri ve CPU'ya yapılan herhangi bir aktarımı da not edin.
bitsandbytes'te nicelemiş doğrusal katmanlar bazı sıradan katmanların yerini alır; diğer modüller yapılandırılmış dtype'larını izler. Bu davranış tek başına sürecin zirvesini tanımlamaz. Yüklemeden sonra etkin yapılandırmayı okuyun, ardından varyantın farklı bir yazılım geri dönüşü yerine beklenen işlemeyi gerçekten gerçekleştirdiğini doğrulayın.
| Alan | Saklanması gerekenler | Önlenen karışıklık |
|---|---|---|
| Köken | Model, revizyon, tokenizer, yöntem ve sürümler | Aynı ad altında iki farklı modeli karşılaştırmak |
| Ağırlıklar | Format, bit, gruplar ve hariç tutulan modüller | Dört biti tek bir tarifle bir tutmak |
| Hesaplama | Gerçekte kullanılan dtype, kernel'ler ve aygıtlar | Depolama ile yürütmeyi karıştırmak |
| Üretim | Önbellek, bağlam, çıktı sınırları ve eşzamanlılık | Önbellekten gelen bir etkiyi ağırlığa atfetmek |
| Üretim | Olası kalibrasyon ve veri revizyonu | Yapıtın nasıl üretildiğini unutmak |
Teknik kaynaklar: Hugging Face Transformers 5.17 — nicelemiş katmanlar ve diğer dtype'lar
Kalibrasyon ve değerlendirmeyi ayırın
Bazı yöntemler nicelemeyi hazırlamak için örnekler kullanır. Transformers'ta belgelenen GPTQ prosedürü özellikle bir kalibrasyon kümesi ve bir tokenizer gerektirir. Bu küme yapıtın üretimine katılır: bağımsız bir kalite kanıtı oluşturmaz. Diğer yöntemler farklı bir yol izler; aynı kalibrasyon protokolünün tüm formatlara uygulandığını varsaymayın.
Kalibrasyon örneklerini modeli hazırlamak için izin verilen verilerde ayırın, ardından tanımlayıcıları, kaynağı, uzunlukları ve uygulanan dönüşümü kaydedin. Ayarları seçmek için doğrulamayı, onay için son testi saklayın. Puanlarını karşılaştırdıktan sonra birden çok kalibrasyon kümesi seçerseniz, bu araştırma geliştirmenin bir parçasıdır ve bilançoya yazılmalıdır.
Teknik kaynaklar: Hugging Face Transformers 5.17 — GPTQ nicelemesinin kalibrasyonu · Bölümleri rollerine göre oluşturun
Bir ağırlık sınırını zirve olarak satmadan hesaplayın
Üç milyar parametreli, tümü aynı bit sayısında saklanan varsayımsal bir model ele alalım. Brüt hacim parametreler × bit / 8 ile hesaplanır. 16 bitte 6 milyar bayt; 8 bitte 3 milyar; 4 bitte 1,5 milyar elde edilir. Bu sayılar açıklayıcı bir aritmetiktir, bir yapıtın gözlemlenen boyutları veya çalıştırılan bir modelin ihtiyaçları değildir.
16 ile 4 bit arasındaki brüt fark 4,5 GB, yani yaklaşık 4,191 GiB'dir. Ölçekleri, üst verileri, nicelemmemiş modülleri, önbelleği ve geçici dosyaları hariç tutar. Zirvenin dörde bölünmesini öngörmeden, doğrulanacak bir bellek hipotezi formüle etmeyi sağlar. Bellek dosyası, aşamaların nasıl ayrılacağını ve sayaçların nasıl yorumlanacağını açıklar.
| Varsayılan format | Brüt bayt | Ondalık GB | Yaklaşık GiB |
|---|---|---|---|
| 16 bit | 6 000 000 000 | 6 | 5,588 |
| 8 bit | 3 000 000 000 | 3 | 2,794 |
| 4 bit | 1 500 000 000 | 1,5 | 1,397 |
Teknik kaynaklar: NIST — ikili ve ondalık önekler · IteraGPU — tahminler ve bellek zirveleri
Önbelleği değiştirmeden önce ağırlıkları değiştirin
Davranışını bildiğiniz bir referansla başlayın. Ardından ağırlık varyantlarını aynı önbellek, aynı uzunluklar, aynı batch veya aynı eşzamanlılık ile karşılaştırın. Bu parametreleri de değiştirirseniz, tam yapılandırmaları karşılaştırırsınız: bunu belirtin ve tüm farkı ağırlık nicelemesine atfetmeyin.
Model ve motor izin verdiğinde KV önbelleği de nicemlenebilir. Bu ayrı bir tercihtir. Transformers belgeleri özellikle, nicemlenmiş bir önbelleğin yeterli bellek kaldığında kısa bağlamlarda gecikmeyi kötüleştirebileceğini belirtir. Bu ikinci değişikliği ayrı bir seride test edin; daha fazla tasarruf edilen bellek daha iyi bir gecikme garantisi vermez.
Teknik kaynaklar: Hugging Face Transformers 5.17 — nicemlenmiş KV önbelleği ve gecikme ödünleşimi
Kalite kuralı örneği: küçük bir düşüş bile kabul edilemez kalabilir
Aşağıda, model çalıştırmadan bir karar örneği verilmiştir. Bir proje 200 belgeyi değerlendirir ve denemelerden önce referansa kıyasla en fazla bir yüzde puanı kayıp tanımlar. Ayrıca bu 200 belge içindeki 20 kritik belgede en az %90 başarı ister. Bir belge yalnızca tüm gerekli alanları doğruysa kabul edilir.
Aşağıdaki kurgusal değerler A'yı bu iki kuralda kabul edilebilir kılar: %95 yerine %94 ve kritik grupta 18/20. B ise her ikisinde başarısız olur. A'yı henüz kazanan ilan edemeyiz: ne bellek zirvesi ne de süre verilmiştir. Ayrıca toplamlar hangi belgelerin değiştiğini göstermez; yeni ve önemli gerilemeleri saptamak için eşleştirilmiş hataları inceleyin.
| Varyant | Kabul edilen belgeler | Genel oran | Kabul edilen kritik durumlar | Bu kurallara göre karar |
|---|---|---|---|---|
| Referans | 190 / 200 | 95 % | 19 / 20 = 95 % | Karşılaştırma noktası |
| A | 188 / 200 | 94 % | 18 / 20 = 90 % | Kalite açısından kabul edilebilir |
| B | 184 / 200 | 92 % | 16 / 20 = 80 % | Reddedildi |
Teknik kaynaklar: Yalnızca toplam yerine hataları inceleyin
Farkları açıklanabilen bir karşılaştırma yürütün
Önce karşılaştırma sözleşmesini, sonra sonuç dosyalarını hazırlayın. Aşağıdaki protokol sizin iş yükünüzde uygulanmalıdır; önceki rakamlar bunun yerini tutmaz. Bir varyant yüklenemiyorsa veya gerekli operatörlere sahip değilse, bu başarısızlığı bir uyumluluk bilgisi olarak saklayın.
- Derlemi, referansları, modeli, tokenizer'ı, prompt'u ve çıktı kurallarını sabitleyin; uzun ve zor vakaları tanımlanabilir tutun.
- Kalibrasyonu, dışa aktarılan artifacti ve geçerli yapılandırmayı kaydedin. Kullanılan aygıtları ve olası CPU/GPU aktarımlarını doğrulayın.
- Derlemeyi, yüklemeyi, ısınmayı ve kararlı duruma gelmiş işlemeyi ayırın. Aynı ölçüm sınırlarını kullanın ve ham tekrarları saklayın.
- Zirveyi aygıt ve aşama bazında kaydedin; allocated ve reserved değerlerini ayrı tutun. Bu sayaçları toplamayın ve bağımsız maksimumlarını birbirinden çıkarmayın.
- Kararlaştırılan biçimi, içeriği ve alt grupları değerlendirin, ardından hataları tanımlayıcıya göre eşleştirin.
- Seçilen artifacti yeni bir süreçte yeniden yükleyin ve tanımlanmış bir kontrolü yeniden oynatın. Dışa aktarmadan önce elde edilen bir sonuç, yeniden yüklemeyi otomatik olarak doğrulamaz.
Teknik kaynaklar: Belleği doğru ölçün · Tekrarları ve zamanlamayı tanımlayın
Ödünleşimi harcanan maliyetle ilişkilendirin
Bellek tasarrufu, düşünülebilir yapılandırmaları genişletebilir, daha fazla eşzamanlılığa izin verebilir ya da sadece pay bırakabilir. Harcamayı otomatik olarak azaltmaz. Süre, ayrılan lotlar ve kabul edilen teslimatlar aynı kalırsa, bir geçiş daha hızlı olsa bile paketin maliyeti aynı kalır.
Takvime olası kalibrasyonu, nicemlemeyi, değerlendirmeyi, reddedilen denemeleri ve yeniden yüklemeyi dahil edin. Ardından kriterlerinizi karşılayan seçenekler arasında 3, 7 veya 30 günlük tam paketleri karşılaştırın. Faydalı derlem başına oran yalnızca gerçekten tamamlanmış ve kabul edilmiş derlemlerle hesaplanır; zamanlama tekrarları yeni teslimatlar oluşturmaz.
Tek bir kiralama birden fazla varyantı karşılaştırmaya hizmet ediyorsa, tutarı ortak bir kampanya harcamasıdır. Paketin tamamını zihinsel olarak her varyanta faturalandırıp sonra bu tutarları ayrı gerçek harcamalar olarak toplamayın. Analitik bir pay atamak için bir kural açıklayın; bu, taahhüt edilen toplamı değiştirmez.
Teknik kaynaklar: IteraGPU — tam paket ve bir deneyin maliyeti
Bir yapılandırma ve sınırlarıyla sonuca varın
Nihai karar artifacti, ortamı, kapsanan iş yükünü, aşılan kalite kriterini ve iyileştirilen kısıtı adlandırır. Varyantlar birbirine yakınsa bu belirsizliği koruyun ve yeniden yükleyip açıklayabildiğiniz bir seçeneği tercih edin. Bit sayısı tek başına bir tercih sırası değildir.
Kısa bir korpus üzerinden çıkarılan bir sonuç otomatik olarak uzun bağlamlara, başka bir dile veya daha fazla eşzamanlı isteğe genellenemez. Çıkarım için seçilen bir nicemleme, bir ince ayarın eğitilebilir parametrelerini de tanımlamaz. Bu soruları ayrı tutun ve seçilen varyantı ayrılmış test üzerinde doğrulayın.
Pratik sorular
Dört bit her zaman on altı bitten dört kat daha az bellek mi tüketir?
Tekdüze saklanan ağırlıkların ham hacmi bu oranı izler. Toplam tepe değeri ayrıca üst verileri, başka biçimlerdeki modülleri, önbelleği ve geçici dosyaları da içerir. Genel bir kazanç duyurmadan önce gerçek çalıştırmayı ölçün.
Nicemlemeyi nihai testimle kalibre edebilir miyim?
O zaman bu test artefaktın üretimine katılır ve artık bağımsız bir değerlendirme olmaz. Kalibrasyonu geliştirme için izin verilen bir kümeyle hazırlayın, ardından ayrılmış bir doğrulamayı saklı tutun.
Daha küçük bir varyant mutlaka işletmesi daha mı ucuzdur?
Hayır. Bütçe, taahhüt edilen süreye ve partilere, hazırlığa ve kabul edilen faydalı sonuçlara bağlıdır. Bu unsurlar değişmeden bellek azaltımı, kiralama tutarını düşürmeden marjı iyileştirebilir.