English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

konuk
1 / ?
derslere geri dön

Bir Dil Modeli Neyin Tahminini Yapar

Olasılıksal Devam Motoru

Bir dil modeli, token dizisi alır ve bir sonraki token için olasılık dağılımı atar. Ona the cat sat on the verin ve tüm kelime dağarcığı üzerinde olasılıklar 출력 eder: mat, floor, couch üzerinde yüksek kütle; xylophone, Tuesday üzerinde düşük kütle.


O dağılımı örnekleyerek, bir token ekleyerek ve geri besleyerek: o döngü metni birer token olarak üretir. Ototregresif üretim, her adımın kendi önceki çıktısına regrese ettiği için bu isimle adlandırılır.


Bir Dil Modelini Üç Sayı Tanımlar


Sözlük boyutu (V). Bir modelin üretebileceği farklı token sayısı. ANDREA-12M 4.353 token kullandı; ANDREA-120M 8.449 kullanıyor.


Bağlam penceresi (T). Bir ileri geçişte kaç token sığar. ANDREA modelleri T = 1.024 kullanır.


Parametre sayısı (P). İçinde kaç öğrenilmiş ağırlık bulunur. 12M, 120M ve 480M, P'ye göre bir aileyi adlandırır.


Üç Kişilik Bir Aile


Varyantd_modelBaşKatmanBağlamParametreler
ANDREA-12M384126102412.8M
ANDREA-120M76812121024~120M
ANDREA-480M153624161024~480M

Üç düğme ölçeklenir: d_model (her iç vektörün genişliği), n_layer (yığınlanmış transformer bloklarının derinliği), n_head (paralel dikkat projeksiyonları). Kelime dağarcığı ve bağlam aile genelinde sabit kalır.

Aile Tablosunu Okuma

ANDREA-12M (d_model=384, 6 katman, 12 kafa) ile ANDREA-120M (d_model=768, 12 katman, 12 kafa) karşılaştırın. 12M'den 120M'ye ölçeklenen iki mimari ekseni adlandırın & sabit kalan birini. Her ölçekleme seçimi için tek cümlelik bir neden yardımcı olur.

Neden Küçük Önemli

Kısıtlama Olarak Özgürleşme

Yüz milyarlarca parametreli büyük dil modelleri binlerce GPU, özel veri setleri ve kurumsal bütçeler gerektirir. Çok az kişi birini eğitebilir. Çok az kişi birini onarabilir.


Bir GPU üzerindeki küçük bir dil modeli bunu tersine çevirir. 4090'ı (veya bir 3060'ı) olan herkes, açık verilerden ANDREA'yı yeniden üretebilir. Eğitim tarifi aynı zamanda model kartı olarak işlev görür. Açık kod, açık ağırlıklar, açık veri; 72 saatlik hesaplama ile tam izlenebilirlik.


Kapasite vs Kalite

Daha küçük modeller eğitim korpuslarını ezberleyemez. 12.8M parametreli ANDREA-12M, gerçek içerikleri depolama kapasitesine sahip değildir; dönüş yapısını, kelime dağılımını ve yanıt şeklini öğrenir. 10× kapasiteli ANDREA-120M ise gerçek hatırlamayı, çok paragraflı tutarlılığı ve alan genişliğini öğrenir (biyoloji ve sinyal işleme örneklerinde dış değerlendirme ile 9.5/10 doğrulanmıştır).


Önemli nokta: kapasite bir tavan belirler. Müfredat, bu tavana ulaşıp ulaşılacağını belirler. Etkinlikler 14-23 müfredatı kapsar. [TITLE decoder_only/]

Üç Transformer Türü

Encoder, Decoder, İkisi Bir Arada

Orijinal Transformer (Vaswani ve ark., 2017) bir encoder ve bir decoder ile geldi, çeviri için birbirine yapıştırılmış halde. Bu makaleden üç mimari soy çizgisi türemiştir:


