deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Mini-AGI, tek bir 8 GB GPU'da byte düzeyinde bir dil modelini sürekli eğitiyor

Mini-AGI adlı açık kaynak bir proje, byte düzeyinde bir dil modelini tek bir 8 GB GPU'da sıfırdan eğitiyor; expert ağırlıklarını diskten sayfalayarak model bir metin akışından donmadan öğrenmeye devam ediyor.

Mini-AGI, tek bir 8 GB GPU'da byte düzeyinde bir dil modelini sürekli eğitiyor

Hiç durmayan bir eğitim süreci olan model

Volotat adıyla paylaşım yapan bir geliştirici, mini-AGI'yi yayımladı: sıfırdan kendini, 8 GB video belleğine sahip tek bir GPU'da — sıradan bir dizüstü bilgisayarda bulunabilecek türden bir kartta — eğiten açık kaynak, byte düzeyinde bir dil modeli. Hacker News'te bir Show HN gönderisiyle ortaya çıkan proje, sürekli öğrenme (continual learning) etrafında kurgulanmış: model bir metin akışını parça parça okur, her parça üzerinde bir gradient adımı atar ve çıktıyı, eğitim için kullandığı tam aynı kod yoluyla üretir. Projenin README'sine göre ayrı bir fine-tuning aşaması ya da donmuş bir temel model yok; çıkarım (inference) ve eğitim aynı işlemdir.

Geliştirici olgunluk konusunda açık sözlü: bu küçük, oyuncak ölçeğinde bir deney; uç(model) değil. Geliştiricinin yazdığı gibi amaç, tek bir veri akışından — felaketsel unutma (catastrophic forgetting) olmadan — sürekli öğrenmenin, çoğu insanın zaten sahip olduğu donanımda başarılılabileceğini göstermek; böylece herkes kendi varyantını eğitebilir ya da bu modeli eğitmeye devam edebilir, yegâne sınırlar donanımı, veri kalitesi ve sabrı olur.

Kendini oluşturan byte düzeyinde bir model

mini-AGI'nin tokenizer'ı yok. Alfabesi 256 olası byte değeri, dolayısıyla herhangi bir veri formatı, yeni bir kelime dağarcığı uydurmadan okunabilir. Metin, iki yoğun prelude bloğundan geçer ve ardından en fazla 24 kez uygulanan tek bir tekrarlayan (recurrent) bloktan geçer; karakter başına 26 blok uygulamasına kadar ulaşabilir. Her uygulamada model, paylaşılan bir havuzdan kendi en iyi 8 expert'ini soft top-k yönlendirmeyle seçer; böylece tek bir karakter, sekiz expert'ten çok daha fazlasına dokunabilir ve aynı expert farklı derinliklerde tekrar tekrar seçilebilir. Hiçbir expert'e bir konu atanmamıştır ve hiçbir yerde etiket yoktur; yetenek havuza kendiliğinden dağılır, bunun bedeli olarak da paylaşılan parametreler birbirine girebilir.

Derinlik uyarlanabilir. Bir durdurma kafası (halting head) — README'nin PonderNet'e atfettiği bir yaklaşım — her adımda her karakteri puanlar ve bir adım daha cevabı değiştirmeyeceği anda işleme durur. Geliştiricinin ölçümleri, karakterlerin genellikle 24'lük üst sınıra karşı 4 ile 14 satır arasında tükettiğini gösteriyor. Konumlar rotary'dir ve öğrenilmiş parametre taşımaz; bu da bağlam penceresinin herhangi bir şeyi yeniden başlatmak yerine yalnızca eğitime devam edilerek genişletilebileceği anlamına gelir.

Dosya olarak duran, karta sayfalanan ağırlıklar

Parametre sayısı VRAM değil, boş disk alanıyla sınırlıdır. Her expert, diskte hem ağırlıklarını hem de Adam optimizer moment'lerini tutan sıradan bir dosyadır. Diskin üzerinde bir LRU RAM önbelleği ve en üstte bir VRAM çalışma kümesi — bir karakterin fiilen yönlenebileceği expert'ler — bulunur. Her parçadan önce model, yaklaşan metnin hangi expert'leri isteyeceğini tahmin eder; talebi, önceki parçadan geçerken üretilen hidden state'ler üzerinden puanlar ve çalışma kümesi her 64 karakterde bir yeniden seçilir.

README'ye göre iki kurala kesinlikle uyuluyor: optimizer moment'leri daima expert'inin yanında taşınır, böylece içeri alınan bir expert asla bir başkasının momentumunu devralmaz — yazarın belirttiği gibi bu bir arıza hâli, sağlıklı bir eğitim gibi görünürken onu sessizce bozar — ve VRAM'de hâlihazırda bulunan bir expert yuvasında kalır.

Üretim aynı forward pass üzerinden yürüdüğü için mimari, yazarken de birebir aynı davranır. Model, ayrı tutulan 2.500 karakterle hazırlanıp bir hikâyeyi tutarlı biçimde sürdürdü; okuma sırasında karakter başına 8.0 satıra karşı yazarken satır başına yaklaşık 9.9 satır harcadı. Eğitim sürecinin 243 milyonuncu karakterinde çıktı dilbilgisel ve konuyla ilgili, ama tekrarlayıcı.

Erişilebilirlik ve durum

Ağırlıklar henüz yayımlanmadı. Mevcut eğitim çalışması hâlâ gövdesi (corpus) üzerindeki ilk geçişini yapıyor ve geliştirici, bu geçiş tamamlanınca ağırlıkları yayımlamayı bekliyor — gönderi zamanındaki hıza göre yaklaşık iki hafta sonra.

Neden önemli

Bireyin bugün çalıştırabildiği neredeyse her model başkası tarafından eğitilmiş ve sonra dondurulmuş; kenarlarından fine-tuning yapabilirsiniz ama temel model bir daha asla öğrenmez. mini-AGI'nin iddiası şu: byte düzeyinde, kendi kendine sayfalama yapan, sürekli eğitilen bir model gerçekten kişisel bir modeli pratik kılar — kendi donanımınızda ve verinizle eğitilen, ona gösterdiğiniz her şeyi emmeye devam eden ve hiçbir üçüncü tarafın geri alamayacağı bir model. Oyuncak ölçeğinde bile, ana akım uç modellerin — ne kadar yetenekli olurlarsa olsunlar — hiç sunmadığı bir tasarım noktasını gösteriyor: 8 GB'lık bir tüketici kartında felaketsel unutma olmadan sürekli öğrenme.

  • #continual-learning
  • #open-source
  • #language-models
  • #mixture-of-experts
  • #consumer-gpu

İlgili yazılar