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

un

Gast
1 / ?

eval_chat_quality() War an den Falschen Runner Verkabelt

Ein 10-Tage-Fehler, Der Am Tag 3 Hätte Stoppen Sollen

ANDREA-120M v1 trainierte 16,1 Tage auf einer RTX 4090 bei 130W kontinuierlich. Probenausgaben wurden alle 200 Schritte gespeichert, aber während des Laufs nie analysiert. Ab Schritt 80K (Tag 4) lasen Proben region region region region region. Ab Schritt 110K ''''' ''''' '' ''' ''. Das Training lief weitere 11 Tage weiter, bevor es manuell bei Schritt 165K getötet wurde.


Was War Mit Dem Rauchmelder Schiefgelaufen

eval_chat_quality() existierte im Codebase. Es bewertete die Qualität von Samples. Es funktionierte sogar korrekt. Aber es war nur mit dem legacy multi-phase runner verdrahtet. Der v1 firehose curriculum nutzte einen anderen Codepfad & rief die eval nie auf. Der Rauchmelder stand in einem anderen Raum mit geschlossener Tür.


Die Kosten

16,1 Tage Compute. 130W kontinuierlich. ~50 kWh Strom. Das Modell produzierte zu keinem Zeitpunkt brauchbare Ausgabe. Loss EMA bottomte bei 3,23 im Step 110K, stieg dann auf 4,54 im Step 165K zurück, als das Training stoppte. Numerisch vernünftig; semantisch leer.


Zufällige Chance für ein 8449-Token-Vokabular ist 9,04. v1 erreichte 3,23 EMA Loss, während es region region region produzierte. Loss allein kann keinen Kohärenz-Kollaps erkennen. Ein Modell, das Cross-Entropy minimiert, indem es einen hochfrequenten Token wiederholt, wird numerisch für diesen Fehlmodus belohnt.

Warum Loss-Kurven logen

v1 erreichte EMA Loss 3,23 (deutlich unter zufälliger Chance 9,04), während es `region region region region` produzierte. Erklären Sie in 2-3 Sätzen, wie ein Modell numerisch vernünftigen Loss erreichen kann, während es degenerierte Ausgabe produziert. Beziehen Sie sich auf den Cross-Entropy-Mechanismus.

Bewerte jede Probe auf vier Achsen

Der Composite Score

v2 enthält ein Kohärenz-Gate, das jede Probe (alle 100 Schritte während des Firehose-Trainings) auf vier Metriken bewertet:


Coherence gate flow


MetrikBereichWas es erkennt
Bigram-Diversität0-35Wiederholung auf Zwei-Token-Ebene (region region)
Trigram-Diversität0-35Wiederholung auf Drei-Token-Ebene (a, b, a, b, a, b)
Englische Wörter0-20Abdrift in Nicht-Englisch (CJK, Kyrillisch, Unsinn)
Zeichen-Diversität0-10Kollaps auf einzelne Zeichen (''''', ... ... ...)

Gesamt möglich: 100. Schwelle: 30.


Warum vier Metriken, nicht eine

Jede Metrik erfasst einen anderen Fehlerfall:


- Ein Modell, das auf ein einziges Bigram kollabiert, scheitert bei Bigram-Diversität, besteht aber Zeichen-Diversität.

- Ein Modell, das Interpunktionsrauschen erzeugt (''''' ''''' ''), scheitert bei Zeichen-Diversität, könnte aber Bigram-Diversität bestehen, wenn die Interpunktionspaare variieren.

- Ein Modell, das in eine nicht-englische Sprache abdriftet (Kontamination durch Übersetzungstraining), scheitert an der englischen Wortpräsenz, besteht aber Bigram- & Trigram-Diversität, wenn es grammatikalisches Mandarin produziert.

- Ein Modell, das a, b, a, b, a, b produziert, besteht Bigram (a-b & b-a erscheinen), scheitert aber Trigram (a-b-a, b-a-b dominieren).


Zusammen decken die vier Metriken den gesamten Fehlraum ab. Ein Gesamtwert unter 30 bedeutet, dass mindestens eine Achse so stark kollabiert ist, dass die gesamte Probe heruntergezogen wird.


Konsekutiver Zähler

Auto-Halt löst nach 5 konsekutiven Proben aus, die unter 30 punkten. Einzelne schlechte Proben können während Phasenübergängen oder seltenen Quellziehungen auftreten; fünf in Folge bedeuten, dass das Modell aufgehört hat, sich zu erholen. Bei Proben alle 100 Schritte entsprechen 5 konsekutive degenerate Proben = 500 Schritten bestätigtem Kohärenz-Kollaps.

Einen Score berechnen

Ein v1-Sample bei Schritt 80K liest `region region region region region region region region`. Schätzen Sie die Scores: (a) Bigram-Diversität, (b) Trigram-Diversität, (c) Englische Wörter, (d) Zeichen-Diversität. Berechnen Sie das Gesamt. Löst das Gate allein durch dieses Sample aus?

Wie v1 ausgesehen hätte

Back-Tested Trigger

Basierend auf den gespeicherten Samples von v1 zeigt die rückwirkende Anwendung des v2-Kohärenz-Gates, dass das Gate bei Schritt 132K ausgelöst worden wäre. v1 lief bis Schritt 165K, bevor es manuell beendet wurde. Das Gate hätte das Training 33.000 Schritte früher gestoppt.


Berechnete Einsparung

RTX 4090 trainiert mit ~6 Schritten/Minute in FP16 cuBLAS. 33.000 Schritte / 6 Schritte/Minute = 5.500 Minuten = 91,6 Stunden = 3,8 Tage Rechenzeit eingespart. Bei 130W kontinuierlich sind das ~12 kWh Strom, plus 3,8 Tage GPU-Verschleiß.


Warum Schritt 132K & nicht Schritt 80K

v1 produzierte region region region bei Schritt 80K. Warum hat das Gate damals nicht ausgelöst?


Weil intermittierende gute Samples zwischen den schlechten auftauchten. Der Bandit wechselte alle 7-42 Schritte die Quellen. Selbst ein degeneriertes Modell produzierte gelegentlich vielfältigere Ausgaben bei Sampling aus einer anderen Quelle, was den Zähler für aufeinanderfolgende Fehlschläge kurz zurücksetzte. Bis Schritt 132K war das Modell so tief kollabiert, dass 5 aufeinanderfolgende degenerate Samples (500 Schritte) unvermeidlich wurden.


Lektion: Den Rauchmelder an jeden Runner anschließen

v2 verkabelt eval_chat_quality() direkt in den Codepfad für die Probenverarbeitung des Firehose-Curriculums, nicht nur in den Legacy-Runner. Jede Probe, jeder Lauf, jeder Codepfad: dasselbe Gate. Die Korrektur umfasste ~30 Zeilen Code.

Das Engineering-Muster verallgemeinern

v1 verschwendete 3,8 Tage, weil eval_chat_quality() nur an einen Runner angebunden war. Begründe (in 2-3 Sätzen), welches Ingenieurprinzip das v2-Kohärenz-Gate für langfristiges ML-Training etabliert. Beziehe dich auf die Verkabelungswahl & das Design des Kompositmetrik.