Yalnızca Encoder (BERT soyu). Çift yönlü dikkat, nedensel maske yok. Sınıflandırma için optimize edilmiş, üretime değil. Bir token eğitim sırasında hem geçmişini hem geleceğini görür.


Encoder-decoder (T5, BART). Encoder girdi okur; decoder çıktıyı üretir, encoder'a çapraz dikkat ile erişir. Çeviri, özetleme için kullanılır.


Decoder-only (GPT, ANDREA). Nedensel maske: her token sadece geçmişini görür. Sonraki token'ı tahmin etmek için eğitilir. Üretim bedavadır; eğitim ve çıkarım aynı ileri geçişi paylaşır.


Neden Decoder-Only Tek GPU'da Kazanır

Üç neden:


1. Tek hedef. Sonraki-token tahmini herhangi bir metinde çalışır. Eşleştirilmiş kaynak/hedef gerekmez.

2. Eğitim & çıkarım simetrisi. Aynı ileri geçiş, özel üretim mantığı yok.

3. Bellek sadeliği. Çapraz dikkat yok; bir katman yığını; bir aktivasyon akışı.


ANDREA, microGPT'den miras aldığı decoder-only seçeneğini kullanır; microGPT bunu nanoGPT'den, nanoGPT ise GPT-2'den almıştı. Soy standart kalır; tokenizasyon, eğitim altyapısı ve müfredatta değişenler hayat bulur.

ANDREA Neden Decoder-Only Kullanır

ANDREA'nın T5 gibi bir encoder-decoder yerine decoder-only transformer kullanmasının bir eğitim-verisi açısından ve bir çıkarım-davranışı açısından nedenini verin.

24 GB'ye Ne Sığar

Parametre Başına Bayt

Bir RTX 4090, 24 GB VRAM ile gelir. ANDREA-12M eğitimi 1.4 GB kullandı. ANDREA-120M ise önemli ölçüde daha fazla kullandı. Bu fark basit bir muhasebe egzersizine dayanır: her parametre eğitim sırasında bellekte birden fazla kez görünür.


Her parametre için eğitim tutar:

- Ağırlık kendisi (1× ağırlık)

- Adam birinci moment (m): ağırlık ile aynı şekil (1× ağırlık)

- Adam ikinci moment (v): ağırlık ile aynı şekil (1× ağırlık)

- Gradyanlar: ağırlık ile aynı şekil (1× ağırlık)

- Aktivasyonlar & geçiciler: ~2-4× ağırlık (batch & bağlamla değişir)


Toplam: ~6-8× ağırlık sayısı, hassasiyete göre bayt cinsinden.


Hassasiyet Her Şeyi Çarpan Olarak Etkiler


HassasiyetBayt/param120M ağırlık için ToplamNotlar
FP324480 MBTemel; en güvenli, en yavaş
FP162240 MBcuBLAS, yarım bellek
FP8 E4M31120 MBTensor çekirdekleri, NaN riski

Tam eğitim zamanı ayak izi için 6-8× ile çarpın. ANDREA-120M, FP16'da rahatça eğitilir (~2 GB ağırlıklar + optimizer + gradyanlar için); FP8 E4M3, RTX 4090 tensor çekirdeklerinde eğitim süresini yarıya indirir.


Etkinlik 13 (grow_a_language_model_precision), FP hassasiyet değişimlerini detaylı olarak inceler.

ANDREA-120M'nin Optimizer Durumunu Boyutlandırma

ANDREA-120M yaklaşık 120.000.000 parametre tutar. Her FP32 ağırlık 4 bayt yer kaplar. AdamW, ağırlık başına iki ekstra optimizer-durum float'ı depolar (m, v). Hesaplayın: (a) sadece FP32 ağırlıklar, MB cinsinden; (b) FP32 ağırlıklar + optimizer durumu, MB cinsinden; (c) FP16 ağırlıklar + optimizer durumu, MB cinsinden. Aritmetiğinizi gösterin.

