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

un

gast
1 / ?
terug naar lessen

eval_chat_quality() Was Aangesloten op de Verkeerde Runner

Een 10-Daags Falen Dat Op Dag 3 Had Moeten Stoppen

ANDREA-120M v1 trainde 16.1 dagen op een RTX 4090 op 130W continu. Sample outputs werden elke 200 stappen opgeslagen maar nooit geanalyseerd tijdens de run. Bij stap 80K (dag 4) lazen samples region region region region region. Bij stap 110K, ''''' ''''' '' ''' ''. Training ging nog 11 dagen door voordat handmatig gestopt bij stap 165K.


Wat Ging Er Mis Met de Rookmelder

eval_chat_quality() bestond in de codebase. Het scoorde samplekwaliteit. Het werkte zelfs correct. Maar het was alleen aangesloten op de legacy multi-phase runner. De v1 firehose curriculum gebruikte een ander codepad & riep de eval nooit aan. De rookmelder stond in een andere kamer met de deur dicht.


De Kosten

16,1 dagen compute. 130W continu. ~50 kWh elektriciteit. Het model produceerde op geen enkel moment bruikbare output. Loss EMA bereikte een dieptepunt van 3,23 op stap 110K, klom toen terug naar 4,54 op stap 165K toen de training stopte. Numeriek redelijk; semantisch leeg.


Willekeurige kans voor een vocabulaire van 8449 tokens is 9,04. v1 bereikte 3,23 EMA loss terwijl het region region region produceerde. Loss alleen kan geen coherentie-instorting detecteren. Een model dat cross-entropy minimaliseert door één hoogfrequent token te herhalen, krijgt numeriek beloond voor de faalmodus.

Waarom Loss Curves Logen

v1 bereikte EMA loss 3,23 (ver onder willekeurige kans 9,04) terwijl het `region region region region` produceerde. Leg in 2-3 zinnen uit hoe een model numeriek redelijke loss kan bereiken terwijl het gedegenereerde output produceert. Verwijs naar het cross-entropy mechanisme.

Score Elk Monster op Vier Assen

De Samengestelde Score

v2 levert een coherentiepoort die elk monster scoret (genomen elke 100 stappen tijdens firehose training) op vier metrics:


Coherence gate flow


MetricBereikWat het detecteert
Bigram diversity0-35Herhaling op tweewoordniveau (region region)
Trigram diversity0-35Herhaling op driewoordniveau (a, b, a, b, a, b)
English word presence0-20Afwijken naar niet-Engels (CJK, Cyrillisch, onzin)
Character diversity0-10Ineenstorting tot enkel karakter (''''', ... ... ...)

Totaal mogelijk: 100. Drempel: 30.


Waarom Vier Metrics, Niet Eén

Elke metric vangt een ander faalmodus op:


- Een model dat instort tot één bigram faalt Bigram diversiteit maar slaagt Character diversiteit.

- Een model dat leestekensruis produceert (''''' ''''' '') faalt Character diversiteit maar zou Bigram diversiteit kunnen slagen als de leestekensparen variëren.

- Een model dat afdrijft naar niet-Engels (vertaaltrainingscontaminatie) faalt in Engelse woord aanwezigheid maar slaagt voor Bigram & Trigram diversiteit als het grammaticaal Mandarijn produceert.

- Een model dat a, b, a, b, a, b produceert slaagt voor Bigram (a-b & b-a verschijnen) maar faalt voor Trigram (a-b-a, b-a-b domineren).


Samen bestrijken de vier metrics de faalruimte. Een composietscore onder de 30 betekent dat ten minste één as zo ernstig is ingestort dat het hele sample omlaag trekt.


Aaneensluitende Teller

Auto-halt activeert na 5 aaneensluitende samples met een score onder de 30. Enkele slechte samples kunnen voorkomen tijdens fase-overgangen of zeldzame-bron pulls; vijf op rij betekenen dat het model gestopt is met herstellen. Met samples genomen elke 100 stappen, 5 aaneensluitende gedegenereerde samples = 500 stappen van bevestigde coherentie-instorting.

Bereken een Score

Een v1-sample op stap 80K leest `region region region region region region region region`. Schat scores: (a) Bigram-diversiteit, (b) Trigram-diversiteit, (c) Aanwezigheid van Engelse woorden, (d) Karakterdiversiteit. Bereken het totaal. Trigger de gate op dit sample alleen?

Hoe v1 Eruit Zou Hebben Gezien

Back-Tested Trigger

Gezien v1's opgeslagen samples, het retroactief toepassen van de v2-coherentie gate toont dat de gate zou hebben getriggerd op stap 132K. v1 liep tot stap 165K voor handmatige terminatie. De gate zou de training 33.000 stappen eerder hebben gestopt.


Computertijd Bespaard

RTX 4090 getraind op ~6 stappen/min in FP16 cuBLAS. 33.000 stappen / 6 stappen/min = 5.500 minuten = 91,6 uur = 3,8 dagen computertijd bespaard. Bij 130W continu, dat is ~12 kWh elektriciteit, plus 3,8 dagen GPU-slijtage.


Waarom Stap 132K & Niet Stap 80K

v1 produceerde region region region bij stap 80K. Waarom vuurde de gate toen niet?


Omdat intermitterende goede samples verschenen tussen slechte. De bandit cyelde door bronnen elke 7-42 stappen. Zelfs een gedegenereerd model produceerde af en toe diversere outputs bij samplen uit een andere bron, wat de teller voor opeenvolgende samples tijdelijk resette. Bij stap 132K was het model zo diep gecollapseerd dat 5 opeenvolgende gedegenereerde samples (500 stappen) onvermijdelijk werden.


Les: Sluit de Rookmelder aan op Elke Runner

v2 sluit eval_chat_quality() direct aan op de sample-handling code path van de firehose curriculum, niet alleen op de legacy runner. Elke sample, elke run, elke code path: dezelfde poort. De fix kostte ~30 regels code.

Generaliseer het Engineering Patroon

v1 verspilde 3.8 dagen omdat eval_chat_quality() alleen was aangesloten op één runner. Stel (in 2-3 zinnen) welk engineeringprincipe de v2 coherence gate vestigt voor langdurige ML-training. Verwijs naar zowel de wiring-keuze & het composite-metric design.