Learn the claim boundary · code-adjacent
Split ≠ Ortho
Keller NS×5 Ortho vs timing-cheap split-QKV · two mechanisms, one sealed stack
Two different things get conflated under Muon talk. Ortho / NS×5 is Keller Jordan’s Muon kernel — Newton–Schulz orthogonalization of the momentum update. Timing-cheap split-QKV is a separate campaign mechanism: treat Q, K, and V as separate matrices under that same Muon.
Split wrappers still call the same Ortho kernel. Separating QKV does not invent Muon. The sealed wall-clock claim needs both pieces in the stack — not Ortho alone, not split alone.
From Keller Jordan’s blog (reference)
Ortho ≈ newtonschulz5; separate Q/K/V is a layout preference under Muon, not the Ortho kernel.
Our implementation
Kit zeropower_via_newtonschulz5 + timing-cheap split flags
muon_split_qkv=1 · match_joint=0.
Our commentary Two-column compare and beats teach the claim boundary. No sealed ΔT% invented here — full stack vs F1_seal lives on the report.
Muon · #split-vs-ortho split-qkv-explained GLOSSARY NUMBERS_CANON
Beat 01
Layout ≠ kernel
Joint QKV vs split Q/K/V — not the same as Ortho/NS.
Beat 02
Converge
Separate paths merge into one Ortho kernel.
Beat 03
Same NS ×5
Newton–Schulz output identical; layout does not redefine Ortho.
Beat 01 · Layout — Ortho is the kernel; split is Q/K/V shape. Different columns.
TensorTonic-style step transport (cf. matrix-transpose layout walkthrough + adam-optimizer Step readouts).
Play or Step through layout → converge → same NS; walkthrough cards below sync via data-beat.
Schematic only — sealed ΔT% stays on the report.
Definition
Ortho / NS×5 = approximate nearest semi-orthogonal update via five Newton–Schulz steps
(blog newtonschulz5 · kit zeropower_via_newtonschulz5).
That is Muon’s distinguishing kernel.
Timing-cheap split-QKV = campaign architecture path that runs separate Q, K, V under Muon with low step-time tax (vs dual-polar, which was killed). It is not a new Ortho algorithm.
One-line claim boundary
Ortho = Keller Muon kernel
Split = Q/K/V treatment under that kernel
Seal = Muon B32 + timing-cheap split vs F1_seal
Side by side — what each thing is
Left column is the optimizer kernel. Right column is the attention layout / campaign bank. Same Muon training run can use both; they answer different questions.
Momentum update → Newton–Schulz → semi-orthogonal step.
- Keller Jordan Muon
- Attribution required
- Claim pin: NS 5
kit/muon_opt.py · zeropower_via_newtonschulz5
blog: newtonschulz5 ≈ Ortho(G)=UVᵀ
Separate Q, K, V matrices instead of one fused QKV projection.
- Campaign banked mechanism
- Not inventing Muon
- Flags: split=1 · match_joint=0
kit/muon_opt_split_qkv_*.py
still calls zeropower_via_newtonschulz5
Two mechanisms. One sealed stack uses both. Neither column is a sealed ΔT% by itself.
Schematic only. Sealed percentages stay on the report / NUMBERS_CANON.
Same Newton–Schulz is still called
Timing-cheap split changes how QKV weights are shaped and stepped.
It does not replace Ortho.
Split wrappers call the same zeropower_via_newtonschulz5 used by joint Muon.
Split path → kit/muon_opt_split_qkv_*.py · calls same NS
Dual-polar → killed (CE edge, step tax ≈ 1.026) · not Ortho either
Sealed claim needs both
Plain Muon compose failed or lost under our seal (FAILURE_LEDGER). What was sealed is the composed candidate: Keller Muon on a B32 systems path plus timing-cheap split-QKV, scored vs sealed AdamW F1_seal only.
| Piece | Role | Alone a sealed ΔT%? |
|---|---|---|
| Ortho / NS×5 | Muon kernel (Keller) | No — not Muon-alone % on explainers |
| B32×accum16 | Systems path (banked) | No — step-time component only |
| Timing-cheap split-QKV | Layout / campaign bank | No — mechanism, not full seal |
| Full candidate stack | Muon B32 + timing-cheap split | Yes — vs F1_seal on report |
Published mean ΔT% and seed table live on report.html / NUMBERS_CANON — not invented on this page.
Hedges / non-claims
Split ≠ Ortho/NS. Separating QKV does not invent Muon and does not redefine Newton–Schulz.
No sealed wall-clock % invented on this page. Full stack vs F1_seal only — see report / NUMBERS_CANON.
Matched candidate-vs-joint-stock first-cross ΔT% = N/A where measured. Not an official NoCap win.
Sources
- muon-explained.html#split-vs-ortho — Muon primer + campaign note
- muon-explained.html#claim-boundary — NS×5 = Keller Ortho; no Muon-alone sealed %
- split-qkv-explained.html — joint · cheap · dual-polar; flags
- b32-systems-explained.html — systems path under the stack
- kill-bank-seal-explained.html — process that banked split
- GLOSSARY · Intro · Read more
- Keller Jordan — Muon post · Muon repo