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

Zestien Dagen van region region region

De Run Die Eindigde

ANDREA-120M v1 gelanceerd 2026-03-22 & beëindigd 2026-04-15 bij stap 165.000 van 200.000 gepland. EMA loss minimum: 3.23 bij stap 110K (willekeurige kans: ln(8449) = 9.04, dus loss leek respectabel). Samples deden dat niet.


Stap 80K: regio regio regio regio regio regio regio
Stap 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Stap 140K: spellen, spellen, spellen, spellen, spellen, spellen
Stap 165K: Budy Budy Budy Budy Budy Budy Budy Budy Budy

Zestien dagen RTX 4090 rekencapaciteit. 130W continu. Afval vanaf stap 80K.


Van microGPT naar ANDREA-120M


Waarom microGPT werkte maar 120M niet

ANDREA-12M gebruikte dezelfde trainingsproxy & slaagde. Kleinere gewichtsmatrices bleken robuuster tegen gradiëntschokken. Schalen naar 120M parameters vermenigvuldigde elke kwetsbaarheid. Vijf falen stapelden op.


Vijf Opstapelende Falen


Falen 1: Geen gradiënt clipping. Brontransities elke 7-42 stappen produceerden onbegrensde gradiëntpieken. Een enkele slechte batch bij 120M kan het model in een degeneratieve attractor duwen waar de optimizer niet uit kan ontsnappen. Het 12M-model overleefde omdat kleinere gewichten de schokken verdroegen.


Mislukking 2: Geen LR-warmup. Leerpercentage sprong direct van 0 naar piek op vers geïnitialiseerde gewichten. Het model viel in een slechte basin voordat representaties konden vormen.


Mislukking 3: Geen weight decay. Vanilla Adam liet willekeurig grote gewichten toe die herhalings patronen versterkten bij 120M capaciteit.


Mislukking 4: Geen monitoring van samplekwaliteit. eval_chat_quality() was alleen aangesloten op de legacy multi-phase runner; de firehose curriculum riep het nooit aan. Het model produceerde afval vanaf stap 80K, onopgemerkt gedurende 10+ dagen.


Mislukking 5: Bandit beloonde repetitieve bronnen. repo-docs, repo-docstrings & unfirehose-chat scoorden het hoogst (gemiddelde beloningen 340-453) omdat lijst-gegenereerde content cross-entropy triviaal verlaagt. De bandit voerde het model meer van wat het deed degenereren.


Samengestelde werking

Geen enkele fout alleen zou v1 hebben doen instorten. Elke versterkte de anderen. Gradiëntschokken (1) zonder opwarmfase (2) troffen een pas geïnitialiseerd model met willekeurig grote gewichten (3), wat herhaling produceerde die de bandit beloonde (5) terwijl niemand de uitvoer in de gaten hield (4). Vijf kruisende oorzaken, één instorting.

Waarom Vijf Fouten, Niet Eén

Kies TWEE van de vijf v1-fouten. Voor elk, leg in één zin uit: (a) wat de fout was; (b) hoe deze specifiek samenwerkte met een andere van de vijf fouten om de schade te vergroten.

Eén Reparatie Per Fout

v2 Configuratie (2026-04-15)


ReparatieRicht op foutImplementatie
Gradient clippingF1 (geen clipping)Globale L2-norm, max_norm=1.0; drie CUDA-kernels (k_grad_norm_partial, k_grad_norm_final, k_grad_scale) berekenen & passen toe pre-Adam
LR warmupF2 (geen warmup)Lineaire ramp 0 naar piek over 2000 stappen. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps)
AdamWF3 (geen weight decay)Decoupled weight decay (Loshchilov & Hutter 2019), weight_decay=0.01. p -= lr (m_hat/(sqrt(v_hat)+eps) + weight_decayp)
Coherence-gated early stoppingF4 (geen monitoring)Score elke sample (bigram/trigram/woord/karakter diversiteit). Automatisch stoppen na 5 opeenvolgende samples met score onder 30
Curriculum warmupF5 (bandit eet herhaling)Eerste 20K stappen beperkt tot 7 chat/proza bronnen; firehose activeert daarna; repo-docstrings volledig uitgesloten

