Nicemleme dengeleri ve kabul eşiği
Bit genişliğini düşürmenin neyi kazandırıp neyi ödettiğini mekanizma düzeyinde ayırır. Kaybı kendi görev kümenizle ölçmek, kategori başına kabul eşiği koymak ve eşiğin altına düşüldüğünde geri dönmek için bir yordam kurar.
Önkoşul: Transformer, Deep Learning
BU DERSİN SONUNDA
- Nicemlemenin bellek, bant genişliği ve kalite üzerindeki etkilerini ayrı ayrı açıklamak
- Ağırlık, ara değer ve dikkat önbelleği nicemlemesini birbirinden ayırt etmek
- Görev kategorilerine bağlı bir kabul eşiği tanımlamak
- Eşiğin altına düşüldüğünde uygulanacak geri dönüş yordamını yazmak
- 1
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 5
Proje
Rotadaki projeye katkı
Kısa cevap
Nicemleme, ağırlıkları ve isteğe göre ara değerleri daha az bitle temsil etmektir. Kazanç iki yönlüdür: bellek ayak izi küçülür ve üretim aşamasında okunacak bayt azaldığı için jeton başına süre düşer. Ödenen bedel kalitedir; bellek ya da hız değil. Bu bedel her görevde aynı olmadığı için, kendi görev kümenizle ölçülmeden kabul edilmez.
Teori: neden hızlanıyor, neden bozuluyor#
Üretim aşaması bellek bant genişliğine bağlıdır: her jeton için ağırlıkların tamamı okunur. Bayt genişliğini yarıya indirmek, taşınan baytı da yarıya indirir; bu yüzden kazanç doğrudan bu aşamada görünür. Buna karşılık uzun girdilerin dolumu hesap gücüne bağlı olduğu için oradaki kazanç çok daha küçüktür. Yani nicemlemenin ne kadar hızlandırdığı, sizin hangi darboğazda olduğunuza bağlıdır.
Kalite kaybının kaynağı ise ölçekleme. Sürekli bir değer aralığı, az sayıda ayrık seviyeye eşlenir; eşlemeyi tanımlayan ölçek katsayısı bir tensörün, bir kanalın veya küçük bir ağırlık grubunun tamamı için ortaktır. Grubun içinde tek bir aşırı büyük değer varsa aralık ona göre gerilir ve geri kalan değerler birkaç seviyeye sıkışır. Grup ne kadar küçükse bu sıkışma o kadar az olur; bedeli, saklanan ölçek katsayısı sayısının artmasıdır.
Sıkıştırmanın ayrı kaldıraçları#
| Kaldıraç | Ne kazandırır | Nerede riskli |
|---|---|---|
| Ağırlık nicemlemesi | Bellek ayak izi ve jeton başına okunan bayt azalır | Grup başına ölçek yeterince ince değilse biçim uyumu ve nadir bilgi ilk bozulan olur |
| Ara değer nicemlemesi | Çarpımlar daha düşük hassasiyette koşabilir | Ara değerlerdeki aykırı büyüklükler aralığı bozar; en kırılgan kaldıraç budur |
| Dikkat önbelleği nicemlemesi | Uzun bağlamda eşzamanlılık tavanı yükselir | Kayıp bağlam boyunca birikir; uzun konuşmada belirir, kısa örnekte hiç görünmez |
| Budama ve seyrekleştirme | Hesap ile bellek birlikte düşer | Kazanç yalnızca çalışma zamanı seyrek yapıyı gerçekten kullanıyorsa gerçekleşir |
Nicemleme ya eğitim sonrasında (çoğu yöntemde bir kalibrasyon verisine dayanarak) yapılır ya da eğitim sırasında düşük hassasiyet taklit edilerek öğrenilir. İkincisi daha iyi korur ama eğitim erişimi gerektirir. Altyapı tarafında kritik olan nokta kalibrasyon verisidir: kalibrasyon genel metinle yapılıp hizmet kurumun kendi diline ve biçimine veriliyorsa, ölçek katsayıları görmediği bir dağıtıma göre ayarlanmış olur. Sürpriz genelde buradan gelir.
Kayıp nerede önce görünür#
- Biçimli çıktı: şemadan bir alanın düşmesi, tırnak veya parantezin bozulması. Makineyle en kolay yakalanan kayıp türü.
- Sayısal ve çok adımlı akıl yürütme: ara adımın yuvarlanması sonucu tek bir yanlış sayıya taşır.
- Nadir ve kuruma özgü bilgi: sık örüntüler korunurken uzun kuyruktaki adlar, kodlar ve kısaltmalar kayar.
- Uzun bağlamın sonundaki talimata uyum: özellikle önbellek nicemlendiğinde bağlamın başı ile sonu arasındaki bağ zayıflar.
- Çekimli dillerde akıcılık: jetonlayıcı ağırlıklı olarak İngilizce metinle eğitildiyse Türkçe gibi ek yoğun diller daha çok jetona bölünür ve aynı cevap daha çok üretim adımı gerektirir; bu varsayımı kendi jetonlayıcınızla doğrulayın.
Kabul eşiği ve geri dönüş#
- 1Görev kümesini dondurun
Kendi trafiğinizden gelen, kategorilere bölünmüş ve sürümlenmiş bir küme. Küme değişirse karşılaştırma değil, yeni bir ölçüm başlar.
- 2Taban çıktıyı kaydedin
Mevcut kurulumun aynı kümedeki cevapları saklanır. Karşılaştırma bir hatıraya değil bu dosyaya yapılır.
- 3Adayı aynı kümede ölçün
Yalnızca nicemleme değişir; istem, geri getirme ve örnekleme ayarları sabit tutulur.
- 4Kategori bazında karşılaştırın
Tek toplam puan değil, kategori başına geçme oranı. Eşik hangi kategoride aşıldıysa karar o kategorinin sahibine aittir.
- 5Geri dönüşü tetikleyin
Eşik altına düşen kategori varsa aday reddedilir ve ölçüm kaydedilir; reddedilen aday, hangi kaldıracın hangi kategoriyi bozduğunun kanıtı olarak durur.
{
"aday": "agirlik-4bit-grup-128",
"taban": "bf16",
"gorev_kumesi": "kabul-v3",
"esikler": {
"bicimli-cikti": "kategorideki her örnek şema doğrulamasından geçmeli",
"sayisal-akil-yurutme": "tabandan en çok bir örnek geride",
"kuruma-ozgu-bilgi": "anahtar terim eşleşmesi tabanın altına düşemez",
"uzun-baglam": "son talimata uyum kategorinin tamamında korunmalı"
},
"esik_altinda": "yönlendirme tabana döner, aday kaydedilir"
}Geri dönüşün yeniden derleme gerektirmemesi gerekir. Nicemlenmiş ve tam hassasiyetli kurulum, yayım penceresi boyunca yan yana sunulabilir durumdaysa geri dönüş bir yapılandırma değişikliğidir; değilse geri dönüş bir proje olur ve baskı altında yapılmaz. Bu nedenle karar, ölçüm kadar geri dönüşün maliyetine de bakar.
Sık yapılan hata#
Yaygın hata birkaç isteme gözle bakıp "fark yok" demek: kaybın görünür olduğu kategoriler tam olarak elle bakılmayan kategorilerdir. İkinci hata tek bir toplam puanla karar vermek. Üçüncüsü ise istem veya geri getirme değiştikten sonra kabul ölçümünü yenilemeyi atlamak; aynı nicemleme farklı bir istemle farklı davranabilir, çünkü bozulma çıktının biçimine ve uzunluğuna duyarlıdır.
LAB · UYGULAMALI ALIŞTIRMA
Kabul geçidini kurun ve geçidin kendisini sınayın
- 1Kendi trafiğinizden 40 istek seçip dört kategoriye bölün: biçimli çıktı, sayısal akıl yürütme, kuruma özgü bilgi, uzun bağlam.
- 2Mevcut kurulumun bu 40 isteğe verdiği cevapları kaydedin; bu dosya taban çıktınızdır ve bir daha değiştirilmez.
- 3Her kategori için makineyle denetlenebilir bir geçme ölçütü yazın: şema doğrulaması, beklenen alanın varlığı, sayısal eşitlik, anahtar terim eşleşmesi.
- 4Taban çıktıların bir kopyasına nicemleme kaybının tipik izlerini elle enjekte edin: bir alanı silin, bir sayıyı yuvarlayın, listenin son maddesini atın, uzun bağlamdaki son talimatı yok sayın.
- 5Geçidi bozulmuş kopya üzerinde koşturun; yakalanmayan her bozulma için ölçütü sıkılaştırıp tekrar koşturun.
- 6Kategori başına kabul eşiğini ve eşik altına düşüldüğünde uygulanacak geri dönüş adımlarını tek sayfada yazın.
Beklenen çıktı
Enjekte edilmiş bozulmaları yakaladığı gösterilmiş, kategori başına eşiği ve geri dönüş adımları tanımlı bir kabul geçidi.
Sık sorulan sorular
Nicemleme hızdan mı bellekten mi feragat eder?
İkisinden de etmez. Bellek ayak izini düşürür ve bant genişliğine bağlı üretim aşamasını hızlandırır; feragat edilen şey kalitedir. Bu yüzden nicemleme bir performans kararı değil, kalite bütçesi kararıdır ve ölçümü kalite tarafında yapılır.
Genel bir kalite ölçümü yeterli olmaz mı?
Kayıp göreve göre dağıldığı için olmaz. Toplam puan sabit görünürken biçim uyumu çökebilir, ya da tersine kısa sınıflandırma hiç etkilenmezken kuruma özgü adlar kayabilir. Kategori bazında ölçmek, hangi kaldıracın hangi görevi bozduğunu gösterir; toplam puan yalnızca bir şeyin değiştiğini söyler.
Küçük modeli tam hassasiyette mi, büyük modeli nicemleyerek mi koşturmalı?
Bunlar farklı takaslar. Küçük model kalıcı olarak daha az yetenek demektir; nicemlenmiş büyük model aynı yeteneğin gürültülü halidir. Hata biçimleri de farklıdır: biri tutarlı biçimde yetersiz, diğeri çoğunlukla iyi ama yer yer beklenmedik. Kararı aynı görev kümesinde yan yana ölçerek verin.
LEARN
AI Altyapı Mühendisi rotasına devam et
Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.
