Aner
Tüm çalışmalar

Dil modeli · Ana sürüm

Versatil V4.1

Bugünkü Versatil: kendi tokenizer'ı ve kendi ağırlıklarıyla geliştirdiğim 553 milyon parametreli dil modeli.

552.535.040parametre, mimari ayarlarından hesaplandı

Giriş ve çıkış aynı gömmeyi paylaştığı için ayrı bir çıkış katmanı yok; bu 49.152.000 parametre tasarruf ediyor.

  • Gömme (giriş ve çıkış ortak)49.152.000%8,9
  • Dikkat100.663.296%18,2
  • İleri besleme (SwiGLU)402.653.184%72,9
  • Normalizasyon66.560%0,01

Sığar mı?

Ağırlık biçimi

Token başına KV önbelleği 64 KiB. GQA olmasaydı 2 katı olurdu.

Ağırlıklar 296 MiBKV önbelleği 512 MiBToplam 808 MiB

Sığar. 5,21 GiB boş kalıyor.

Yalnızca ağırlıklar ve BF16 KV önbelleği. Aktivasyonlar, CUDA bağlamı ve çalışma tamponları dahil değil; gerçek kullanım daha yüksek olur. Q8 ve Q4, 32'lik bloklar ve blok başına bir FP16 ölçekle hesaplandı. Bu modelin bağlam sınırı burada belirtilmedi; kaydırıcı yalnızca hesap için.

Versatil, Aners’in var olma sebebi. Amaç yapay zekâyı yalnızca kullanılan bir şey olmaktan çıkarıp, üzerine kendi sistemini kurabileceğin bir teknolojiye dönüştürmek.

Bugünkü model

V4.1, 552 milyon parametreli, 32 katmanlı bir decoder-only Transformer. Grouped-query attention kullanıyor; 16 sorgu başı 8 anahtar/değer başını paylaşıyor. Sözlüğü 48 bin token.

Bu checkpoint korumalı bir ana sürüm. Üzerine yazılmıyor; her yeni deney ayrı bir dalda, ayrı bir dosyada yapılıyor. Tokenizer da aynı şekilde sabit, çünkü tek bir token kimliğinin değişmesi modelin bütün davranışını değiştirebilir.

Niyet yönlendirme

V4.5.2’de modelin önüne bir yönlendirici koydum: gelen mesajın niyetine göre 9 rotadan birini seçiyor. Doğrulama setinde yaklaşık %86,3 doğru rota buluyor.

En zor kısım

Donanım. Geliştirme bilgisayarım 6 GB VRAM’li bir dizüstü. 553 milyon parametre FP32 olarak yalnızca ağırlıklarda 2 GiB’ı geçiyor; bu yüzden bellek her kararın içinde: nicemleme, bellek eşlemeli yükleme, KV önbelleği.

Sıradaki adım Versatil 3.