Lipschitz Finite-Newton–Schulz Muon
Implementation & benchmark of arXiv:2608.26288 — Muon with Finite Newton-Schulz: The Smoothing Benefit in Nonsmooth Nonconvex Optimization
Source paper: Muon with Finite Newton-Schulz: The Smoothing Benefit in Nonsmooth Nonconvex Optimization arXiv:2608.26288 ⓘ · analyzed Aug 29, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use a finite Newton–Schulz spectral transform on Muon momentum matrices instead of computing an exact polar factor or treating finite depth as a nuisance approximation. The finite polynomial remains close to orthogonalization but smooths the singular-value response, reducing abrupt update changes caused by rank deficiency or small singular values. Increase the iteration depth logarithmically with training progress or a target error rather than using a fixed expensive depth.
Formulas
Mathematical statement
For a matrix S in R^{m x n} with thin SVD S = U diag(sigma_1(S),...,sigma_r(S)) V^T, the paper defines polar(S) = U diag(1{sigma_i(S)>0}) V^T and states the operator/nuclear duality identity sup_{||X||_op <= D} <S,X> = D ||S||_*; the maximizer is D polar(S). More generally, for h:[0,infinity) -> R with h(0)=0, the spectral map H_h(S) = U diag(h(sigma_1(S)),...,h(sigma_r(S))) V^T. The transfer uses the finite Newton–Schulz polynomial h_t. First scale S by alpha >= ||S||_op, set X_0 = S/alpha, and iterate X_{j+1} = 0.5 X_j(3I - X_j^T X_j) for j=0,...,t-1 when m >= n; for n > m use X_{j+1}=0.5(3I-X_j X_j^T)X_j. On every singular direction, the scalar recursion is h_{j+1}(s)=0.5 h_j(s)(3-h_j(s)^2), with h_0(s)=s/alpha. As t grows, h_t(s) approaches 1 for nonzero normalized singular values, recovering the polar factor, but finite t is a smooth polynomial response. Use G_t = alpha X_t as the optimizer direction. The paper's central transferable claim is that finite depth smooths the discontinuous polar spectral map and that depth O(log(1/epsilon)) is sufficient for an epsilon-accurate nonsmooth nonconvex stationarity guarantee, whereas exact polar updates can fail under the same conversion.
Implementation notes
(1) Integrate at the Muon optimizer update for every 2-D weight matrix W, after momentum or gradient accumulation and before applying the parameter step. Let M_t = beta M_{t-1} + (1-beta) grad_t, where beta is the momentum coefficient. Replace exact SVD-based polar(M_t), or the existing fixed-depth orthogonalization, by finite Newton–Schulz. This changes only the direction calculation; Adam-style scalar updates for biases and LayerNorm parameters remain unchanged.
(2) Pseudocode:
for each matrix parameter W with gradient G:
M = beta*M + (1-beta)*G
alpha = max(eps, estimate_operator_norm(M))
X = M / alpha
if rows(M) >= cols(M):
repeat j = 1..t:
X = 0.5 * X @ (3*I - X.T @ X)
else:
repeat j = 1..t:
X = 0.5 * (3*I - X @ X.T) @ X
direction = alpha * X
W = W - lr * shape_scale(W, direction) * direction
Use power iteration with 2–3 matrix-vector products to estimate alpha = ||M||_op, and clamp alpha to at least 1e-6. Start with t=2 or 3. For an adaptive schedule, choose t_t = min(t_max, max(t_min, ceil(c log(1+q_t)))) where q_t is the normalized training-step fraction or a running inverse gradient-noise estimate; a simpler first test uses t=2 for the first 70% of training and t=4 thereafter.
(3) The paper supplies the spectral-map construction, polar/nuclear duality, and the logarithmic-depth smoothing guarantee. Estimate ||M||_op empirically by power iteration, and measure the actual orthogonalization residual r_t = ||X_t^T X_t-I||_F / sqrt(min(m,n)). Also estimate update smoothness by recording ||direction_t-direction_{t-1}||_F / ||M_t-M_{t-1}||_F. No SVD is needed during training; occasional SVDs on sampled layers can diagnose singular-value behavior.
(4) First experiment: train a 100M–300M decoder-only Transformer on a fixed small language-model corpus using the same batch size, learning rate, momentum, and FLOP budget. Compare baseline Muon with fixed t=5, exact-polar Muon if feasible, finite t=2, finite t=3, and the adaptive 2-to-4 schedule. Log training loss versus optimizer FLOPs, gradient/update cosine similarity, orthogonalization residual, and loss spikes after rank or scale changes. Success is lower loss at equal optimizer compute, fewer unstable spikes, or equal perplexity with fewer Newton–Schulz matrix multiplications. A falsification is that shallow finite-depth variants fail to match t=5 perplexity or show no stability improvement over exact polar updates on ill-conditioned or low-rank initialized layers.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not tested
Stage 2 · Practical benchmark result: Not run
Methodology: Toy-system gate first; the benchmark stage runs only after a pass. How verification works
Stage 1 — Mechanism check agent confidence 7/10
Built a finite Newton–Schulz Muon-style matrix optimizer, scalar spectral verification, nuclear/operator duality check, and a fixed-seed ill-conditioned quadratic benchmark. The math checks passed: polar achieves the nuclear-norm optimum exactly, zero remains zero, small singular values are smoothly attenuated, and normalized singular-value error contracts rapidly. In the toy optimization, t=2 achieved final loss 1.78e-6 versus 5.78e-4 for exact polar and used 360 versus 900 Newton–Schulz matrix multiplications relative to t=5; updates were also much smoother than exact polar. This is a promising signal, not evidence of a transformer-scale win: tiny CPU wall time was not faster than exact SVD, and the benchmark is only a synthetic quadratic proxy.
- Agent confidence
- 7/10
- Baseline
- Exact polar: final loss 5.78e-4, loss@60 5.87e-3, mean update-smoothness ratio 39.54, 0 NS multiplications, 0.064 s mean over 3 seeds
- Idea
- Finite NS t=2: final loss 1.78e-6, loss@60 9.59e-4, mean update-smoothness ratio 1.22, 360 NS multiplications, 0.099 s mean over 3 seeds; adaptive 2-to-4: final loss 2.07e-6 and 470 multiplications
Limitations: No Transformer, language-model corpus, GPU, FLOP-normalized large-model test, rank-changing training, or statistically powered hyperparameter sweep was performed. Exact SVD and Newton–Schulz timings are not representative at this tiny matrix size; the adaptive schedule was only one hand-selected 2-to-4 schedule.
How to run: python3 experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Artifacts
- experiment.py 6.4 KB View Raw
- report.md 1.7 KB View
- results.json 78.1 KB View Raw