ML araştırması için GPU · KYC'siz kripto ödeme
IteraGPU
Yöntem / Hassasiyet ve ödünleşimler

Bir niceleştirmeyi bitlerine göre değil, sonuçlarına göre seçin.

Bir niceleme, kalitenizi korurken gerçek bir kısıtı (bellek, gecikme veya taahhüt edilen bütçe) iyileştiriyorsa faydalıdır. Aynı girdilerle bir referansla karşılaştırın, ardından ağırlık formatını, hesaplama hassasiyetini ve önbelleği ayrı ayrı kaydedin. Dört bit olarak duyurulan bir dosya, tüm yürütmenin dört bit kullandığı veya daha hızlı olacağı anlamına gelmez. Karar, ölçülen bir yüke bağlı kalmalıdır.

01 /

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.

İki nicelemiş yapıtı karşılaştırmak için asgari bildirim
AlanSaklanması gerekenlerÖnlenen karışıklık
KökenModel, revizyon, tokenizer, yöntem ve sürümlerAynı ad altında iki farklı modeli karşılaştırmak
AğırlıklarFormat, bit, gruplar ve hariç tutulan modüllerDört biti tek bir tarifle bir tutmak
HesaplamaGerçekte kullanılan dtype, kernel'ler ve aygıtlarDepolama 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
ÜretimOlası kalibrasyon ve veri revizyonuYapıtın nasıl üretildiğini unutmak

Teknik kaynaklar: Hugging Face Transformers 5.17 — nicelemiş katmanlar ve diğer dtype'lar

02 /

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

03 /

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.

Bayt cinsinden brüt hacim = parametreler × bit / 8. GiB cinsinden hacim = bayt / 2³⁰.
Eşit şekilde saklanan 3 milyar parametre için açıklayıcı hesaplama — ek maliyetler hariç
Varsayılan formatBrüt baytOndalık GBYaklaşık GiB
16 bit6 000 000 00065,588
8 bit3 000 000 00032,794
4 bit1 500 000 0001,51,397

Teknik kaynaklar: NIST — ikili ve ondalık önekler · IteraGPU — tahminler ve bellek zirveleri

04 /

Ö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

05 /

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.

A kaybı = 95 − 94 = 1 puan; B kaybı = 95 − 92 = 3 puan. Bir yüzde puanı %1'lik göreli bir düşüş değildir.
Eşikleri açıklamak için kurgusal kaliteler; hiçbir GPU performansı ölçülmemiştir
VaryantKabul edilen belgelerGenel oranKabul edilen kritik durumlarBu kurallara göre karar
Referans190 / 20095 %19 / 20 = 95 %Karşılaştırma noktası
A188 / 20094 %18 / 20 = 90 %Kalite açısından kabul edilebilir
B184 / 20092 %16 / 20 = 80 %Reddedildi

Teknik kaynaklar: Yalnızca toplam yerine hataları inceleyin

06 /

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

07 /

Ö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

08 /

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.