Yirmi Beş Etkinlik

İki Yarı

Bu kurs net bir şekilde ikiye ayrılır. İlk yarı, microGPT'in alana öğrettiği şeyi kapsar: tek bir GPU'da çalışan bir transformer. İkinci yarı, ANDREA'nın gerçek katkısını kapsar: öğrenen bir müfredat.


Yarı 1: Tek GPU'da Bir Transformer (etkinlikler 2-13)


#EtkinlikVuruş
2Harris morfemi tokenizer'idağılımsal segmentasyon, 256+N+1 kelime haznesi
3Tokenizer-diyet hizalamasıdoygunluk noktası, neden 12M %63.6 israf etti
4Gömme katmanları & konumöğrenilmiş token + konum sorgusu
5Ölçeklenmiş nokta-çarpım dikkatiQ·Kᵀ/√d, nedensel maske, softmax
6Çok başlı dikkatbaş bölünmeleri, paralel projeksiyonlar
7Transformer bloğuMLP, artıklar, katman normalizasyonu
8Çapraz-entropi & şaşkınlıklog-olabilirlik, SMMA kaybı
9Özel CUDA'da geri yayılımmicrogpt_cuda.cu boyunca zincir kuralı
10AdamWayrılmış ağırlık çürümesi; vanilla Adam neden öldü
11LR ısınma + cosinus çürümesi2000-adım rampa; anlık tepe neden 120M'yi yok eder
12Gradyan kesmeglobal L2 normu; 3 CUDA çekirdeği
13FP32 / FP16 / FP8 E4M3hassasiyet takasları; tensör çekirdekleri

Yarı 2: Öğrenen Bir Müfredat (etkinlikler 14-24)


#EtkinlikVuruş
14Çok kollu haydutlarUCB1, keşif vs sömürü
15Aşama tabanlı zar kontrolü7/14/21/28/42 aşamalar, 1d3/1d4 zarlar
16Ödül atfetme & EMAkaynak başına kayıp EMA, 1000× ölçekleme
17Kaynak tabanları & çağ cezası1/(1+epochs) ezberlemeyi önler
18Kapsama bonusubelge düzeyinde izleme, 1.3× tazelik
19Müfredat ısınmasıilk 20K adımda 7 sohbet/naber kaynağı
20Karakter değil şekle göre filtrelemehas_system_prompt_shape()
21Tutarlılık tabanlı erken durdurmabigram/trigram/word/char otomatik durma
22Kontrol noktası, devam ettirme, sinyallerformat, SIGTERM/SIGUSR1, loss.json sürekliliği
23Örnek denetim & harici derecelendirmebir çalışmayı okuma, 9.5/10 bölgesi
24microGPT'den ANDREA-120M'ev1 çöküşü, v2 düzeltmeleri, v2.5 yama, v3 cilalama

Artı bir yoldaş: geometry_of_andrea her katmanı geometri olarak görür (gömme alanı, dikkat mekanizması olarak projeksiyon, kayıp yüzeyi, bandit olarak ayrık basitlik üzerinde bir yürüyüş).


Önerilen Sıra

2-13 numaralı etkinlikler çalışan bir transformer oluşturur. Daha önce transformer eğitmişseniz yarıya kadar atlayın; merakınız kabardığında geri dönün.


Her etkinlik mümkün olduğunca bağımsızdır. Matematik referansları önceki etkinlikleri adıyla belirtir (etkinlik 5'e bakın: ölçekli nokta-ürün dikkati). Kod referansları ~/git/uncloseai-cli/ içindeki microgpt/microgpt_cuda.cu & microgpt/training_proxy.py dosyalarını işaret eder.

Nereden Başlayacaksınız?

24 etkinlik + geometri yoldaşı göz önüne alındığında, başlamak istediğiniz bir etkinliğin adını ve bir nedeni belirtin: önceki bilgi boşluğu, mesleki alakalılık veya saf merak. Yanlış cevap yok; kursun yolu size ait.