Skip to content

Commit 1012dbc

Browse files
author
Ronald Tse
committed
feat(E3): Muon A/B verdict — 4.8287 (−2.727pp from the optimizer alone); factorial cell 4 queued
run-004-pkm-muon vs run-003-pkm differs only in optimizer: 4.8287 vs 7.5553 full-set windowed DER. Adopt gate (≥0.3pp) exceeded 9x. With E2: gap decomposition ≈0.70pp capacity + 2.73pp optimization + 2.25pp residual. Training CE ~0.007 vs ~0.02; ~1.2s/step vs ~3.4s. run-005-muon (vanilla + Muon) queued to close the 2x2 factorial — orchestrator ARMS extended; completed arms skip via markers (idempotent).
1 parent 7ff65e5 commit 1012dbc

4 files changed

Lines changed: 62 additions & 7 deletions

File tree

‎docs/EXPERIMENTS.md‎

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,25 @@ All rows passed the CER parity gate at release. Readings:
110110

111111
## E3 — Muon optimizer A/B (run-004-pkm-muon)
112112

113-
- **Status:** queued behind E2 (same A10G slot, serialized; the
114-
server-side `qwen_next_chain` orchestrator sequences both arms from
115-
durable volume markers — best/config.json, final_eval.json,
116-
chain_log.jsonl — with 20-min stall detection and respawn).
113+
- **Status:** COMPLETE (2026-08-28). **Outcome: ADOPTED — the gate is
114+
exceeded 9x.**
115+
- **Measured (full 1,200, windowed zero-skip, greedy):** Muon arm
116+
**4.8287** DER-CE vs the single-variable AdamW arm (run-003-pkm)
117+
7.555 — **−2.727pp from the optimizer alone** (adopt gate ≥0.3pp).
118+
Against the shipped vanilla student (8.259): 3.430pp of the 5.677pp
119+
canonical gap closed (60.4%). Teacher reproduced at 2.5997 in this
120+
container (range across eval containers 2.5793–2.5997, bf16
121+
autocast; protocol consistent).
122+
- Training-side corroboration: CE ~0.007 vs the AdamW arm's ~0.02 at
123+
equal steps; step time ~1.2s vs ~3.4s (the <15% overhead gate met
124+
with margin — Newton–Schulz is cheap next to 1450-byte windows); no
125+
stability events.
126+
- **Combined with E2, the gap decomposition at the ByT5-small rung:**
127+
capacity ~0.70pp (PKM) + optimization ~2.73pp (Muon, on the PKM
128+
architecture) + residual ~2.25pp (domain coverage — the subset
129+
lesson). Caveat carried: the A/B isolates the optimizer ON the
130+
memory architecture; the vanilla+Muon cell (run-005-muon) is queued
131+
to complete the 2x2 factorial.
117132
- **Hypothesis:** orthogonalized-momentum updates (Newton–Schulz; the
118133
optimizer Qwen3.8-Flash-Next / LongCat report) help even in
119134
knowledge-limited distillation fine-tunes — unmeasured territory for

‎docs/RESULTS.md‎

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,27 @@ zero-init gates) on the ByT5-small decoder — single-variable.
238238
near-zero added compute — below the pre-registered ≥1.0pp win bar, so
239239
the memory axis is real but not the dominant term of the gap. Gates
240240
verified engaged (0.034-0.053 at completion). Not shipped; the vanilla
241-
client rung stands. The optimizer A/B on the same architecture
242-
(run-004-pkm-muon) is recorded in EXPERIMENTS.md E3.
241+
client rung stands.
242+
243+
### run-004-pkm-muon — optimizer A/B on the memory student (2026-08-28)
244+
245+
Identical to run-003-pkm except the optimizer (Muon on 2D hidden
246+
matrices, AdamW group for embedding-like params; EXPERIMENTS.md E3):
247+
248+
| Model | DER-CE (full 1,200) |
249+
|---|---|
250+
| Teacher (r6, this container) | 2.5997% |
251+
| **ByT5-small + PKM + Muon (run-004)** | **4.8287%** |
252+
| ByT5-small + PKM + AdamW (run-003) | 7.5553% |
253+
| ByT5-small vanilla + AdamW (run-002) | 8.2590% |
254+
255+
**−2.727pp from the optimizer alone** — the adopt gate (≥0.3pp)
256+
exceeded 9x; 3.430pp of the 5.677pp canonical gap closed (60.4%)
257+
combining memory + optimizer. Training CE ~0.007 vs ~0.02 at equal
258+
steps; ~1.2s/step vs ~3.4s; no stability events. The teacher-student
259+
gap at this rung decomposes: ~0.70pp capacity + ~2.73pp optimization
260+
+ ~2.25pp residual (domain coverage). The vanilla+Muon factorial cell
261+
(run-005-muon) completes the decomposition.
243262

