eval_chat_quality() Yanlış Çalıştırıcıya Bağlıydı
10 Günlük Bir Arıza Ki 3. Günde Durmalıydı
ANDREA-120M v1, RTX 4090 üzerinde 130W sürekli güçte 16.1 gün eğitildi. Örnek çıktılar her 200 adımda saklandı ancak çalışma sırasında hiç analiz edilmedi. 80K adımda (4. gün), örnekler region region region region region okunuyordu. 110K adımda, ''''' ''''' '' ''' ''. Eğitim, 165K adımda manuel olarak öldürülene kadar başka 11 gün devam etti.
Duman Dedektöründe Ne Yanlış Gitti
eval_chat_quality() kod tabanında mevcuttu. Örnek kalitesini puanlıyordu. Hatta doğru çalışıyordu. Ama yalnızca eski çok aşamalı çalıştırıcıya bağlanmıştı. v1 firehose müfredatı farklı bir kod yolunu kullanıyordu ve eval'i hiç çağırmıyordu. Duman alarmı, kapısı kapalı başka bir odadaydı.
Maliyet
16.1 gün hesaplama. 130W sürekli. ~50 kWh elektrik. Model hiçbir noktada kullanılabilir çıktı üretmedi. Kayıp EMA'sı 110K adımda 3.23'e düştü, sonra eğitim 165K adımda durduğunda 4.54'e geri yükseldi. Sayısal olarak makul; anlamsal olarak boş.
8449-tokenluk bir kelime dağarcığı için rastgele şans 9.04'tür. v1, region region region üretirken 3.23 EMA kaybına ulaştı. Kayıp tek başına tutarlılık çöküşünü tespit edemez. Çapraz entropiyi en aza indiren bir model, yüksek frekanslı bir token'ı tekrarlayarak bu başarısızlık modundan sayısal olarak ödüllendirilir.
Neden Kayıp Eğrileri Yalan Söyledi
Her Örneği Dört Eksende Puanla
Bileşik Puan
v2, her örneği (firehose eğitimi sırasında her 100 adımda alınan) dört metrikte puanlayan bir tutarlılık kapısı ile gelir:
| Metrik | Aralık | Yakaladığı şey |
|---|---|---|
| Bigram çeşitliliği | 0-35 | İki-token seviyesinde tekrar (region region) |
| Trigram çeşitliliği | 0-35 | Üç-token seviyesinde tekrar (a, b, a, b, a, b) |
| İngilizce kelime varlığı | 0-20 | İngilizce dışıya kayma (CJK, Kiril, saçmalık) |
| Karakter çeşitliliği | 0-10 | Tek karakter çöküşü (''''', ... ... ...) |
Toplam mümkün: 100. Eşik: 30.
Neden Dört Metrik, Bir Değil
Her metrik farklı bir başarısızlık modunu yakalar:
- Tek bir bigrama çöken bir model Bigram çeşitliliğini başarısız kılar ancak Karakter çeşitliliğini geçer.
- Noktalama gürültüsü üreten bir model (''''' ''''' '') Karakter çeşitliliğini başarısız kılar ancak noktalama çiftleri değişiyorsa Bigram çeşitliliğini geçebilir.
- İngilizce'ye kayan bir model (çeviri eğitimi kontaminasyonu) İngilizce kelime varlığını başarısız kılar ancak dilbilgisel Mandarin ürettiğinde Bigram & Trigram çeşitliliğini geçer.
- a, b, a, b, a, b üreten bir model Bigram'ı geçer (a-b & b-a görünür) ancak Trigram'ı başarısız kılar (a-b-a, b-a-b baskın).
Birlikte, dört metrik başarısızlık alanını kapsar. 30'un altındaki bir bileşik puan, en az bir eksenin tüm örneği aşağı çekecek kadar kötü çöktüğü anlamına gelir.
Ardışık Sayaç
Otomatik durma, 5 ardışık örnek 30'un altında puan aldığında tetiklenir. Tek kötü örnekler faz geçişleri veya nadir kaynak çekimleri sırasında oluşabilir; art arda beş tane modelin toparlanmayı bıraktığı anlamına gelir. Her 100 adımda örnek alındığında, 5 ardışık yozlaşmış örnek = doğrulanmış tutarlılık çöküşünde 500 adım.
Puan Hesapla
v1 Nasıl Görünürdü
Geri-Test Edilmiş Tetikleyici
v1'in saklanan örneklerine dayanarak, v2 tutarlılık kapısını geriye dönük uygulandığında kapının 132K. adımda tetikleneceği görülür. v1 manuel sonlandırmadan önce 165K. adıma kadar çalıştı. Kapı eğitimi 33.000 adım daha erken durdururdu.
Tasarruf Edilen Hesaplama
RTX 4090, FP16 cuBLAS'ta ~6 adım/dakika hızında eğitildi. 33.000 adım / 6 adım/dakika = 5.500 dakika = 91,6 saat = 3,8 günlük hesaplama tasarrufu. Sürekli 130W ile, bu ~12 kWh elektrik, artı 3,8 günlük GPU aşınması.
Neden Adım 132K ve Değil Adım 80K
v1, adım 80K'da region region region üretti. O zaman neden kapı tetiklenmedi?
Çünkü kötü örnekler arasında aralıklı iyi örnekler ortaya çıktı. Bandit her 7-42 adımda kaynaklar arasında döngü yaptı. Hatta dejener bir model bile farklı bir kaynaktan örnekleme yaptığında daha çeşitli çıktılar üreterek ardışık sayacı anlık olarak sıfırladı. Adım 132K'ya gelindiğinde, model o kadar derin çökmüştü ki 5 ardışık dejener örnek (500 adım) kaçınılmaz hale geldi.
Ders: Duman Dedektörünü Her Runner'a Bağlayın
v2, eval_chat_quality() fonksiyonunu doğrudan firehose müfredatının örnek işleme kod yoluna bağlar, sadece eski runner'a değil. Her örnek, her çalıştırma, her kod yolu: aynı kapı. Düzeltme ~30 satır kod aldı.