Plus sample_every verlaagd van 200 naar 100 stappen (audit frequentie verdubbeld), & repo-docs cap verlaagd van 0.5 naar 0.3.


Back-Test

Coherence gate back-tested op v1: zou zijn getriggerd op stap 132K, 3.8 dagen compute bespaard. De gate alleen zou v1's verspilde compute met ~30% hebben verminderd; de andere vier fixes voorkomen dat v1 die gate trigger ooit bereikt.


Wat v2 NIET Heeft Gefixt

Data-contaminatie. v2 vertrouwde hermes3-* bronnen als 'pre-clean' omdat ze van een LLM-docent kwamen. DEEP_CLEAN_SKIP in de Makefile sloot hermes3-general, hermes3-creative, & hermes3-roleplay uit van make deep-clean. unfirehose-chat ving agent-systeem prompts op als user turns. Die twee defecten wachtten op de data-laag, klaar om naar boven te komen.

Fixes Koppelen aan Fouten

Drie van v2's fixes koppelen netjes aan één v1-fout elk. Koppel: (a) gradient clipping (max_norm=1.0); (b) LR warmup (2000-step lineaire ramp); (c) AdamW met weight_decay=0.01. Voor elk, noem de v1-fout die het aanpakt & leg in één zin UIT waarom deze specifieke fix die fout countert.

Stap 15K: Twee Datadefecten Komen Aan de Oppervlakte

Wat v2 Zag

v2 gelanceerd op 2026-04-15. Bij stap ~15K van 200K (7,5% voltooid) produceerden samples agent-harness ornamenten (○ ●) & article-dominance fallback (a = 26% van woorden bij stap 14.966; the = 21% bij stap 14.798). De vijf v2-stabiliteitsfixes werkten correct. De fout was verschoven van architectuur naar data.


Twee Onafhankelijke Pipeline-Defecten


