Back
Towards Compositional Steepest Descent
TL;DR
- We introduce Compositional Muon (CM), which extends Muon-style steepest descent from individual matrices to composed transformer circuits such as and .
- CM derives partner-whitened update rules that rescale each factor's gradient by the spectral geometry of its partner.
- CM achieves consistent pretraining gains over Muon at 340M and 1B scale, and sets a new state of the art on the nanoGPT speedrun.
- Code is available at github.com/tilde-research/comp-muon-release.
Outline
- Introduction — Motivation and the compositional stability problem
- Composed Perturbations — The rank obstruction and achievable tangent space
- Half-Split Composed Muon — Partner-whitened update rules for QK and OV
- Gauge Motion and Momentum — Representative motion, momentum, and practical gauge correction
- Experiments — 340M/1B pretraining, nanoGPT speedrun, ablations
0. Towards Optimizing Compositions
Today, many of the most capable language models are trained with the Muon optimizer [2]. From Kimi K2 [20] to DeepSeek V4 [21], Muon has demonstrated strong performance at scale over the previous mainstream optimizer AdamW [22][8].
A key insight behind Muon is to treat matrices in neural networks as linear operators, instead of collections of independent scalars. In particular, while Adam treats every weight as its own optimization problem, updating each entry proportionally to its gradient and second moment, Muon's optimization problem directly utilizes the matrix structure of a parameter it is optimizing.
Muon’s update rule follows from formulating steepest descent for a single linear map, . But many natural model operations are compositional: their behavior depends on how several pieces interact. In those cases, the object of interest is the composition itself, so we should formulate the optimization problem at the level of the composed operation rather than only at the level of its individual factors.
In this manner, we introduce Compositional Muon (CM) which extends Muon’s core principle to composed circuits. Instead of controlling the operator norm and trust region of each weight matrix separately, where applicable it controls the optimization of the composition. For the QK and OV products in attention, this leads to dynamic partner-whitened update rules that adapt step sizes for each matrix based on the geometry of its partner.
By designing around composed circuits, CM improves the spectral behavior of these updates and suggests a rich design space for compositional optimizers.
1. The Compositional Stability Problem
1.1 Steepest Descent for a Single Linear Layer
Consider a single linear layer . The parameter and the input-output function are the same object: any perturbation directly changes what the layer computes. The resulting optimization question is then: what update decreases the loss most rapidly, subject to the layer's function not changing too much?
The operator norm is the right constraint since it bounds the worst-case output perturbation over all unit inputs. The solution is , where is the (thin) SVD of the gradient. This solution replaces all singular values with 1s, yielding a unit-operator-norm update maximally aligned with the gradient [3]. The resulting optimizer is Muon [2] (in practice, it (semi-)orthogonalizes the momentum buffer rather than the raw gradient).
One of the key properties that makes this work is that for a single linear layer, the parameter perturbation is the functional perturbation. For compositions of multiple operations, this is no longer necessarily true.
1.2 Composed Functional Perturbations
In a neural network, no layer operates in isolation. The function the loss evaluates is a composition of maps, and perturbations to one layer's parameters affect the behavior of all subsequent layers. Beyond controlling the operator norm of each parameter's update separately, one possible solution would be to control the perturbation of the entire composition itself.1
Take the QK product in one attention head of a Transformer [1] (ignoring RoPE and QK-norm for now; see Appendix F for discussion on these design choices). The loss sees and only through their product . A perturbation induces (ignoring the higher-order term) a first-order functional change
Controlling and separately only bounds through the partner norms:
In particular, the same factor-level update size can induce very different functional perturbations depending on the current spectral geometry of the partner matrix.
The “compositional steepest descent problem” asks for the update that controls the functional perturbation directly:
This is harder than the single-layer case, but it admits tractable formulations. The same composition principle applies to the OV product , and analogues exist for diagonal RMSNorm scales [9] (Appendix G) and activation-gated MLPs (Appendix H).
2. Composed Perturbations
2.1 The Product Structure and Rank Obstruction
Recall that a perturbation induces the first-order functional change (2)
and the steepest descent problem in terms of the product gradient is
where is the set of achievable first-order product perturbations.
If we could optimize over freely, the solution would be
where for the thin SVD . The natural next step would be to decompose into factor updates but this fails for rank deficiency reasons: each of and has rank at most . In particular, the achievable perturbations have rank at most , while is generically full-rank.2
Instead, we optimize directly over from the start. The difficulty is that constrains the operator norm of a sum, , so the feasible updates are jointly determined rather than separable factor-wise; moreover, each piece carries the partner matrix, so how severely a given or perturbs the product depends on the spectral geometry of and .
2.2 The Achievable Set as a Tangent Space
Before continuing, it is worth seeing what actually is. It is the tangent space at to the manifold of rank- matrices,
Differentiating a factorization produces , and at , this is exactly . The rank obstruction from §2.1 is then just the statement that tangent vectors to have rank at most , so the full-rank is off the tangent space and cannot be a feasible step.
This viewpoint also suggests a Manifold-Muon [4]-inspired update is possible, whereby one mandates that the update lie in the tangent space to the current point on the weight manifold.
3. Half-Split Composed Muon
In this section, we develop the half-split and hybrid half-split composed Muon update rules. We begin with a discussion of polar decompositions for the QK product, and then turn to the OV pathway, where the head structure forces a "hybrid" update rule. See Table 1 for the concrete update rules.
3.1 Polar Decompositions and Half-Split Composed Muon
Observe that the product-gradient objective decomposes as
This decomposition suggests a simple surrogate: split the update into two separately budgeted steps, one for and one for . This is generally not the optimal solution to the original problem, since the original constraint is on the sum of the two product perturbations, not on each term separately.
Let us treat the first term on the right-hand side first. If we allocate equal perturbation budgets to the two terms, the corresponding optimization problem is
Using polar decompositions, we can formulate an equivalent problem that is closer in structure to the original Muon problem. Write
Here and is symmetric positive semi-definite. We have
The objective becomes
where .
Since has orthonormal rows, right-multiplication by it preserves operator norms, so
Thus, with , the original problem may be reformulated as
The problem is now in the standard Muon form, with the solution
. Undoing the change of variables ():
A similar analysis can be applied to the second term on the right-hand side, yielding
This analysis yields the first composition-derived update rule, which we call “half-split”.3.
The main limitation of this approach is that the 50/50 budget split is arbitrary. If the gradient is more informative on one side, half the budget is wasted on the other. One can drop the per-side budgets in favor of a single jointly constrained spectral step on the concatenated whitened factors, sidestepping the allocation question at the cost of a slightly looser worst-case product bound; we work this variant out in Appendix B. For grouped-query attention, the half-split idea suggests allocating budgets by query group; see Appendix D.
3.2 The Hybrid Case: Per-Head, Per-Matrix
For QK, everything above was deduced per-head: each head has its own query-key product, produces its own attention matrix, and therefore defines its own composed map
Thus the natural way to perform the optimization is per-head.
The OV pathway is different. The value matrices still act head-by-head, but the output projection is the operation that merges all heads back into the residual stream. This creates an asymmetry: the -side perturbation is naturally head-local, while the -side perturbation is naturally matrix-global.
For token , write the head- context and value feature as
The OV output is
This equation suggests a hybrid approach to the OV pathway. Before , the heads are still separate; at , they are not. The model sees one stacked value vector and one output projection into the residual stream.
First consider a -side perturbation. Since is applied before head 's value feature is merged with the others, the first-order change is
Each term has its own input , its own value matrix , and its own output block . The heads may attend to different tokens, so their effective context vectors should be treated as separate directions. This gives the headwise bound
The natural -side question is therefore local to each head. Applying the half-split rule to each head gives
where
Here is the optimizer scale for the head-local rule. The formula controls the shape of each head's value update; the overall scale of the summed OV perturbation is set by the learning rate and CM multiplier.
For an -side perturbation, the value features have already been formed. The first-order change is
Now the heads enter as blocks of one stacked vector. The output projection is one linear map from the concatenated head space back to the residual stream. Thus the natural -side question is global.
For each head, define
Whiten the gradients per head, concatenate them, and take one matrix sign:
Writing
the corresponding blockwise update is
The difference from the rule is where the matrix sign is taken. On the side, each head is orthogonalized separately because the value map acts before head aggregation. On the side, the whitened gradients are concatenated and orthogonalized once because is the map that performs the aggregation.
Table 1. Concrete half-split and hybrid update rules. Here denotes the polar factor of . For the OV rule, denotes the optimizer step scale; the overall scale of the residual-stream perturbation is set by the learning rate and CM multiplier.
QK half-split, per head. Define
Then
OV hybrid half-split. For each head , define
Whiten the gradients per head, concatenate, and take one matrix sign:
with
The hybrid updates are
3.3 Isotropic Approximation
The full half-split rules use inverse square roots of partner Gram matrices. However, we may also attempt to approximate the partner Gram matrix by a scaled isometry. For a tall factor
if the columns of are approximately orthogonal and have comparable norms, then
Thus
and under this assumption, we may approximate the QK partners via
and the -side OV partner via
On the -side of the OV update, the partner is
and the relevant Gram matrix is therefore the row Gram
The isotropic approximation in this case is
Under this approximation, every partner inverse root becomes a scalar multiplier:
and because is scale-invariant, the scalar inside the spectral sign drops out. What remains is ordinary Muon, but with a partner-dependent effective learning rate.
For QK, the full rule
becomes
and similarly
For OV, the -side update becomes
The -side remains global across heads, but the per-head whitening factors become scalars:
Empirically, the isotropic approximation performs similarly to the full CM update.
To check whether the isotropic assumption holds in practice, we plot the relevant partner Gram for a representative layer/head below.
The scalar factors also give a useful effective-learning-rate interpretation. For example, the -side effective learning rate is
where is the raw WSD learning rate, is the half-split quota, is the CM multiplier, and is the scalar approximation to the -partner Gram root.
4. Gauge Motion and Momentum
So far we have treated the factors and as if they were fixed coordinates for the product update. But the loss does not see these coordinates directly. It sees only , and this representation is not unique: for any invertible matrix ,
leaves the product unchanged:
Differentiating this action gives the corresponding pure-coordinate, or vertical, directions
These directions are nonzero in parameter space, but invisible to the product to first order:
More specifically, if we let be the space of factor pairs, and be the product map, then the natural object is not , but rather the quotient .
However, in practice we utilize objects that at implementation time are stored in factor coordinates, e.g. momentum buffers. In particular, even though one can show (see Appendix E) that the undamped half-split update is not coordinate-dependent, the resulting optimizer with momentum, damping, and finite Newton-Schulz iterations is coordinate dependent.
Hence, we need to provide a prescription for how to perform quotient-level motion in redundant coordinates. We may do so via a connection. Namely, given a point on , one defines the vertical directions
A connection then smoothly assigns a complementary horizontal subspace , so that every factor update decomposes as
where is pure gauge motion and is the chosen representative of the product-level motion.
One simple choice of connection is to declare horizontal directions to be those Frobenius-orthogonal to the gauge directions.
For tangent vectors and , we have the flat Frobenius inner product
An update is then horizontal, by definition, if
Expanding the traces gives the horizontality condition
For ordinary gradient descent, the factor gradients are
Therefore
So the raw negative gradient is horizontal for the Frobenius connection.
However, in the case of momentum, even if it is horizontal at one step, it is not generally horizontal at the next step, because the horizontal subspace itself depends on the current factors. If
at the current point, then after an update
the same buffer would need to satisfy
Using the old horizontality condition, this reduces to
which need not hold. So momentum can accumulate vertical components even when each fresh raw gradient is horizontal.
This creates two practical issues. First, the buffer can drift into vertical directions because the horizontal space moves with the factors. Second, a whitened update is tied to the partner geometry at the step where it was computed. A term whitened using is not naturally comparable to one whitened using .
We handle the second issue by accumulating raw gradients rather than already-whitened updates:
The half-split update is then formed using the current partner geometry:
Vertical drift can be handled separately by projecting the buffer or update back onto the horizontal space. Concretely, given , choose so that
satisfies
Writing , this gives
The correction is vertical, so it leaves the first-order product perturbation unchanged. It only changes the representative of that perturbation in factor coordinates.
5. Experiments
5.1 Architecture ablations
We ran experiments to ablate two common design choices in the QK pathway, QK-norm [7] and the positional method (ALiBi vs. RoPE [6][5]), while also comparing whether CM is applied to OV only or to both OV+QK. We evaluated three architecture settings:
- No QK-norm + ALiBi
- No QK-norm + RoPE
- QK-norm + RoPE
In each setting, we report the best validation loss and the corresponding hyperparameters.
Across all three settings, CM on both OV+QK beats vanilla Muon by a clear margin. In the cleanest setup for the theory (no QK-norm + ALiBi, where the learned QK logits remain a plain matrix product), OV-only CM already outperforms Muon, and adding QK CM further improves. With RoPE (no QK-norm + RoPE), OV-only CM underperforms Muon, but OV+QK CM still wins; this suggests a non-trivial interaction between CM and RoPE that we do not yet fully understand (TODO: root cause). In the most realistic setup (QK-norm + RoPE), OV-only CM improves over Muon, while adding QK CM does not provide additional gains, consistent with the possibility that QK-norm reduces or removes the benefit of applying CM on the QK circuit.
To understand the effect of CM on the composed update , we track its singular values and Frobenius norm throughout training. This is the quantity the loss actually sees through the circuit, so stable composed-update spectra are evidence that CM is controlling the functional step rather than merely the individual factor steps. Under CM, both the spectrum and the norm stay stable, and the coefficient of variation of the per-head update norm across heads within a layer remains small:
5.2 1B pretraining
To check that Compositional Muon’s gains survive scale, we repeat the comparison at 1B parameters (QK-norm + RoPE, 70B tokens). We test two CM parameterizations against a tuned Muon baseline: (i) full-whitening OV+QK, and (ii) isotropic OV gauge, which uses the isotropic approximation plus a scalar gauge rebalance on the V↔O pair. Both beat Muon throughout training: the curves separate early and remain separated through the end.
We also tested at 1B parameters (no QK-norm + ALiBi, 70B tokens), and observed even larger gains from CM on both OV+QK—suggesting an additional benefit from applying CM to the QK circuit in this setting.
We summarize the final loss of the two settings as follows.
5.3 Hyperparameter sweeps
The following shows a CM multiplier sweep comparing CM and isotropic CM; the results agree well across different mp values.
The following shows a CM multiplier sweep comparing isotropic CM (no gauge) and isotropic CM (gauge); the results agree well across different mp values.
5.4 NanoGPT optimization track
We entered Compositional Muon (CM) in the modded-nanogpt speedrun track 3 optimization benchmark. Starting from the #309 baseline, our submission (PR #311) adds a single coupled update for the attention ↔ pair. Over 20 seeds, it reaches the leaderboard threshold at step 2875 (mean loss 3.27901) vs. step 2890 for the baseline (~15 steps later).
5.5 Effective learning rate on AdamW
To isolate which part of isotropic CM matters, we port the same partner-dependent rescaling idea to AdamW [8] (“partner-rescaled AdamW”). Concretely, we keep AdamW’s update rule fixed and only modify the OV leg’s per-head scale using the partner norm (the same scalar that appears in the isotropic approximation). This lets us test whether the gains are specific to Muon’s spectral sign, or more generally due to a better effective learning-rate allocation across heads/layers. Figure 13 shows that partner-rescaled AdamW improves over AdamW, though the gains are smaller than in the Muon setting; this may be due to suboptimal hyperparameter choices.
5.6 Downstream evals
We evaluate the best 340M checkpoints on four standard benchmarks (ARC-Challenge 25-shot, HellaSwag 10-shot, MMLU 5-shot, Winogrande 5-shot).
On these pretraining benchmarks CM and vanilla Muon are largely comparable, without a clear winner. For MMLU at this scale of model, the scores roughly amount to random guessing. We include these results for completeness and to avoid overstating pretraining gains from CM.
6. Related Work
Certainly, this work owes quite a bit of intellectual debt to Muon [2][15]. Muon Split in GLM-5 [19] was, to our knowledge, the first work to apply Muon at scale with per-head Q/K/V updates and matrix-level updates.
There are also several recent works studying how optimizer behavior depends on parameterization. Riemannion [11] makes this point for LoRA, where many low-rank factorizations represent the same adapter. Ji-Ha Kim, independently of us, discusses the analogous gauge issue for Transformer heads, showing that equivalent head bases can train differently under coordinate-based optimizers [23]. Modular duality and modular norm optimization [17][18] argue that updates should respect module structure, while symmetry-compatible optimizer design [12] derives optimizer rules from parameter-block equivariances.
7. Conclusion
The main perspective offered by Compositional Muon is that, when possible, one should directly control the functional perturbation of a composed circuit, rather than the individual pieces which constitute the circuit. For attention, this means treating and as the natural objects of optimization, and then deriving factor-space update rules that approximate spectral steepest descent on those composed maps. The half-split and hybrid rules developed here are simple surrogates for this more general problem: they do not exhaust the possible choices, but they show that even a relatively direct approximation can produce better spectral behavior and potential pretraining gains over Muon. In particular, we suspect there are likely better surrogate problems than the ones discussed in this post.
More broadly, compositional optimization suggests a(nother) path toward optimizer-architecture co-design. Some circuits may be easier to optimize not only because of their expressivity, but because their composition-level perturbation geometry admits tractable update rules. This perspective could be combined with other optimizer ideas, such like Shampoo and SOAP, by asking not only how to precondition an individual parameter, but how to precondition the composed map in which that parameter participates.
References
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., Polosukhin, I. (2017).
- Jordan, K., Jin, Y., Boza, V., You, J., Cesista, F., Newhouse, L., Bernstein, J. (2024).
- Bernstein, J., Newhouse, L. (2024).
- Thinking Machines Lab (2025), Includes a derivation of manifold Muon on the Stiefel manifold under a spectral-norm trust region.
- Su, J., Lu, Y., Pan, S., Murtadha, A., Wen, B., Liu, Y. (2021).
- Press, O., Smith, N. A., Lewis, M. (2021).
- Henry, A., Dachapally, P. R., Pawar, S., Chen, Y. (2020).
- Loshchilov, I., Hutter, F. (2019).
- Zhang, B., Sennrich, R. (2019).
- Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., Wang, L., Chen, W. (2021).
- Bogachev, V., Aletov, V., Molozhavenko, A., Bobkov, D., Soboleva, V., Alanov, A., Rakhuba, M. (2025).
- Lau, T. T.-K., Su, W. (2026).
- Gupta, V., Koren, T., Singer, Y. (2018).
- Vandereycken, B. (2013).
- Bernstein, J. (2025).
- Liu, J., Su, J., Yao, X., Jiang, Z., Lai, G., Du, Y., Qin, Y., Xu, W., Lu, E., Yan, J., Chen, Y., Zheng, H., Liu, Y., Liu, S., Yin, B., He, W., Zhu, H., Wang, Y., Wang, J., Dong, M., Zhang, Z., Kang, Y., Zhang, H., Xu, X., Zhang, Y., Wu, Y., Zhou, X., Yang, Z. (2025).
- Bernstein, J., Newhouse, L. (2024).
- Large, T., Liu, Y., Huh, M., Bahng, H., Isola, P., Bernstein, J. (2024).
- GLM-5 Team, Zhipu AI and Tsinghua University (2026), Introduces Muon Split, applying Muon orthogonalization to independent attention-head projection matrices.
- Kimi Team, Moonshot AI (2025).
- DeepSeek-AI (2025).
- Kingma, D. P., Ba, J. (2015).
- Kim, J.-H. (2026).
- Vyas, N., Morwani, D., Zhao, R., Kwun, M., Shapira, I., Brandfonbrener, D., Janson, L., Kakade, S. (2024).
8. Appendices
Appendix A. Regularizing the Overdetermined Sylvester System
The decomposition
cannot generically exist for
because the right-hand side is typically full-rank while the left-hand side is tangent to the rank- manifold. Still, it is useful to understand the associated linear system.
Let
The adjoint is
A minimum-norm solution, when it exists, lies in the image of this adjoint. Thus one can write
for some . Substituting gives
This Sylvester equation is singular because both Gram matrices have rank at most and hence have zero eigenvalues.
A regularized version is
Then the induced factor updates are
The achieved product perturbation is
Thus the residual is the price of regularization.
Appendix B. Joint Whitened Compositional Muon
The half-split rule solves two whitened subproblems separately, each with budget . An alternative is to concatenate the whitened variables and apply one spectral sign.
Recall
with whitened gradients
Concatenate
Then
The joint whitened problem is
Its solution is
Splitting and unwhitening gives
The joint SVD orthogonalizes shared directions across the Q and K whitened gradients together. If the two whitened gradients have orthogonal column spaces, the joint rule reduces to separate half-split steps at the same scale. If their column spaces overlap, the joint rule treats shared directions once rather than independently on each side.
The tradeoff is that the worst-case product bound becomes looser:
Appendix C. Hybrid OV Derivation
The OV pathway differs from QK because the attention block returns a single residual-stream contribution, not independent outputs. For target token , the output is the sum over heads of the output projection applied to each head's attention-weighted value vectors:
where is the input vector of token , and is the scalar attention weight. Let represent the attention-weighted context vector entering head . Because the attention weights are constrained by a softmax, is strictly a convex combination. Assuming bounded token inputs , the effective head inputs are bounded within the unit ball:
A first-order perturbation of the factor matrices induces a functional change in the output:
If we allocate equal perturbation budgets to the and pathways, the two sides require different geometric treatments.
C.1 The Global O-Side
Examine the -side perturbation: . The full output projection is a single matrix. Because all head contributions sum directly within the residual stream and act on a shared spatial embedding, we can stack the active value features vertically into a single vector .
This allows the total -side change to be bounded by a single linear map. Using polar decompositions (where ), define the horizontally concatenated, partner-whitened block
The aggregate -side change can be written as , where the stacked blocks are
Therefore
Thus gives a global bound relative to the stacked head-input norm. If one wants an worst-case output bound under only per-head unit bounds, the rule should use ; in practice this constant is folded into the learning-rate scale. Consequently, a per-matrix msign on the full concatenated -gradient can coordinate updates across heads.
The update rule is: whiten per head, then orthogonalize per matrix. For each head, define . Concatenate these horizontally to form , apply one spectral sign to the full matrix , and split back into head blocks . The update is:
C.2 The Head-Local V-Side
Conversely, the -side perturbation acts on the raw tokens before the multi-head aggregation occurs:
Crucially, because the attention weights are computed independently across heads via separate QK projections, the effective inputs can vary independently across heads. There is no single shared input vector before the value step on which a global operator norm acts.
This bound is tight when the headwise worst-case output directions align, but it is not generally an equality for fixed weights. The important point is that the bound decomposes by head: each block is naturally controlled through its own partner , rather than through one global matrix-level orthogonalization across all value blocks.
For each head, define . The -side update remains strictly local:
This hybrid rule gives a global stacked-input guarantee on the -side and a head-local guarantee on the -side. It should not be read as an bound on the summed -side residual perturbation unless the per-head budgets are divided or otherwise allocated across heads; the worst-case aggregate bound scales like , while the -side stacked bound scales like .
Appendix D. Grouped-Query Attention
The QK derivation in the main text treats each attention head independently. In grouped-query attention (GQA), multiple query heads share the same key and value head. This changes the natural budget allocation.
For QK, suppose a key head is shared by a group of query heads. The learned products are
A perturbation of the shared key affects all products in the group:
Let be the number of query heads sharing this key head. The -side remains head-local, so each query head can use the usual half-split budget for its own term . The shared -side is different: the same update appears in all products.
If these per-product bounds are enforced, then the summed shared-key contribution is bounded by by the triangle inequality. This is a conservative budget allocation, not a complete closed-form solution for the shared ; the actual shared update still involves the collection of partner matrices . Less conservative variants could allocate the same total group budget by gradient norm, or solve a grouped joint-whitened subproblem analogous to Appendix B.
The same principle applies to the OV pathway when values are shared by a group of query heads. Head-local parameters keep head-local budgets; shared parameters get a group budget, divided by the number of query heads that use them.
Appendix E. Equivariance of Exact Half-Split
The undamped full-whitening half-split rule is equivariant under the full gauge action. We show this for the Q-side; the K-side is symmetric.
Write the polar decomposition
The Q-side half-split update is
Since
we have
Therefore the induced Q-side product perturbation can be written as
Equivalently, if is the orthogonal projector onto , then
This expression depends only on the product geometry: the column space of , not the particular basis chosen for that column space. Under the gauge transformation , the column space of is unchanged, so the Q-side product update is unchanged.
At the factor level, the corresponding statement is covariance. Under
the exact half-split update transforms as
The K-side update satisfies the symmetric transformation law
Thus the exact undamped full-whitening half-split rule is already compatible with the quotient. It defines the same first-order product update regardless of the chosen head basis.
Appendix F. Practical Considerations
F.1 QK-Norm
With QK-norm [7], the attention logits are
The logit sensitivity to now runs through the normalization map. Both the magnitude and the direction affect how far the normalized query moves under a parameter perturbation.
Unlike the unnormalized case, where the first-order QK product perturbation
is a single input-independent matrix, the effective perturbation with QK-norm varies from input to input through the normalization Jacobians:
The corresponding logit perturbation contains
No single input-independent matrix operator norm captures this worst case.
The partner-whitened rules can still control the unnormalized product
but the true logit sensitivity carries extra input-dependent factors.
F.2 ALiBi Instead of RoPE
For some of the experiments here, we use ALiBi [6] rather than RoPE [5].
ALiBi, or Attention with Linear Biases, adds a fixed head-dependent linear position bias directly to the attention logits. Schematically, instead of using only
one uses
where is a predetermined bias depending on the head and the relative positions of tokens . Typically, this bias is a negative slope times the distance, so tokens farther away receive a larger penalty.
The important point for this framework is that ALiBi does not rotate or otherwise transform the Q and K feature spaces. The learned QK contribution remains the plain product
with an additive positional term in the logits. Therefore, the partner-whitened QK rules still apply directly to the learned product. The positional bias changes the attention pattern and, hence, the gradients produced by backpropagation, but it does not alter the algebraic product structure that the optimizer controls.
F.3 Interaction with Weight Decay
A coupled Frobenius penalty would add
to the objective. Decoupled AdamW-style weight decay [8] is implemented as a separate shrinkage step rather than as this exact loss penalty, but it has the same important feature for the present discussion: it is not gauge-invariant. Under
the product is unchanged, but the Frobenius norms generally change.
Thus weight decay breaks the gauge symmetry that made the steepest-descent problem degenerate. Its effect is not only to shrink the product, but also to choose a preferred representative among all factor pairs that realize the same product. In fact, among all equivalent factorizations of a fixed product, the Frobenius penalty prefers balanced ones satisfying
Appendix G. RMSNorm
RMSNorm gives another simple compositional example. Consider a pre-norm linear layer, and take the input to the learned map to be the already RMS-normalized activation. The learned part of the map is
where is the RMSNorm scale vector. Thus the linear weight and the RMSNorm scale should not be viewed as completely independent parameters: rescales the columns of , and changes in are amplified by the current columns of .
A joint perturbation gives the exact product change
The first-order CM analogue drops the quadratic term, giving
This is the same compositional principle used for QK and OV: constrain the perturbation of the composed map , rather than the perturbations of and separately. A half-split version would allocate part of the budget to and part to . The side is just partner-scaled Muon on the columns of , while the side is a diagonal update whose effect is the column-scaled perturbation .
The diagonal structure also gives a second option that is less natural in the full matrix-product setting: keep the quadratic term. Since both and are diagonal, the exact update decomposes columnwise:
Thus, unlike QK or OV, the second-order interaction is not a dense matrix coupling. It is a per-column scalar interaction between and , so one can solve for an exact product update directly.
For example, suppose the desired composed step is , such as . Choose any diagonal post-step scale
with nonzero diagonal entries, and set
Then satisfies
Columnwise, this is simply
The choice of is not unique. This is the diagonal gauge redundancy of the product : rescaling a column of and inversely rescaling the corresponding entry of leaves the composed matrix unchanged. One can fix this gauge by keeping fixed, by balancing column norms, or by applying a scalar connection as in the main text.
This also suggests a possible architectural consequence. In a Transformer block, the same RMSNorm scale often feeds several downstream maps, for example , , and . In that case a single diagonal factor participates in several composed products at once:
A change in is therefore shared across several circuits. From the compositional viewpoint, this couples the geometry of their effective updates. A cleaner factorization would give each downstream role its own diagonal partner, e.g.
so that each composed map has its own scale degrees of freedom.
Appendix H. MLPs
For a standard MLP
there is no global matrix product analogous to QK or OV, because the nonlinearity sits between the two matrices. Still, CM can be applied locally by linearizing the nonlinearity around the current activations.
Let
Then the first-order functional perturbation is
This gives two natural choices. The conservative choice is to apply CM only to the output side, treating as the input to and controlling . This ignores the effect of changing through the activation pattern, but it is simple and directly matches the single-layer stability story.
The more compositional choice is to freeze the activation derivative on a batch and treat the local map as
For a fixed , this is a gated product, and one can apply the same partner-weighted logic to the two pathways
The caveat is that is input-dependent, so this is a batchwise or local approximation rather than a global product update. In practice, an MLP version of CM should therefore specify how the activation gates are aggregated, for example by using a batch average or a conservative worst-case bound. This is why MLPs are less canonical than QK, OV, or RMSNorm in the compositional framework.
Appendix I. Training Details
All experiments use the speedrun4M codebase with a WSD learning-rate schedule.
| Parameter | 340M | 1B |
|---|---|---|
| Parameters (non-embedding) | 340M | 1B |
| Hidden dimension | 1024 | 2048 |
| Layers | 24 | 24 |
| Heads | 16 | 16 |
| Head dimension | 64 | 128 |
| Sequence length | 4096 | 4096 |
| Batch size (tokens) | 524k | 4M |
| Total tokens | 10B (FineWeb-Edu) | 70B (FineWeb-Edu) |
| Peak learning rate | 8e-3 | 8e-3 |
| Schedule | WSD (warmup–stable–decay) | WSD (warmup–stable–decay) |
| Weight decay | 0.01 | 0.01 |
| Optimizer (non-attention) | Muon | Muon |
| Optimizer (attention) | CM / Muon (per experiment) | CM / Muon (per experiment) |
| CM multiplier (mp) | swept per experiment | swept per experiment |
| CM damping | 1e-2 | 1e-2 |
Architecture settings are ablated in Section 5.1: positional encoding (RoPE vs ALiBi) and QK-normalization (on vs off). All three combinations (no QK-norm + ALiBi, no QK-norm + RoPE, QK-norm + RoPE) share the hyperparameters above.
Appendix J. Code Release
An open-source implementation of Compositional Muon is available at github.com/tilde-research/comp-muon-release.
Cite this work
@article{keigwin2026compositional,
title = {Towards Compositional Steepest Descent},
author = {Keigwin, Ben and Yang, Li and Zhang, Yunzhe and Pai, Dhruv and DeWulf, Alec},
year = {2026},
url = {https://tilderesearch.com/blog/compositional-muon}
}
Footnotes
-
In full generality, optimizing over the composed perturbation for the entire network is much harder than optimizing over the parameter perturbation for a single layer: we can have shared parameters between layers, nonlinearities, and in general, there is no reason to expect a clean closed-form solution for the entire network. ↩
-
A damped Sylvester solve can approximate the decomposition, with a residual controlled by the damping term. See Appendix A for the full treatment. We assume throughout that the head factors have full column rank. ↩
-
In practice, if has small singular values, may blow up; one can replace with for a small damping . ↩