Enam Belas Hari region region region
Pelatihan yang Berakhir
ANDREA-120M v1 diluncurkan 2026-03-22 & dihentikan 2026-04-15 pada langkah 165.000 dari 200.000 yang direncanakan. Minimum loss EMA: 3.23 pada langkah 110K (peluang acak: ln(8449) = 9.04, jadi loss terlihat terhormat). Sampel tidak.
Langkah 80K: region region region region region region region
Langkah 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Langkah 140K: games, games, games, games, games, games
Langkah 165K: Budy Budy Budy Budy Budy Budy Budy Budy Budy
Enam belas hari komputasi RTX 4090. 130W kontinyu. Sampah dari langkah 80K ke depan.
Mengapa microGPT Berhasil tetapi 120M Tidak
ANDREA-12M menggunakan proxy pelatihan yang sama & lulus. Matriks bobot yang lebih kecil terbukti lebih tangguh terhadap guncangan gradien. Skala ke 120M parameter mengalikan setiap kerapuhan. Lima kegagalan bertumpuk.
Lima Kegagalan Bertumpuk
Kegagalan 1: Tidak ada clipping gradien. Transisi sumber setiap 7-42 langkah menghasilkan lonjakan gradien tak terbatas. Satu batch buruk pada 120M dapat mendorong model ke atraktor degeneratif yang tidak dapat ditinggalkan oleh optimizer. Model 12M bertahan karena bobot yang lebih kecil menoleransi guncangan tersebut.
Kegagalan 2: Tidak ada pemanasan LR. Learning rate melonjak dari 0 ke puncak secara langsung pada bobot yang baru diinisialisasi. Model jatuh ke dalam basin buruk sebelum representasi apa pun terbentuk.
Kegagalan 3: Tidak ada weight decay. Vanilla Adam mengizinkan bobot yang sangat besar yang memperkuat pola pengulangan pada kapasitas 120M.
Kegagalan 4: Tidak ada pemantauan kualitas sampel. eval_chat_quality() hanya terhubung ke runner multi-fase lama; kurikulum firehose tidak pernah memanggilnya. Model menghasilkan sampah mulai dari langkah 80K ke depan, tidak terdeteksi selama 10+ hari.
Kegagalan 5: Bandit memberi hadiah pada sumber berulang. repo-docs, repo-docstrings, & unfirehose-chat mendapat skor tertinggi (rata-rata hadiah 340-453) karena konten berstruktur daftar mengurangi cross-entropy secara sepele. Bandit memberi model lebih banyak dari apa yang membuatnya merosot.
Penggabungan
Tidak ada satu kegagalan pun yang sendirian menyebabkan v1 runtuh. Masing-masing memperkuat yang lain. Gradient shocks (1) tanpa warmup (2) menghantam model yang baru diinisialisasi dengan bobot sebesar-besarnya secara arbitrer (3) menghasilkan pengulangan yang dihargai oleh bandit (5) sementara tidak ada yang memantau keluaran (4). Lima penyebab yang saling berpotongan, satu keruntuhan.
Mengapa Lima Kegagalan, Bukan Satu
Satu Perbaikan Per Kegagalan
Konfigurasi v2 (2026-04-15)
| Perbaikan | Menargetkan kegagalan | Implementasi |
|---|---|---|
| Pemotongan gradien | F1 (tanpa pemotongan) | Norma L2 global, max_norm=1.0; tiga kernel CUDA (k_grad_norm_partial, k_grad_norm_final, k_grad_scale) menghitung & menerapkan pre-Adam |
| Pemanasan LR | F2 (tanpa pemanasan) | Ramp linier 0 ke puncak selama 2000 langkah. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps) |
| AdamW | F3 (tanpa 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 stopping | F4 (tanpa monitoring) | Score setiap sampel (bigram/trigram/word/char diversity). Auto-halt setelah 5 sampel berturut-turut skor di bawah 30 |
| Curriculum warmup | F5 (bandit eats repetition) | 20K langkah pertama dibatasi pada 7 sumber chat/prose; firehose aktif setelahnya; repo-docstrings dikecualikan sepenuhnya |
Plus sample_every diturunkan dari 200 menjadi 100 langkah (kadens audit digandakan), & cap repo-docs diturunkan dari 0.5 menjadi 0.3.
Back-Test
Coherence gate di-back-test pada v1: akan terpicu pada langkah 132K, menghemat 3.8 hari komputasi. Gate saja akan memotong komputasi terbuang v1 ~30%; empat perbaikan lainnya mencegah v1 mencapai pemicu gate tersebut.
Apa yang TIDAK Diperbaiki v2
Kontaminasi data. v2 mempercayai sumber hermes3-* sebagai 'pre-clean' karena berasal dari guru LLM. DEEP_CLEAN_SKIP di Makefile mengecualikan hermes3-general, hermes3-creative, & hermes3-roleplay dari make deep-clean. unfirehose-chat menangkap prompt sistem agen sebagai giliran pengguna. Kedua cacat tersebut menunggu di lapisan data, siap muncul ke permukaan.
Memetakan Perbaikan ke Kegagalan
Langkah 15K: Dua Cacat Data Muncul
Apa yang Dilihat v2
v2 diluncurkan 2026-04-15. Pada langkah ~15K dari 200K (7,5% selesai), sampel menghasilkan ornamen harness agen (○ ●) & fallback dominasi artikel (a = 26% dari kata pada langkah 14.966; the = 21% pada langkah 14.798). Lima perbaikan stabilitas v2 bekerja dengan benar. Kegagalan telah berpindah dari arsitektur ke data.
Dua Cacat Pipeline Independen
Cacat A: unfirehose-chat menangkap prompt sistem agen sebagai giliran pengguna. unfirehose-chat dibangun dari file JSONL sesi harness di ~/.claude/, ~/.fetch/, ~/.uncloseai/. Pipeline ingest mengonversi prompt sistem agen multi-seksi (# Agent X, ## Identity, ## Rules, dll.) menjadi slot giliran pengguna dari pasangan > user / < assistant. Model mempelajari bahwa 'pengguna' berbicara dalam markdown multi-seksi, & mereproduksi ornamen tersebut dalam outputnya sendiri.
Cacat B: hermes3-* melewati semua filter. DEEP_CLEAN_SKIP di Makefile mengecualikan hermes3-general, hermes3-creative, & hermes3-roleplay dari make deep-clean berdasarkan asumsi salah bahwa data yang didistilasi LLM sudah bersih sebelumnya. Pemindaian menyeluruh menunjukkan bahwa filter yang ada, ketika diterapkan, akan menolak 87-93% baris hermes3 (paragraf kebesaran >2000 karakter yang meluap block_size=1024; respons terjemahan dalam CJK/Cirilik/Arab; jalur bigram-diversity rendah).
Patch v2.5 (commit de24332, 2026-04-18)
Dua perubahan struktural.
Perubahan 1: has_system_prompt_shape() di filter-dataset.c. Mendeteksi kebocoran system prompt berdasarkan BENTUK, bukan pencocokan karakter. Tiga sinyal digabungkan:
1. 3+ header markdown dalam satu turn = drop.
2. 2+ header dengan panjang turn >=500 karakter = drop.
3. Frasa sidik jari shard agen (# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines) dikombinasikan dengan header apa pun atau panjang >=400 = drop.
Aturan isolasi: periksa turn pengguna pertama pada pemisah / (dengan spasi, bukan / kosong yang memecah path URL) untuk menghindari false-positive pada markdown sah dalam respons asisten.
Perubahan 2: hermes3-* dipindahkan dari DEEP_CLEAN_SKIP. Jangan percaya apa pun yang tidak difilter.
Tingkat Penurunan Setelah Patch
| sumber | in-lines | out-lines | dropped |
|---|---|---|---|
| hermes3-general | 536,858 | 67,395 | 87.7% |
| hermes3-roleplay | 35,191 | 2,481 | 93.0% |
| hermes3-creative | 14,258 | 1,373 | 90.4% |
| unfirehose-chat | 3,816 | 2,653 | 30.5% |
| chat | 45.257 | 44.538 | 1,6% (noise) |
| smoltalk | 11.812 | 11.812 | 0,0% |
Filter baseline sudah menangkap 87-93% kontaminasi hermes3; DEEP_CLEAN_SKIP adalah cacat utama yang memikul beban. Detektor bentuk baru menambahkan ~0,1% penolakan tambahan secara keseluruhan, terkonsentrasi di unfirehose-chat di mana ia menghapus kebocoran shard agen spesifik yang dilewatkan oleh filter yang ada.
Mengapa Bentuk Lebih Unggul dari Karakter
Ornamen berevolusi. Filter pencocokan karakter yang menjatuhkan ○ tidak berpengaruh terhadap ◇ minggu depan. Filter berbasis bentuk (hitung header, hitung karakter, kenali frasa sidik jari) menggeneralisasi di berbagai varian ornamen. Pola: deteksi kontaminasi harus menggunakan heuristik struktural.
Mengapa Filter Berdasarkan Bentuk
Lengan Bandit Tanpa Data
v3 Diluncurkan 2026-04-18
Arsitektur & hiperparameter sama seperti v2; data dibersihkan setelah patch v2.5. Nol kebocoran ornamen dalam audit sampel. v3 berjalan bersih hingga langkah 112K.
Langkah 112,619: Audit Sampel Menangkap Pola
Audit sampel mengungkapkan giliran percakapan yang koheren (haiku, Q&A, dialog) tetapi fase periodik yang berfokus pada lengan pengetahuan (gutenberg, repo-docstrings, repo-docs) bocor fragmen seperti kode & noise tokenisasi repositori. Satu sampel pada langkah 112,080 mencapai loss 0.13: anomalously rendah, menandakan substring repo-docs yang dihafal daripada distribusi chat yang dipelajari.
Lengan Zombie
Diagnosis: exclude_sources dengan benar menghapus repo-docstrings pada awal pelatihan, tetapi status bandit yang bertahan membawa residu lengan repo-docstrings dengan bobot 1.546 dari jalankan sebelumnya. Reload status memulihkannya ke dalam pool UCB meskipun tidak ada .btok yang ada untuk disampling, menghasilkan tarikan zombie yang mendistorsi akuntansi eksplorasi.
Pelajaran: file status bandit (.state.json) bergeser melintasi restart dengan cara yang mengejutkan. Eksklusi konfigurasi tidak menghapus memori lengan residu. Diperlukan belt-and-suspenders: cap = 0.0 bersama dengan exclude.
Konfigurasi Polish
Gangguan kurikulum saja. Arsitektur, status optimizer, jadwal laju pembelajaran, & riwayat loss semuanya dipertahankan dari step_112600.bin.
| Sumber | v3 base | v3 polish |
|---|---|---|
| repo-docs | cap 0.3 | dikecualikan (cap 0.0) |
| repo-docstrings | dikecualikan | dikecualikan + cap 0.0 |
| repo-commits | cap 0.4 | cap 0.2 |
| dictionary | cap 0.5 | cap 0.25 |
| gutenberg | cap 0.8 / floor 0.3 | cap 0.7 / floor 0.4 |
| irc-qa-strict | -- | cap 0.3 |
| unweapon | -- | cap 0.3 |
| synthetic-chat | -- | cap 0.4 |
| hermes3-general | floor 0.5 | floor 0.7 |
| hermes3-creative | floor 0.4 | floor 0.55 |
| hermes3-roleplay | floor 0.4 | floor 0.5 |
| chat | floor 0.4 | floor 0.6 |
| smoltalk | floor 0.3 | floor 0.5 |
| oasst | floor 0.3 | floor 0.5 |
| dolly | -- | floor 0.4 |
| curriculum_warmup_steps | 20000 | 0 |
Protokol Poles
1. SIGUSR1 ke CUDA memaksa checkpoint segera pada batas 100 langkah berikutnya.
2. Proxy berhenti.
3. .samples.json & .state.json diarsipkan (log sampel & status bandit disimpan sebagai catatan historis).
4. .loss.json dipertahankan -- riwayat pelatihan kumulatif; tidak pernah diarsipkan.
5. Proxy dimulai ulang. Konfigurasi Polish dikirimkan.
6. CUDA dilanjutkan dari step_112600.bin dengan status bandit baru di bawah batas atas & bawah baru.
Riwayat loss berlanjut tanpa putus.
Mengapa Poles, Bukan Restart
Apa yang Dihasilkan Poles
Sampel Audit, Berjam-jam Setelah Pivot
Dalam hitungan jam setelah perubahan arah ke Polandia, audit sampel mengonfirmasi konvergensi pada empat tujuan asli ANDREA-120M.
Pengingatan faktual (biologi), langkah 112.584, loss 0.30, ppl 1.
> [extinction prompt]
> < black spider montano is alive, carolina parakeet is extinct.
Dua fakta yang benar. Penilaian eksternal: 9.5/10.
Pengingatan faktual (pengolahan sinyal), langkah 112.668, loss 0.74, ppl 2.
> [Fourier transform prompt]
> < Transformasi Fourier menguraikan sinyal menjadi komponen frekuensi, memungkinkan analisis karakteristik sinyal & penyaringan di domain frekuensi.
Definisi satu kalimat dari buku teks. Penilaian eksternal: 9.5/10.
Mengikuti constraint (haiku), langkah 112,248, loss 1.05, ppl 3.
> Tulis haiku tentang hujan menggunakan tiga kata yang dimulai dengan 'r'.
> < Refren ritmis hujan, Rivulet di jendela, Respite dari pain kehidupan.
Pengetahuan alat (Python), langkah 112.500, loss 1.94, ppl 7.
> Bagaimana cara menemukan paket yang sudah usang di proyek Python?
> < Gunakan pip list --outdated names untuk melihat daftar paket pip di manajemen proyek Anda...
Alat yang tepat muncul; frasa tidak tepat.
Enam Domain dalam 700 Langkah
Biologi, pemrosesan sinyal, puisi, alat python, dialog percakapan, dialog ops. Enam domain yang tidak berhubungan dalam 700 langkah menunjukkan bahwa bandit & model bekerja sama. Kelebaran domain ADALAH sinyal konvergensi.
Penilaian Eksternal
Reviewer independen menilai sampel 'solid untuk model 120M parameter -- koherensi & retensi pengetahuan yang mengesankan pada skala ini,' dengan sampel burung parkit Carolina & transformasi Fourier dinilai 9.5/10 & 'melebihi bobotnya pada tugas pengetahuan.'
Apa yang Diajarkan Setiap Fase
v1 mengajarkan: lima kegagalan compounding meruntuhkan pelatihan. Tidak ada perbaikan secara terpisah yang menyelamatkan; kelima harus mendarat sekaligus.
v2 mengajarkan: perbaikan arsitektur diperlukan tetapi tidak mencukupi. Lapisan data dapat mengalahkannya secara diam-diam.
v2.5 mengajarkan: filter kontaminasi berdasarkan bentuk, bukan karakter. Pola stabil; simbol berevolusi.
v3 base mengajarkan: negara bandit bergeser melintasi restart dengan cara yang mengejutkan. Eksklusi saja tidak cukup; tutup 0.0 sabuk-dan-gantungan diperlukan.
v3 polish mengajarkan: ketika kegagalan ada di kebijakan & model sehat, ganggu kebijakan. Simpan bobot. Simpan riwayat loss. Maju terus.
Satu Kebenaran
Konvergensi bukanlah satu peristiwa tunggal; itu adalah rantai koreksi. Setiap fase mengungkap satu cacat, memperbaikinya, & mengungkap yang berikutnya. ANDREA-120M membaca 9.5/10 pada langkah 112,584 karena v1, v2, v2.5, v3 base, & v3 polish masing-masing melakukan tugasnya.