Defect A: unfirehose-chat ving agent-systeem prompts op als user turns. unfirehose-chat bouwt op uit harness-sessie JSONL-bestanden bij ~/.claude/, ~/.fetch/, ~/.uncloseai/. De ingest-pipeline zette multi-section agent-systeem prompts (# Agent X, ## Identity, ## Rules, etc.) om in de user-turn slot van > user / < assistant paren. Het model leerde dat 'users' spreken in multi-section markdown, & reproduceerde die ornamenten in zijn eigen outputs.


Defect B: hermes3-* omzeilde alle filters. DEEP_CLEAN_SKIP in de Makefile sloot hermes3-general, hermes3-creative en hermes3-roleplay uit van make deep-clean op de verkeerde aanname dat LLM-gedestilleerde data voorgezuiverd was. Een uitgebreide scan toonde aan dat de bestaande filters, wanneer toegepast, 87-93% van de hermes3-regels zouden afwijzen (te grote paragrafen >2000 tekens die block_size=1024 overschrijden; vertaalreacties in CJK/Cyrillisch/Arabisch; runs met lage bigram-diversiteit).


v2.5 Patch (commit de24332, 2026-04-18)


Twee structurele wijzigingen.


Wijziging 1: has_system_prompt_shape() in filter-dataset.c. Detecteert gelekte systeemprompts op basis van VORM, niet op basis van tekenvergelijking. Drie signalen gecombineerd:

1. 3+ markdown headers in één beurt = drop.

2. 2+ headers met beurtlengte >=500 tekens = drop.

3. Agent-shard fingerprint frases (# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines) gecombineerd met enige header of lengte >=400 = drop.


Isolatieregels: controleer de eerste gebruiker beurt bij de / scheiding (met spaties, niet kale / die URL-paden fragmenteert) om vals-positieven op legitieme markdown in assistentreacties te vermijden.


Wijziging 2: hermes3-* verplaatst uit DEEP_CLEAN_SKIP. Vertrouw niets ongefiltsterd.


Drop Rates Na Patch


bronin-regelsout-regelsgedropt
hermes3-general536.85867.39587,7%
hermes3-roleplay35.1912.48193,0%
hermes3-creative14.2581.37390,4%
unfirehose-chat3.8162.65330,5%
chat45.25744.5381,6% (ruis)
smoltalk11.81211.8120,0%

Baseline filters vingen al 87-93% van de hermes3-contaminatie; DEEP_CLEAN_SKIP was het cruciale defect. De nieuwe vormdetector voegt ~0,1% extra afwijzing toe overall, geconcentreerd in unfirehose-chat waar het specifieke agent-shard leaks verwijdert die bestaande filters missen.


Waarom Vorm Beter is dan Karakter

Ornamenten evolueren. Een karakter-matchende filter die weglaat, doet niets aan volgende week. Een vormgebaseerde filter (tel koppen, tel karakters, herken vingerafdrukfrasen) generaliseert over ornamentvarianten. Patroon: contaminatiedetectie moet structurele heuristieken gebruiken.

Waarom Filteren op Vorm

v2.5 filters agent-shard leaks by SHAPE (header count, length, fingerprint phrases) rather than by CHARACTER (matching specific symbols like ornaments). Give one practical reason this matters & one concrete failure mode that a character-only filter would NOT catch.

Een Bandit Arm zonder Data

v3 Gelanceerd 2026-04-18

Zelfde architectuur & hyperparameters als v2; schoongemaakte data na v2.5 patch. Nul ornament leaks in sample audits. v3 draaide schoon door tot stap 112K.


Stap 112,619: Monster Audit Vangt een Patroon

Monster audit onthulde coherente gespreksbeurten (haiku, V&A, dialoog) maar periodieke fasen gericht op kennisarmen (gutenberg, repo-docstrings, repo-docs) lekten code-achtige fragmenten & repository-tokenisatie-ruis. Eén monster op stap 112.080 bereikte verlies 0,13: anomalistisch laag, signalerend gememoriseerde repo-docs-substrings in plaats van geleerde chatverdeling.


De Zombie Arm

Diagnose: exclude_sources verwijderde repo-docstrings correct aan het begin van de training, maar de gepersistente bandit-staat droeg een residu repo-docstrings arm met gewicht 1,546 over van een eerdere run. State-herladen herstelde het in de UCB-pool, ook al bestond er geen .btok om uit te samplem, wat een zombie-pull produceerde die de exploratie-accounting verstoorde.


Les: bandit-staatbestanden (.state.json) drijven op onverwachte manieren over herstarts heen. Configuratie-uitsluitingen wissen geen residu-armgeheugen. Belt-and-suspenders vereist: cap = 0,0 naast exclude.


Poolse Configuratie

Curriculumperturbatie alleen. Architectuur, optimizerstatus, leerpercentageschema en verliesgeschiedenis allemaal behouden van step_112600.bin.


Bronv3 basisv3 polish
repo-docscap 0.3uitgesloten (cap 0.0)
repo-docstringsuitgeslotenuitgesloten + cap 0.0
repo-commitscap 0.4cap 0.2
dictionarycap 0.5cap 0.25
gutenbergcap 0.8 / floor 0.3cap 0.7 / floor 0.4
irc-qa-strict--cap 0.3
unweapon--cap 0.3
synthetic-chat--cap 0.4
hermes3-generalfloor 0.5floor 0.7
hermes3-creativefloor 0.4floor 0.55
hermes3-roleplayvloer 0.4vloer 0.5
chatvloer 0.4vloer 0.6
smoltalkvloer 0.3vloer 0.5
oasstvloer 0.3vloer 0.5
dolly--vloer 0.4
curriculum_warmup_steps200000

Pools Protocol

1. SIGUSR1 naar CUDA dwingt onmiddellijke checkpoint bij de volgende 100-stap grens.

2. Proxy stopt.

3. .samples.json & .state.json gearchiveerd (sample log & bandit state opgeslagen als historisch record).

4. .loss.json behouden -- cumulatieve trainingsgeschiedenis; nooit gearchiveerd.

5. Proxy herstart. Polish config ingediend.

6. CUDA hervat vanaf step_112600.bin met verse bandit state onder nieuwe caps & floors.


Loss history gaat ononderbroken door.

Waarom Polish, Niet Herstarten

Stap 112.619 stond op 56% van de geplande training. Het team koos voor CURRICULUM PERTURBATIE (gewichten behouden, caps & floors wijzigen) in plaats van FULL RESTART (opnieuw initialiseren bij stap 0). Geef twee redenen waarom polish-pivot correct was & één specifiek risico dat teruggaan naar stap 0 zou hebben geïntroduceerd.

Wat Polish Produceerde

Voorbeeld Audit, Uren Na Pivot

Binnen uren na de Poolse draai bevestigde een steekproefaudit convergentie op de vier oorspronkelijke ANDREA-120M-doelen.


Feitelijke herinnering (biologie), stap 112.584, verlies 0,30, ppl 1.

> [extinction prompt]

> < black spider montano is alive, carolina parakeet is extinct.

Twee correcte feiten. Externe beoordeling: 9,5/10.


Feitelijke herinnering (signaalverwerking), stap 112.668, verlies 0,74, ppl 2.

> [Fouriertransformatie prompt]

> < De Fouriertransformatie ontleedt signalen in frequentiecomponenten, waardoor analyse van signaalkenmerken en filtering in het frequentiedomein mogelijk is.

Textbook one-sentence definition. External grading: 9.5/10.


Beperking volgen (haiku), stap 112,248, loss 1.05, ppl 3.

> Schrijf een haiku over regen met drie woorden die beginnen met 'r'.

> < Regen’s ritmische refrein, Riviertjes op het raam, Rust van levenspijn.


Kennis van tools (Python), stap 112.500, loss 1.94, ppl 7.

> Hoe vind ik verouderde pakketten in een Python-project?

> < Gebruik pip list --outdated names om de lijst van pip-pakketten in je projectmanagement te zien...

Juiste tool komt naar voren; formulering onnauwkeurig.


Zes Domeinen in 700 Stappen

Biologie, signaalverwerking, poëzie, python-tools, conversationeel dialoog, ops-dialoog. Zes niet-gerelateerde domeinen binnen 700 stappen vertelt ons dat de bandit & het model samenwerken. Domeinbreedte IS het convergentiesignaal.


Externe Beoordeling

Onafhankelijke recensent beoordeelde monsters als 'solide voor een 120M param model -- indrukwekkende coherentie & kennisbehoud op deze schaal,' met de Carolina parkiet & Fourier-transformatie monsters beoordeeld als 9.5/10 & 'boven zijn gewicht boksend op kennisopdrachten.'


Wat Elke Fase Leerde


v1 leerde: vijf samengestelde falen doen training instorten. Geen enkele fix in isolatie redt; alle vijf moeten tegelijk landen.


v2 leerde: architectonische fixes zijn noodzakelijk maar niet voldoende. Datalaag kan ze stilzwijgend verslaan.


v2.5 leerde: filter contaminatie op vorm, niet op karakter. Patronen zijn stabiel; symbolen evolueren.


v3 basis leerde: bandit-staat drijft op verrassende manieren over herstarts heen. Uitsluitingen alleen zijn niet genoeg; cap 0.0 belt-and-suspenders vereist.


v3 polish leerde: wanneer de fout in het beleid zit & het model gezond is, verstoor het beleid. Behoud gewichten. Behoud verliesgeschiedenis. Ga door.


Eén Waarheid

Convergentie is geen enkel evenement; het is een keten van correcties. Elke fase onthulde één defect, repareerde het, & ontrafelde het volgende. ANDREA-120M scoort 9.5/10 op stap 112.584 omdat v1, v2, v2.5, v3 basis, & v3 polijst elk hun werk deden.

Welke Fase Leerde de Moeilijkste Les

Van de vijf fasen (v1, v2, v2.5, v3 basis, v3 polijst), welke zou jij zeggen dat de meest-overdraagbare ingenieursles leerde? Kies er één. Stel de les in je eigen woorden & geef 2-3 zinnen die uitleggen waarom deze les generaliseert buiten taalmodeltraining.