244263
Leaderboard context (SadeedDiac-25, Misraj evaluator, zero-skip,
245264
harakat-projected DER-CE): the teacher tier (r6, 580M) at 2.5793

‎docs/paper.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ A fourth question completes the frontier analysis: at the shipped rung, is the r
262262
|r6 teacher |580M |2.582
263263
|===
264264

265-
Memory closes 0.70pp of the 5.68pp teacher–student gap — a real, controlled improvement at near-zero added compute, but below the pre-registered 1.0pp bar under which we would have called the capacity axis *the* fix. The honest conclusion: the distillation gap at this rung is dominated not by parameter capacity but by optimization and domain coverage (the student's training labels span one corpus's domain; the full-benchmark subset lesson of <<section-leaderboard>> measures exactly this exposure). Capacity is a lever on this frontier — a modest one, now measured.
265+
Memory closes 0.70pp of the 5.68pp teacher–student gap — a real, controlled improvement at near-zero added compute, but below the pre-registered 1.0pp bar under which we would have called the capacity axis *the* fix. The same pre-registration discipline then isolated the *optimization* term: an identical arm differing only in optimizer — Muon (orthogonalized momentum via Newton–Schulz) on the hidden matrices, AdamW for embedding-like parameters — scored **4.829**, a further −2.73pp. The gap at this rung decomposes into ≈0.7pp capacity + ≈2.7pp optimization + ≈2.2pp residual (domain coverage; the full-benchmark subset lesson of <<section-leaderboard>> measures exactly this exposure). Two practical notes travel with the number: Muon's training CE was ~3× lower at equal steps *and* ~2.8× faster per step on this workload (1450-byte windows dominate; Newton–Schulz is cheap next to them), and the adopt gate (≥0.3pp, set before training) was exceeded nine-fold. Optimization — not parameter count — is the dominant recoverable term of the distillation gap at this rung; capacity is a modest second lever, now measured. (This speaks to the *distillation* gap on a pretrained backbone; it does not reopen the from-scratch collapse of finding 1, which is an initialization effect.)
266266

267267
== The decode protocol is part of the measurement
268268
[[section-decode]]

‎src/gpu/modal_distill.py‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,26 @@ def _ensure_src_path() -> None:
185185
"mode": "sequence",
186186
"note": "Muon A/B arm; same gate and verdict rule as run-003-pkm",
187187
},
188+
"ara-diac-small-muon": {
189+
# factorial completion (EXPERIMENTS.md E3 caveat): the A/B was
190+
# PKM+Muon vs PKM+AdamW; this cell measures Muon WITHOUT memory
191+
# so the 2x2 {vanilla, pkm} x {adamw, muon} closes cleanly
192+
"teacher": "rababa_arabic_byt5/run-006-morph/best",
193+
"teacher_volume": "rababa",
194+
"student_init": "google/byt5-small",
195+
"optimizer": "muon",
196+
"muon_lr": "0.01",
197+
"train": "r5-units/domain.txt",
198+
"train_extra": ["r5-units/replay.txt"],
199+
"unit_limits": [24000, 6000],
200+
"max_len": 1450,
201+
"label_beams": "1",
202+
"out": "rababa_arabic_distill_small/run-005-muon",
203+
"labels_file": "teacher_labels_v2.jsonl",
204+
"labels_complete": "true",
205+
"mode": "sequence",
206+
"note": "vanilla ByT5-small + Muon (factorial cell 4)",
207+
},
188208
"ara-diac-tiny": {
189209
"teacher": "rababa_arabic_byt5/run-006-morph/best",
190210
"teacher_volume": "rababa",
@@ -1651,6 +1671,7 @@ def qwen_next_chain() -> dict:
16511671
ARMS = [
16521672
("ara-diac-small-pkm", "rababa_arabic_distill_small/run-003-pkm"),
16531673
("ara-diac-small-pkm-muon", "rababa_arabic_distill_small/run-004-pkm-muon"),
1674+
("ara-diac-small-muon", "rababa_arabic_distill_small/run-005-muon"),
16541675
]
16551676
ROOT = Path("/checkpoints")
16561677

0 commit comments

Comments
 (0)