Passes MuonIO

Sanskrit FailedDiscard

passes_p2_muonio_d60m

d60m (68.9M parameters) on plus_all v2 subset (155M tokens), trained on RTX 3060 12GB (Home GPU). Started 11 Oct 2026, ended 11 Oct 2026.

Hypothesis

Updating the word-embedding and output tables with a per-token normalised rule (MuonIO, a 2026 optimizer paper) instead of AdamW gives a better four-pass model.

What we learned

Diverged with the paper's 60M settings: the rule grows the tables' rows to its own scale (about 29 here against 0.4 normally) and the loss climbed from step 150, so it was stopped at step 500. A rescaled rerun follows.

Scores

Bits per byte, lower is better; change against the parent run, Passes 4.

ex-Gītā (headline)
—
bits per byte
ex-Gītā, clean_v1
—
bits per byte
Pooled, all five sets
—
bits per byte
Validation split
1.387
bits per byte
+112.6%
Bits per byte on each test set
Test setPasses MuonIOPasses 4 (parent)Change
DCS gold (classical)—0.6698
Bhagavad-gītā (memorisation)—0.4451
Out of domain—0.6655
Prose—0.628
Vedic (Ṛgveda)—0.8921

Curves

Training loss

Cross-entropy per token, by step. The first few percent of the run, far higher, run off the top; hover or the table has every value.

Held-out bits per byte

The validation split, evaluated during training, by step. Lower is better.

Throughput

Tokens per second, by step.

Model

Preset
d60m
Parameters
68,924,160
Outside embeddings
56,636,160
Layers · heads · width
8 · 12 · 768
Tokenizer
SLP1 unigram 8k

Muon + AdamW, rope, qk_norm, relu^2, untied head, weight decay (F10 recipe), MuonIO for embedding and head

Data

Slice
plus_all v2 subset (155M tokens)
Words
—
Training tokens
155,261,295
Passes
0.16 passes
Tokens seen
24,576,000

Compute

GPU
RTX 3060 12GB
Where
Home GPU
Steps
500 / 12,636
GPU hours
0.15
Cost
—
Spot restarts
—

Lineage

homed60m