Model Ne Kadar Şaşırmalı?
Logitlerden Olasılıklara
12 transformer bloğundan sonra, ANDREA-120M her token pozisyonu için vocab_size sayıdan oluşan bir vektör üretir: logitler. ANDREA-120M için vocab_size = 8449, yani her pozisyon 8449 logit çıkarır. Logitler normalize edilmemiş skorlardır; bazıları pozitif, bazıları negatif, 1'e toplamaları için kısıtlama yok.
Softmax, logit'leri bir olasılık dağılımına dönüştürür:
p_i = exp(logit_i) / sum_j exp(logit_j)
Softmax'tan sonra, tüm 8449 sayı 0 ile 1 arasında yer alır ve toplamları 1'e eşittir. Model, her olası bir sonraki tokene olasılık atar.
Çapraz Entropi Kaybı
Eğitim bir kayıp fonksiyonu gerektirir: modelin verilen doğru cevap için tahmininin ne kadar yanlış olduğunu ölçen bir sayı. Çapraz entropi dil modellemesi için çalışır:
loss_t = -log(p_doğru_token_t)
Modelün eğitim verilerindeki gerçek sonraki token için öngördüğü olasılığı alın. Bu olasılığın negatif logaritmasını alın. Bu, bir konum için kayıptır.
Neden Negatif Log
Üç özellik -log(p)'yi doğal bir kayıp fonksiyonu yapar:
- -log(1) = 0: Model doğru token'ı %100 güvenle öngördüğünde, kayıp sıfırdır.
- -log(0) = ∞: Model doğru token'a sıfır olasılık verdiğinde, kayıp sonsuzdur. (Uygulamada, softmax tam olarak 0 çıkarmaz; kayıp sonlu ama büyük kalır.)
- Monotonik: Doğru token için öngörülen olasılık arttıkça, kayıp düzgün şekilde azalır.
Doğru cevapta daha yüksek güven = daha düşük kayıp. Eğitim hedefi basittir: gerçek sonraki token için öngörülen olasılığı maksimize et.
Dizi Başına Kayıp
ANDREA, 1024 uzunluğunda diziler üzerinde eğitilir (bağlam penceresi). Her dizi 1024 sonraki-token tahmini üretir. Dizi kaybı tüm konumlar boyunca ortalamayı alır:
sequence_loss = mean(-log(p_correct_t)) for t in 0..1023
Sonra dizi kayıpları toplu iş (batch) boyunca ortalaması alınır (ANDREA-120M batch_size = 8 kullanır). Eğitim adım başına bir skaler sayı. Bu sayı, kayıp eğrisinin çizdiği şeydir.
Bir Pozisyon İçin Kayıp Hesaplama
Perplexity = exp(loss)
Daha Dostça Bir Ölçek
2.0 veya 3.43 gibi kayıp değerleri, modelin ne yapabileceğini hemen anlatmaz. Perplexity, kaybı daha sezgisel bir ölçeğe çevirir:
perplexity = exp(loss)
Perplexity, temiz bir soruya cevap verir: model etkili bir şekilde kaç tane eşit olasılıklı tokenden seçim yapıyor? Perplexity değeri 7 ise, model her konumda 7 olası sonraki tokenden seçim yapıyormuş gibi davranır. Perplexity değeri 1 ise mükemmel tahmin anlamına gelir.
Yaygın Kayıp-Perplexity Çiftleri
| Kayıp | Perplexity | Nasıl hissettiriyor |
|---|---|---|
| 0.0 | 1.0 | Mükemmel tahmin |
| 1.0 | 2.7 | ~3 makul token arasından seçim yapmak |
| 2.0 | 7.4 | ANDREA-12M son SMMA bölgesi |
| 3.0 | 20.1 | Makul metin ama belirsiz |
| 3.43 | 30.9 | ANDREA-120M v1 minimum (cilalanmadan önce) |
| 5.0 | 148 | Erken eğitim, kelime dağımı öğrenme |
| 9.04 | 8449 | ANDREA-120M'nin kelime dağımı için rastgele şans temeli |
Perplexity, kayıp değerlerini bağlama oturtur: 2.0 kayıp, modelin ~7 tokenden etkili bir şekilde seçim yaptığı anlamına gelir, 8449'dan değil.
Rastgele Olasılık Temel Çizgisi
Hiçbir şey bilmeyen ve uniform şekilde tahmin eden bir model, her tokene 1/V olasılık atar, burada V = vocab_size:
p_uniform = 1 / V
loss = -log(1/V) = log(V)
V = 8449 olan ANDREA-120M için:
loss_uniform = ln(8449) ≈ 9.04
V = 2305 olan ANDREA-12M için:
loss_uniform = ln(2305) ≈ 7.74
Bu temel çizginin üzerindeki herhangi bir kayıp, modelin rastgele performanstan daha kötü olduğunu gösterir. Bunun altındaki herhangi bir kayıp, modelin bir şey öğrendiğini gösterir: olasılık kütlesini uniform dağılıma göre daha küçük bir token alt kümesine yoğunlaştırır.
Bir Kayıp Değeri Okuma
Adım Seviyesi Gürültüyü Yumuşatma
Ham Kayıp Gürültülü
Adım başına kayıp etrafta zıplar. ANDREA'nın bandit'i her 7-42 adımda farklı bir kaynak seçer; bazı kaynaklar (sözlük tanımları) kolay kayıplar üretir; diğerleri (gutenberg paragrafları) daha zor kayıplar üretir. Ham adım kaybını adım numarasına karşı çizmek kaotik bir dağılım üretir.
Yumuşatılmış Modifiye Hareketli Ortalama (SMMA) gürültüyü azaltır ve trendi ortaya çıkarır. ANDREA'nın eğitim vekili SMMA'yı şu şekilde hesaplar:
SMMA[0] = loss[0]
SMMA[t] = (SMMA[t-1] * (N-1) + loss[t]) / N
N = 100 (ANDREA'nın varsayılan yumuşatma penceresi) ile, her yeni SMMA değeri önceki SMMA'nın %99'unu yeni adım kaybının %1'i ile karıştırır. Ani sıçramalar emilir; sürekli kaymalar kademeli olarak görünür.
Neden Sadece Ortalama Almak Yerine?
Son 100 adım üzerindeki basit hareketli ortalama, 100 kayıp değerini saklamayı gerektirir. SMMA bir değer (hareketli ortalama) & bir sabit (pencere boyutu) saklar. Bellek açısından ucuz, hesaplama açısından önemsiz & eğriyi okumak için yeterince yumuşak.
Farklı yumuşatma ağırlıkları farklı sorulara cevap verir:
- N = 10: kısa vadeli değişiklikleri izler; faz geçişlerinde faydalı
- N = 100: ANDREA'nın varsayılanı; orta vadeli ilerlemeyi izler
- N = 1000: yalnızca uzun vadeli trend; eğitim sonunda faydalı
ANDREA'nın Takip Ettikleri
Her 100 adımda, eğitim vekili mevcut SMMA, ham kayıp, adım numarası ve kaynak başına analizleri içeren loss.json yazar. training.ai.unturf.com/dashboard üzerindeki gösterge paneli bu dosyayı her 10 saniyede bir yoklar. Dışarıdaki izleyiciler canlı ilerlemeyi görür; gösterge paneli salt okunurdur.
ANDREA-12M'nin Gerçek Eğrisi
SMMA 2.0'a Ulaşan Tarif
| Adımlar | Ortalama Kayıp | Notlar |
|---|---|---|
| 0--2.5K | 4.50 | Rastgele başlatma, erken öğrenme |
| 2.5K--5K | 3.88 | Yapı evresi boyunca hızlı düşüş |
| 5K--10K | 3.30 | Tutarlılık sınırına yaklaşma |
| 10K--20K | 2.80 | Bandit optimal karışımı bulma |
| 20K--25K | 2.40 | Plato --- veri kıtlığı |
| 25K--30K | 2.50 | Hermes verisi eklendi + LR yeniden başlatma |
| 30K--35K | 2.35 | Hermes entegre edildi, yeni düşükler |
| 35K--40K | 2.10 | 4-kollu odak, dik iniş |
| 40K--43.6K | 2.00 | Bilgi bölgesi, SMMA 2.0'ın altında |
Üç aşama öne çıkıyor:
1. Dik erken iniş (0-10K). Kayıp, model kelime dağılımını ve temel dönüş yapısını öğrenirken 4.50'dan 3.30'a düşer. Rastgele-şans temeli ln(2305) ≈ 7.74 bu eğrinin oldukça üzerinde yer alır; gömüler stabilize olduktan sonra model olasılık kütlesini hızla yoğunlaştırır.
2. Platoya (20K-25K). Kayıp 2.40'ta duraklar. Bandit mevcut kaynak karışımında başroomu tükenmişti. 25K adımında Hermes verisi eklenmesi, artı bir LR sıcak yeniden başlatma, platoyu kırdı.
3. Son iniş (35K-43.6K). Müfredat 16 kaynaktan 4'e daraltıldı (hermes3-general + dictionary + gutenberg + chat). Tam kollu haydutunkinden daha dik kayıp düşüşü. Son SMMA: 2.0.
ANDREA-120M v1: Uyarıcı Bir Eğri
Aynı kelime dağarcığı hesabı: ln(8449) ≈ 9.04. ANDREA-120M v1, 110K adımında SMMA 3.43'e ulaştı (minimumu), sonra ayrıştı:
| Adımlar | EMA Kaybı | Trend |
|---|---|---|
| 26K--40K | 4.29 | Yaklaşan |
| 70K--85K | 3.60 | En iyi bölge |
| 85K--110K | 3.43 | Minimum |
| 110K--125K | 3.54 | Sapma |
| 140K--155K | 4.05 | Sapma |
| 155K--165K | 4.54 | Çökmüş |
Tüm boyunca sayısal olarak makul kayıp değerleri (3.43, 9.04 rastgele temel çizginin oldukça altında). Ancak örnekler tekrar çökmesiydi: Budy Budy Budy Budy. Kayıp yanıltıcı bir hikaye anlattı; örnek denetimleri etmedi.
v2'nin tutarlılık kapılı erken durdurma (aktivite 78) paralel bir sinyal ekledi: bigram çeşitliliği, trigram çeşitliliği, İngilizce kelime varlığı, karakter çeşitliliği. Dört skor da 5 ardışık örnek için 30'un altında kaldığında eğitim otomatik durur. Bu sinyal v1'i 132K adımda yakalardı ve 3.8 gün hesaplama tasarrufu sağlardı.
Her Aşama Size Ne Anlatır
120M v1 Dersi
İki Bağımsız Sinyal
ANDREA-120M v1, 110K adımda SMMA 3.43'e ulaştı. Sayısal olarak: Rastgele şanstan 273× daha iyi (perplexity 31 vs kelime dağarcığı boyutu 8449). Eğride harika görünüyor.
110K adımda örnek::
''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Kayıp ve tutarlılık bağımsız sinyallerdir. Düşük kayıp, modelin olasılık kütlesini etkili bir şekilde yoğunlaştırdığını gösterir. Tutarlılık, modelin insanların okuyabileceği metin üretmesi anlamına gelir. İlk durum ikincisini ima etmez.
Neden Boşluk Var
Bir model kaybı şu yollarla düşürebilir:
1. Gerçek dil kalıplarını öğrenmek (iyi): özne-fiil uyumu, yaygın ifadeler, gerçekçi ilişkiler.
2. Yapısal kalıntıları ezberlemek (kötü): yüksek frekanslı tekrar kalıpları, veri kümesi özgü tuhaflıklar, yozlaşmış çekiciler.
Her ikisi de kaybı azaltır. İlk insanların beğendiği örnekler üretir. İkinci Budy Budy Budy Budy üretir. Eğitim hedefi tek başına bunları ayırt edemez.
ANDREA-120M v3 Polish: Kayıp & Tutarlılık Buluştu
v3 cilalama sonrası (112K. adımdan itibaren), ANDREA-120M üretir:
Adım 112,584, kayıp 0.30, ppl 1::
> [extinction prompt]
< siyah örümcek maymunu hayatta, karolina muhabbet kuşu soyu tükenmiş.
Her iki gerçek de doğru. Karolina muhabbet kuşu 1939'da soyu tükenmiş olarak ilan edildi; siyah örümcek maymunu mevcut. Düşük kayıp (0.30) VE tutarlı gerçeksel hatırlama.
Adım 112.500, kayıp 1.94, ppl 7::
> Bir Python projesinde güncel olmayan paketleri nasıl bulurum?
< `pip list --outdated` komutunu kullanarak pip paket listesini görmek için...
Daha yüksek kayıp (1.94 → ppl 7) ancak doğru araç eğitim verilerinden ortaya çıkıyor. İfade akıcılığı eğitimin %56'sında hala gelişiyor.
İki-Sinyal Disiplini
Modern eğitim boru hatları HER İKİSİNİ izler:
- Kayıp eğrisi. Modelin niceliksel olarak bir şey öğrenip öğrenmediğini söyler.
- Örnek denetimi. Modelin öğrendiğinin faydalı olup olmadığını söyler.
v2 tutarlılık kapılı erken durdurma ekledi (etkinlik 78). v3 cilası, kayıp değerleri değil örnek denetimleri tarafından tetiklenen bir müfredat bozulmasıydı. Kayıp tek başına gereklidir ama asla yeterli değildir.