# Gradient-Side Error-Feedback SignMuon

- ID: 1615
- Canonical URL: https://synthcore.org/idea/1615/gradient-side-error-feedback-signmuon
- API JSON: https://synthcore.org/api/idea/1615.json
- API Markdown: https://synthcore.org/api/idea/1615.md
- Verification status: mech_ok_no_baseline
- Source: [arXiv:2607.29674](https://arxiv.org/abs/2607.29674)
- Category: optimization
- Solves: memory, scalability, stability
- ML areas: optimizer, federated, quantization, training
- Math tags: optimization, linear-algebra, convex-analysis, numerical-analysis
- Ratings: usefulness 8/10; difficulty 5/10; novelty 6/10

## Idea description

Compress the matrix gradient or momentum before applying Muon's polar LMO, and maintain an error residual in the uncompressed gradient space. The residual prevents systematic sign quantization bias from accumulating, unlike error feedback applied after the nonlinear polar/sign operation. This is suitable for distributed training because workers communicate one sign bit per matrix entry while the server still applies a matrix-aware Muon step.

## Mathematical statement

For a parameter matrix W_t, let G_t be the stochastic gradient or momentum matrix and R_t the accumulated compression residual, initialized as R_0=0. The compensated matrix is H_t=G_t+R_t. Define the one-bit compressor Q(H) entrywise by Q(H)_{ij}=s sign(H_{ij}), where s=(1/(mn)) sum_{ij}|H_{ij}| is an optional magnitude scale for an m x n matrix and sign(0)=0. The residual update is R_{t+1}=H_t-Q(H_t). Let L(A)=UV^T be the polar LMO, where A=U Sigma V^T is a thin singular-value decomposition; equivalently, L(A) maximizes the Frobenius inner product with A over matrices whose spectral norm is at most one. The optimizer update is W_{t+1}=W_t-eta_t L(Q(H_t)). The transferable convergence target is the standard smooth nonconvex rate (1/T) sum_t E[||grad F(W_t)||_F^2]=O(T^{-1/2}) under smoothness, bounded stochastic variance, bounded compressor moments, and suitable stepsizes when feedback is applied before the LMO. Applying residual feedback after L(G_t) does not have this universal guarantee.

## Key formulas

- $$H_t = G_t + R_t,\qquad Q(H_t)_{ij}=s_t\,\operatorname{sign}(H_{t,ij}),\qquad s_t=\frac{1}{mn}\sum_{i=1}^{m}\sum_{j=1}^{n}|H_{t,ij}|,$$
- $$R_{t+1}=H_t-Q(H_t),\qquad W_{t+1}=W_t-\eta_t\,\mathcal{L}(Q(H_t)),$$
- $$\mathcal{L}(A)=UV^\top\quad\text{for }A=U\Sigma V^\top,\qquad \mathcal{L}(A)\in\arg\max_{\|X\|_2\le 1}\langle A,X\rangle_F,$$
- $$\frac{1}{T}\sum_{t=0}^{T-1}\mathbb{E}\bigl\|\nabla F(W_t)\bigr\|_F^2=\mathcal{O}(T^{-1/2}).$$

## Implementation notes

Integrate this into the Muon optimizer at the gradient-to-update boundary for every 2-D weight matrix; leave biases, layer-normalization parameters, and 1-D tensors on AdamW or ordinary SGD. On each optimizer step, first form the usual Muon momentum matrix G from the current minibatch gradient. Maintain a full-precision residual R of identical shape locally on each communicating worker or centrally on a parameter server. Use: `H = G + R; scale = mean(abs(H)); bits = sign(H); transmit(bits, scale); Hq = scale * bits; R = H - Hq; U,S,Vh = svd(Hq); D = U @ Vh; W -= lr * D`. For distributed training, test both local error-feedback followed by sign aggregation and signing the averaged compensated matrix, because these operations do not commute. The mathematical components are the residual recursion, entrywise compressor, and polar LMO; estimate the scale from the current tensor and compute the polar factor with stable SVD or Newton-Schulz iteration. Keep Muon's momentum decay and learning-rate schedule unchanged initially. First run a ResNet-18 on CIFAR-10 and a small Transformer on a language-modeling subset. Compare full Muon, SignMuon without residuals, post-LMO sign compression, and this method at equal communicated bits and equal FLOPs. Log loss and gradient norm versus optimizer steps, final validation accuracy, residual norm `||R||_F/||G||_F`, and communication volume. Success means slower residual growth and faster loss descent than sign-only Muon, with accuracy approaching full Muon at one bit per matrix entry.

## Verification

- Status: mech_ok_no_baseline
- Mechanism evidence: yes
- Mechanism confirmed: yes
- Practical verdict: harms
- Verdict: Built experiment.py implementing mean-absolute-scale one-bit compression, pre-LMO residual feedback, polar LMO, and a deterministic quadratic comparison. The mechanism checks passed: telescoping identity error was 1.90e-10, EF average error had tail log-log slope -0.996 versus predicted -1, no-feedback stayed at slope 0, and the EF residual bound ratio never exceeded 1.001. This demonstrates the predicted error-feedback mechanism, although it was not an optimization win in this toy run: EF had lower best loss than sign-only but worse final loss and slower early descent.

### Mechanism check

- Verdict: Built experiment.py implementing mean-absolute-scale one-bit compression, pre-LMO residual feedback, polar LMO, and a deterministic quadratic comparison. The mechanism checks passed: telescoping identity error was 1.90e-10, EF average error had tail log-log slope -0.996 versus predicted -1, no-feedback stayed at slope 0, and the EF residual bound ratio never exceeded 1.001. This demonstrates the predicted error-feedback mechanism, although it was not an optimization win in this toy run: EF had lower best loss than sign-only but worse final loss and slower early descent.
- Confidence: 8/10
- Limitations: Only a small deterministic fixed-gradient sweep and 3x5 quadratic were tested. No CIFAR-10, Transformer, stochastic gradients, distributed aggregation, communication timing, large-scale memory measurement, hyperparameter tuning, or convergence-rate estimate was performed.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0081
- Paired wins: 0/8
- Benchmark verdict: idea worse (significant)

## Artifacts

- [bench_report.json](https://synthcore.org/code/479/bench_report.json)
- [bench_report_final.json](https://synthcore.org/code/479/bench_report_final.json)
- [bench_signmuon.py](https://synthcore.org/code/479/bench_signmuon.py)
- [experiment.py](https://synthcore.org/code/479/experiment.py)
- [report.md](https://synthcore.org/code/479/report.md)
- [report_bench_2026-08-31T151453.md](https://synthcore.org/code/479/report_bench_2026-08-31T151453.md)
- [results.json](https://synthcore.org/code/479/results.json)
- [Download all files as ZIP](https://synthcore.org/download/479)

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
