MuonEq: Balancing Before Orthogonalization with Lightweight Equilibration
Authors: Da Chang, Qiankun Shi, Lvgang Zhang, Yu Li, Ruijie Zhang, Yao Lu, Yongxiang Liu, Ganzhao Yuan
Organizations: Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences · Pengcheng Laboratory · University of Chinese Academy of Sciences · Sun Yat-sen University · Southern University of Science and Technology · George Washington University · Shenzhen University of Advanced Technology
Orthogonalized-update optimizers such as Muon improve training of matrix-valued parameters, but existing extensions typically either rescale updates after orthogonalization or use heavier whitening-based preconditioners before it. We introduce {\method}, a lightweight family of pre-orthogonalization equilibration schemes for Muon with three forms: two-sided row/column normalization (RC), row normalization (R), and column normalization (C). By rebalancing the momentum matrix before finite-step Newton--Schulz orthogonalization, {\method} improves the geometry seen by orthogonalization. We show that finite-step orthogonalization is governed by the input spectrum, especially stable rank and condition number, and that row/column normalization acts as a zeroth-order surrogate for whitening. For hidden matrix weights, R is the default variant. Theoretically, {\method} (R) retains the standard O(T−1/4) Muon-type nonconvex stationarity guarantee with decoupled weight decay and a horizon-free diminishing learning-rate schedule, and extends it to finite-step NS5 up to an explicit inexactness constant. In LLaMA2 pretraining on C4, {\method} (R) consistently outperforms Muon on 130M, 350M, and 1B models, with faster convergence and lower validation perplexity. The code is available at the MuonEq codebase.
Figures & tables
Algorithm 1 MuonEq (mode s∈{RC,R,C} ; default s=R ) 1: Input: Initial parameters X1∈Rm×n , learning rates ηt>0 , momentum coefficients {βt}t≥1⊂[0,1) , weight decay λt≥0 , mode s∈{RC,R,C} , stability term ε≥0 , Nesterov flag, scaling constant a=0.2max(m,n) . 2: Initialize M0=0 3: for t=1 to T do 4: Gt=∇f(Xt;ξt) 5: Mt=βtMt−1+(1−βt)Gt 6: if Nesterov then 7: Mt=βt+1Mt+(1−βt+1)Gt 8: else 9: Mt=Mt 10: end if 11: M^t=DiagPre(Mt,s,ε) 12: Ot=NS5(M^t) 13: Xt+1=(1−λtηt)Xt−aηtOt 14: end for
Algorithm 2 DiagPre 1: Input: Momentum Mt , mode s∈{RC,R,C} , stability term ε≥0 2: if s∈{RC,R} then 3: Dr,t=diag(rowsum(Mt⊙Mt)+ε) 4: end if 5: if s∈{RC,C} then 6: Dc,t=diag(colsum(Mt⊙Mt)+ε) 7: end if 8: \hat{\mathbf{M}}_{t}=\left\{\begin{array}[]{ll}\mathbf{D}_{r,t}^{-1/2}\widetilde{\mathbf{M}}_{t}\mathbf{D}_{c,t}^{-1/2},&\hbox{s=\mathrm{RC};}\\ \mathbf{D}_{r,t}^{-1/2}\widetilde{\mathbf{M}}_{t},&\hbox{s=\mathrm{R};}\\ \widetilde{\mathbf{M}}_{t}\mathbf{D}_{c,t}^{-1/2},&\hbox{s=\mathrm{C}.}\end{array}\right. 9: return M^t Remark 2.1 . Unless otherwise stated, we use s=R ; RC and C are retained for analysis and ablation. For varying βt , the Nesterov line follows the EMA-buffer convention; for βt≡β , it reduces to the Nesterov form Yuan et al. (2024) ; Chang et al. (2025) .
Table 1
Figure 1: Random Gaussian matrices with controlled shapes and spectral spreads. Top: finite-step relative Frobenius error to the exact polar factor across Newton–Schulz steps. Bottom: raw and post-normalization condition numbers. Two-sided row/column normalization yields the smallest error and the most consistent spectral compression.
Figure 2: Finite-step orthogonalization error across Newton–Schulz steps at 1%, 10%, 50%, and 100% of training. In each column, the top panel shows the module-wise median and the bottom panel shows the module-wise mean; shaded bands denote the 25%–75% range. Two-sided row/column normalization decays fastest.
Figure 3: Comparison of LLaMA2 130M, 350M, and 1B from three perspectives. In each column, the top panel corresponds to the 130M model, the middle panel corresponds to the 350M model, and the bottom panel corresponds to the 1B model. From left to right, the panels show training loss versus tokens, validation loss versus tokens, and validation loss versus wall-clock time.
Optimizer
130M
350M
1B
Perplexity
Memory
Time
Perplexity
Memory
Time
Perplexity
Memory
Time
AdamW Loshchilov and Hutter (2019)
21.35
12.94
0.21
16.25
29.43
0.53
14.71
39.56
2.47
MARS-AdamW Yuan et al. (2024)
20.03
12.99
0.23
15.62
29.47
0.57
13.22
39.57
2.50
Muon Jordan et al. () ; Liu et al. (2025a)
20.52
12.52
0.25
15.21
28.18
0.61
13.06
34.81
2.76
Muon-Nes Jordan et al. () ; Liu et al. (2025a) ; Chang et al. (2025)
20.18
12.52
0.25
15.19
28.18
0.61
13.24
34.81
2.76
MuonEq
19.96 ↓ 0.56
12.52
0.26
15.07 ↓ 0.14
28.18
0.63
12.86 ↓ 0.20
34.81
2.78
Table 1: Best validation perplexity, peak memory usage, and wall-clock training time on LLaMA2/C4.
Figure 4: (a,b) Validation perplexity and step time vs. Newton–Schulz iterations K on GPT2-small/FineWeb (10.5B tokens); (c,d) validation perplexity heatmaps over learning rate and momentum at K=5 (2.6B tokens).
Table 7
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 5: Learning-rate sweeps for LLaMA2-130M and LLaMA2-350M trained on C4 for 2.6B and 7.5B tokens, respectively.
Figure 6: Singular-value entropy and stable rank of Muon momentum matrices under different normalization schemes during LLaMA2-130M training on C4 for 2.6B tokens. RowColNorm consistently improves both metrics over Direct , ColNorm , and RowNorm .
Figure 7: Layerwise Muon NS5 bias decomposition under different normalization schemes during LLaMA2-130M training on C4 for 2.6B tokens. The top panel reports ∥NS5(S(M))−Orth(S(M))∥F , while the bottom panel reports ∥Orth(S(M))−Orth(M)∥F , both evaluated across layers at the same training step. These plots reveal how the choice of normalization shifts the error budget between the finite-step approximation error term and the preconditioning bias term.
Figure 8: Validation perplexity heatmaps on GPT2-small/FineWeb (2.6B tokens) over learning rate and momentum at K=4 and K=5 .
Hyper-parameter
AdamW
MARS-AdamW
Muon
Muon-Nes
MuonEq
MuonEq-Nes
Max Learning Rate
5e-3
3e-3
3e-3
3e-3
3e-3
3e-3
Warmup Steps
500
Batch Size
128
Maximum Length
4096
Weight Decay
0.1
(β1,β2)
(0.9,0.95)
Appendix
Table 4: Hyperparameters used for training LLaMA2-130M on C4
Hyper-parameter
AdamW
MARS-AdamW
Muon
Muon-Nes
MuonEq
MuonEq-Nes
Max Learning Rate
1.5e-3
2e-3
1.5e-3
2e-3
2e-3
2e-3
Warmup Steps
500
Batch Size
256
Maximum Length
4096
Weight Decay
0.1
(β1,β2)
(0.9,0.95)
Appendix
Table 5: Hyperparameters used for training LLaMA2-350M on C4
Hyper-parameter
AdamW
MARS-AdamW
Muon
Muon-Nes
MuonEq
MuonEq-Nes
Max Learning Rate
{5e-4, 8e-4}
Warmup Steps
1000
Batch Size
512
Maximum Length
4096
Weight Decay
0.1
(β1,β2)
(0.9,0.95)
Appendix
Table 6: Hyperparameters used for training LLaMA2-1B on C4
Hyper-parameter
SGD
AdamW
Muon
Muon-Nes
MuonEq-Nes (RC)
MuonEq-Nes (C)
MuonEq-Nes (R)
Max Learning Rate
5e-2
1e-3
5e-2
5e-2
5e-2
5e-2
5e-2
Warmup Steps
0
Epochs
100
Batch Size
128
(β1,β2)
(0.9,0.999)
(0.9,0.95)
Muon-Momentum
✗
✗
0.9
Appendix
Table 7: Hyperparameters used for training ResNet-18 on CIFAR10
Hyper-parameter
AdamW
AdaMuon
Muon+ (colrow)
Mousse
Muon-Nes
MuonEq-Nes (RC)
MuonEq-Nes (C)
MuonEq-Nes (R)
Max Learning Rate
2e-3
5e-3
5e-3
2e-3
2e-3
2e-3
2e-3
2e-3
Warmup Steps
1000
Total Steps
20000
Batch Size
128
Maximum Length
4096
Weight Decay
0.1
Appendix
Table 8: Hyperparameters used for training GPT2-small on FineWeb