Simurg Okulu #5 — Parametre: 70B gibi rakamlar neyi ölçer, neyi ölçmez
Model adlarındaki 7B, 70B gibi rakamlar parametre sayısıdır. Çırak bu akşam parametrenin ne olduğunu, belleğe ne kadar yük bindirdiğini ve neden tek başına kalite ölçüsü olmadığını öğreniyor.

Yol günlüğü
Talep vadisinde hâlâ yürüyorum. Öğlenki bölümde ağırlık dosyasının ne olduğunu öğrenmiştim; akşam aklımda tek soru kaldı: model adlarındaki o "B" harfli rakamlar ne? Herkes "70B daha iyidir" diyor, ben de nedenini bilmeden tekrar ediyordum. Bu akşam bunu söküp atacağım.
Bugün öğrendim
Nedir?
Parametre, modelin eğitim sırasında ayarlanan sayılarıdır. İlk bölümde yazdığım gibi model bir sonraki token'ı tahmin eder; bu tahmin, milyarlarca sayının bir girdiyle çarpılıp toplanmasından çıkar. O sayıların her biri bir parametredir. "70B", yaklaşık 70 milyar (billion) parametre demek. Ağırlık dosyası dediğimiz şey de aslında bu sayıların diske yazılmış hali.
Nasıl çalışıyor?
Eğitimde model bir metni tahmin eder, yanılır, parametreler hatayı azaltacak yönde çok az kaydırılır. Bu, sayısız örnek üzerinde tekrarlanır. Parametre çok olunca modelin örüntüleri tutabileceği "alan" büyür; ama alanın dolması için yeterli veri ve hesaplama da gerekir.
Burada iki önemli ders var. Birincisi, büyüklük tek başına kaliteyi belirlemiyor. DeepMind'ın 2022 tarihli Chinchilla çalışması, aynı hesaplama bütçesiyle daha az parametreli ama daha çok veriyle eğitilen bir modelin daha büyük modelleri geçebildiğini gösterdi. Yani eğitim verisinin miktarı ve kalitesi de en az parametre kadar belirleyici.
İkincisi, bazı modellerde rakam iki tane. Model ailelerini anlattığım bölümde MoE'ye (Mixture of Experts) giriş yapmıştım: bu mimaride her token için parametrelerin yalnızca bir kısmı çalışır. Mistral, Mixtral 8x7B duyurusunda toplam 46,7 milyar parametreden token başına yalnızca 12,9 milyarının kullanıldığını yazıyor. Bu yüzden MoE modellerde "toplam" ve "aktif" parametreye ayrı bakmak gerekiyor; sitedeki Inkling 2 Small haberi de bu ayrımı içeriyor.
Ne yapılabilir?
- Donanım hesabı: Her parametre 16 bit (2 bayt) tutulursa 70 milyar parametre yalnızca ağırlıklar için yaklaşık 140 GB bellek ister. Bu basit çarpım, bir modeli kendi makinenizde çalıştırıp çalıştıramayacağınızı kabaca söyler. 8 bit ya da 4 bit'e sıkıştırma (quantization) bu yükü düşürür; o konuyu 7. vadide ayrıntılı öğreneceğim.
- Maliyet sezgisi: Aktif parametre arttıkça her token'ı üretmek daha çok hesap ister. Bugünkü Ramp verisi haberinde şirketlerin işleri daha ucuz, daha küçük modellere yönlendirerek harcamayı kıstığı anlatılıyor; parametre sayısı bu kararın arka planındaki sayılardan biri.
- Model seçimi: Rakamı değil, kendi işinizdeki sonucu karşılaştırın. Küçük bir model sizin görevinizde yetiyorsa büyük olan yalnızca daha pahalıdır.
Tüyü yaktım
Kâğıt kalemle bir deneme yaptım: elimdeki dizüstünün belleğine hangi boyutta bir modelin ağırlıklarının sığabileceğini yukarıdaki 2 bayt kuralıyla hesapladım. Sonuç beni ayılttı: "orta boy" diye geçen modeller bile 16 bit hâlinde makineme sığmıyor. Bu yalnızca ağırlık hesabı; çalışırken context için ek bellek de gerekiyormuş. Modeli gerçekten indirip çalıştırmadım, o yüzden hız hakkında bir şey söyleyemem. Bildiğim tek şey: rakamı görünce önce çarpım yapmayı öğrendim.
Heybeme koyduğum
Parametre sayısı modelin ne kadar yer kapladığını ve kabaca ne kadar maliyetli çalıştığını söyler; ne kadar iyi olduğunu ise ancak kendi işinizde deneyince öğrenirsiniz.
Kafama takılan
MoE modelde token başına çalışan "uzmanlar" neye göre seçiliyor ve yanlış uzman seçilirse cevap bundan nasıl etkileniyor?
Son söz
Bir sonraki bölümde modelin hayatındaki iki ayrı evreye bakacağım: eğitim (training) ve cevap verme anı (inference). Bugünkü parametreler eğitimde ayarlanıyor, inference'ta ise yalnızca kullanılıyor; farkı anlamak maliyet tartışmalarının yarısını çözecek gibi duruyor.