Backpropagated Output Momentum: Relocating Optimizer History from Parameters to Task Space
Organizations: University of Sydney
Abstract
Optimizer momentum is usually stored as a parameter-sized moving average of past gradients, which makes history costly and fixes each past signal in the coordinates in which it was computed. We introduce Backpropagated Output Momentum (BOM), which instead stores a compact moving average of prediction errors at the model output and reprojects that history through the current network at every step. A batch-level analysis characterizes the information retained and omitted by this relocation, while the implementation preserves the current supervised gradient and can replace the first-moment component of several adaptive optimizers. As a plug-in for momentum-based optimizers, including ones that already compress their state, BOM reduces parameter-shaped optimizer state by 49.7-99.8% in three compositions and, averaged over three language backbones, paired step time by 4.0%. It also improves mean validation performance across language and vision fine-tuning, by 1.42 points in the primary five-task comparison. Language and vision pretraining studies, together with matched mechanism controls, further test the construction across output spaces and model scales.
Figures & tables
| Backbone | AdamW | BOM | Score | Time |
|---|---|---|---|---|
| RoBERTa-base | 0.7962 | 0.8104 | +0.0142 | |
| DeBERTa-v3-base | 0.8329 | 0.8467 | +0.0138 | |
| Qwen3-1.7B | 0.8169 | 0.8304 | +0.0135 | |
| Coverage | 3/3 backbones: higher mean score, lower mean step time | |||
| Five-task macro | Optimizer state (MiB) | Step time | ||||
|---|---|---|---|---|---|---|
| Base optimizer | Base | With BOM | Base | With BOM | ||
| AdamW | 0.7962 | 0.8104 | 475.5 | 237.7 | ||
| Adam-mini | 0.7659 | 0.7782 | 238.2 | 0.42 | ||
| GaLore | 0.7739 | 0.7854 | 155.7 | 78.3 | ||
| Control | Macro | Control | Macro | ||
|---|---|---|---|---|---|
| CE, no local | Own-step projection | ||||
| Mixed + local | BOM numerator, CE | ||||
| AdamW, | Classifier-only history | ||||
| Full-gradient kernel | (RTE acc.) | deg. | |||
| APM anchor | Drift head/enc. | / | – |
| Setting | AdamW | BOM | |
|---|---|---|---|
| Fine-tuning (vision), 40 epochs: validation accuracy | |||
| STL10, ConvNeXt-Tiny | 0.9647 | ||
| STL10, ViT-Tiny | 0.9567 | ||
| Pretraining (vision), 90 epochs: epoch-90 validation top-1 | |||
| ImageNet-1k, ResNet-50 | |||
| Pretraining (language): final evaluation loss | |||
Appendix figures & tables49 assets
Supplementary material from the paper’s appendix.
Appendix
| Backbone | Dataset | Metric | Method | Train score | Val score | Train loss | Val loss |
|---|---|---|---|---|---|---|---|
| RoBERTa-base | CoLA | MCC | AdamW | 0.8566 | 0.5743 | 0.1851 | 0.4777 |
| RoBERTa-base | CoLA | MCC | BOM | 0.9641 | 0.5970 | 0.0495 | 0.5794 |
| RoBERTa-base | MRPC | F1 | AdamW | 0.9609 | 0.9077 | 0.1324 | 0.3240 |
| RoBERTa-base | MRPC | F1 | BOM | 0.9862 | 0.9191 | 0.0616 | 0.3305 |
| RoBERTa-base | QQP | F1 | AdamW | 0.8501 | 0.8463 | 0.2620 | 0.2683 |
| RoBERTa-base | QQP | F1 | BOM | 0.9004 | 0.8626 | 0.1960 | 0.2481 |
| (a) Task-level paired margins | |||
|---|---|---|---|
| Dataset | Metric | 95% CI | |
| CoLA | MCC | ||
| MRPC | F1 | ||
| QQP | F1 | ||
| RTE | Acc | ||
| SST-2 | Acc | ||
| Task | Method | A | B | C | D | E | Mean |
|---|---|---|---|---|---|---|---|
| RoBERTa-base | |||||||
| CoLA (MCC) | AdamW | 0.5435 | 0.5778 | 0.6131 | 0.5834 | 0.5539 | 0.5743 |
| BOM | 0.5885 | 0.5536 | 0.6107 | 0.6111 | 0.6209 | 0.5970 | |
| (95% CI): | |||||||
| MRPC (F1) | AdamW | 0.9004 | 0.9127 | 0.9171 | 0.9084 | 0.8998 | 0.9077 |
| BOM | 0.9255 | 0.9308 | 0.9020 | 0.9206 | 0.9164 | 0.9191 | |
| Method | Train score | Val score | Train loss | Val loss |
|---|---|---|---|---|
| BOM -AdamW | 0.9447 | 0.8104 | 0.1324 | 0.3826 |
| AdamW | 0.8832 | 0.7962 | 0.2235 | 0.3714 |
| Lion | 0.9302 | 0.7965 | 0.1340 | 0.4340 |
| Muon | 0.8833 | 0.7785 | 0.2029 | 0.5628 |
| GaLore | 0.8134 | 0.7739 | 0.3128 | 0.3873 |
| Adam-mini | 0.7967 | 0.7659 | 0.3406 | 0.3826 |
| Dataset | Metric | Method | Train score | Val score | Train loss | Val loss |
|---|---|---|---|---|---|---|
| CoLA | MCC | AdamW | 0.8566 | 0.5743 | 0.1851 | 0.4777 |
| CoLA | MCC | BOM -AdamW | 0.9641 | 0.5970 | 0.0495 | 0.5794 |
| CoLA | MCC | Lion | 0.9173 | 0.5780 | 0.0945 | 0.5178 |
| CoLA | MCC | Adam-mini | 0.6403 | 0.5348 | 0.3614 | 0.4639 |
| CoLA | MCC | BOM -Adam-mini | 0.7098 | 0.5478 | 0.3197 | 0.4568 |
| CoLA | MCC | GaLore | 0.6668 | 0.5495 | 0.3521 | 0.4386 |
| Method | Epoch at reference training score |
|---|---|
| AdamW | 5.00 |
| BOM | 2.94 |
| Backbone | Method | Metric | Train score | Val score | Train loss | Val loss |
|---|---|---|---|---|---|---|
| ConvNeXt-Tiny | AdamW | Acc | 0.9914 | 0.9647 | 0.0298 | 0.1487 |
| ConvNeXt-Tiny | BOM | Acc | 1.0000 | 0.9769 | 0.0007 | 0.0855 |
| ViT-Tiny | AdamW | Acc | 0.9930 | 0.9567 | 0.0255 | 0.1711 |
| ViT-Tiny | BOM | Acc | 0.9992 | 0.9669 | 0.0015 | 0.1262 |
| Setting | Metric | AdamW | BOM | |
|---|---|---|---|---|
| ImageNet-1k, ResNet-50 | Epoch-90 val top-1 | |||
| Val loss at that epoch | ||||
| Python code, Qwen3-55M | Final eval loss | |||
| Perplexity | ||||
| FineWeb-Edu, Qwen3-55M | Final eval loss | |||
| Perplexity |
| Question | Control | Reported quantity | Comparison / diagnostic | Reading |
|---|---|---|---|---|
| Is it buffer removal alone? | CE + no local | no degenerate seeds | ||
| Is it the objective alone? | Mixed + local | below AdamW | ||
| Is it just the current/history ratio? | AdamW ( ) | vs. : CI includes zero | ||
| Is historical projection drift real, and where? | , head / encoder | / | – | rel. drift / |
| Does a local scalar anchor help? | APM : per-tensor anchor, scalars | lower mean score | ||
| What changes under current reprojection? | same history, own-step projection | matched scaling rule; observed drop |
| Construction | First-order history | Update numerator | Second-moment source |
|---|---|---|---|
| AdamW | Parameter-space full gradients | ||
| CE + no local | None | ||
| Mixed + local | Task residuals and parameter-space mixed updates | ||
| BOM | Task-space residual EMA | ||
| Own-step | Parameter-space mean-residual projections | Own numerator | |
| Full temporal kernel | Parameter-space full gradients | Own numerator |
| Dataset | Metric | AdamW | Mixed + local | CE + no local | BOM |
|---|---|---|---|---|---|
| CoLA | MCC | 0.5743 | 0.5864 | 0.5635 | 0.5970 |
| MRPC | F1 | 0.9077 | 0.9016 | 0.9011 | 0.9191 |
| QQP | F1 | 0.8463 | 0.8452 | 0.8547 | 0.8626 |
| RTE | Acc | 0.7155 | 0.6318 | 0.7069 | 0.7350 |
| SST-2 | Acc | 0.9372 | 0.9378 | 0.8945 | 0.9385 |
| Macro mean | – | 0.7962 | 0.7806 | 0.7841 | 0.8104 |
| Varied coefficient | Value | Fixed coefficient | MRPC F1 | SST-2 Acc. | ||
|---|---|---|---|---|---|---|
| 0.25 | ||||||
| 0.75 |
| RTE (Acc.) | MRPC (F1) | SST-2 (Acc.) | CoLA (MCC) | QQP (F1) | |||
|---|---|---|---|---|---|---|---|
| score | deg. | score | score | deg. | score | score | |
| 4/5 | 1/5 | ||||||
| 2/5 | 0/5 | ||||||
| 0/5 | 0/5 | ||||||
| 0/5 | 0/5 | ||||||
| Validation score | ||||
|---|---|---|---|---|
| Dataset | Metric | |||
| CoLA | MCC | |||
| MRPC | F1 | |||
| QQP | F1 | |||
| RTE | Acc. | |||
| SST-2 | Acc. | |||
| Task | Metric | AdamW | Full kernel | BOM | 95% CI | |
|---|---|---|---|---|---|---|
| CoLA | MCC | 0.5743 | 0.5625 | 0.5970 | ||
| MRPC | F1 | 0.9077 | 0.9209 | 0.9191 | ||
| QQP | F1 | 0.8463 | 0.8584 | 0.8626 | ||
| RTE | Acc. | 0.7155 | 0.7235 | 0.7350 | ||
| SST-2 | Acc. | 0.9372 | 0.9232 | 0.9385 | ||
| Macro | – | 0.7962 | 0.7977 | 0.8104 |
| Dataset | Metric | AdamW | Own-step control | BOM | Paired 95% CI | |
|---|---|---|---|---|---|---|
| CoLA | MCC | 0.5743 | 0.5632 | 0.5970 | ||
| MRPC | F1 | 0.9077 | 0.9162 | 0.9191 | ||
| QQP | F1 | 0.8463 | 0.8561 | 0.8626 | ||
| RTE | Acc | 0.7155 | 0.6440 | 0.7350 | ||
| SST-2 | Acc | 0.9372 | 0.9241 | 0.9385 | ||
| Macro mean | – | 0.7962 | 0.7807 | 0.8104 |
| Cancellation | |||||
|---|---|---|---|---|---|
| Task | head | encoder | head | encoder | ratio |
| CoLA | |||||
| MRPC | |||||
| QQP | |||||
| RTE | |||||
| SST-2 | |||||
| Task | Batch-only | Param. | Param. | Param. | Mixed | Mixed |
|---|---|---|---|---|---|---|
| RTE | ||||||
| MRPC | ||||||
| CoLA | ||||||
| SST-2 | ||||||
| QQP |
| Task | LR | A | B | C | D | E | Mean score | Mean loss | Status |
|---|---|---|---|---|---|---|---|---|---|
| CoLA | 0.6407 | 0.4624 | 0.6547 | 0.5417 | 0.6007 | 0.5800 | 0.4775 | Primary | |
| MRPC | 0.9242 | 0.9078 | 0.9158 | 0.8538 | 0.9154 | 0.9034 | 0.3237 | Primary | |
| MRPC | 0.7722 | 0.9154 | 0.9007 | 0.9061 | 0.9144 | 0.8818 | 0.4517 | Rescue | |
| QQP | 0.8633 | 0.8561 | 0.8631 | 0.8627 | 0.8292 | 0.8549 | 0.2624 | Primary | |
| QQP | 0.8537 | 0.8440 | 0.8588 | 0.8396 | 0.8556 | 0.8503 | 0.2694 | Rescue | |
| RTE | 0.5632 | 0.7365 | 0.7401 | 0.7978 | 0.5740 | 0.6823 | 0.5960 | Primary |
| Cell B: BOM numerator CE second moment | Cell C | ||||
| Dataset | AdamW | BOM | at BOM ’s rate | at | AdamW numerator BOM |
| CoLA | 0.5743 | 0.5970 | 0.5501 | 0.5565 | 0.1146 |
| MRPC | 0.9077 | 0.9191 | 0.9134 | 0.9134 | 0.8551 |
| QQP | 0.8463 | 0.8626 | 0.8427 | 0.8427 | 0.5175 |
| RTE | 0.7155 | 0.7350 | 0.6578 | 0.6968 | 0.5747 |
| SST-2 | 0.9372 | 0.9385 | 0.9365 | 0.9365 | 0.6716 |
| Task | FullV Train | OutRMS Train | FullV Val | OutRMS Val | Val | OutRMS parameter- shaped state (MiB) |
|---|---|---|---|---|---|---|
| RTE | 95.46 | 49.44 | 75.45 Acc | 49.28 Acc | -26.17 pt | 0 |
| MRPC | 98.28 | 50.00 | 92.15 F1 | 40.61 F1 | -51.54 pt | 0 |
| Dataset | Metric | Val score | Val loss |
|---|---|---|---|
| CoLA | MCC | 0.5508 | 0.5313 |
| MRPC | F1 | 0.9140 | 0.3737 |
| QQP | F1 | 0.8547 | 0.2607 |
| RTE | Acc | 0.7105 | 0.6167 |
| SST-2 | Acc | 0.9369 | 0.1982 |
| Macro mean | – | 0.7934 | 0.3961 |
| Validation score | ||||
|---|---|---|---|---|
| Dataset | Metric | AdamW | BOM | |
| CoLA | MCC | |||
| MRPC | F1 | |||
| QQP | F1 | |||
| RTE | Acc | |||
| SST-2 | Acc | |||
| Dataset | score | Paired 95% CI | Two-sided |
|---|---|---|---|
| CoLA | 0.1354 | ||
| MRPC | 0.0392 | ||
| QQP | 0.6250 | ||
| RTE | 0.0450 | ||
| SST-2 | 0.0453 | ||
| Five-task macro | 0.0078 |
| Backbone | Projection | A | B | C | D | E | Mean |
|---|---|---|---|---|---|---|---|
| ConvNeXt-Tiny | current | 0.9784 | 0.9688 | 0.9789 | 0.9771 | 0.9814 | 0.9769 |
| ConvNeXt-Tiny | own-step | 0.9541 | 0.9773 | 0.9774 | 0.9808 | 0.9555 | 0.9690 |
| ViT-Tiny | current | 0.9675 | 0.9703 | 0.9626 | 0.9634 | 0.9709 | 0.9669 |
| ViT-Tiny | own-step | 0.9559 | 0.9655 | 0.9628 | 0.9611 | 0.9578 | 0.9606 |
| Optimizer state | Peak allocated (MiB) | Step time | ||||
|---|---|---|---|---|---|---|
| Method | (MiB) | Mean | Paired ratio | Paired | Mean (ms) | Paired ratio |
| AdamW (FP32) | 951.0 | 3194.0 | – | – | 49.35 | – |
| BOM -AdamW (FP32) | 475.5 | 2865.1 | 0.905 | 47.15 | 0.957 | |
| AdamW | 475.5 | 2276.9 | – | – | 39.84 | – |
| BOM -AdamW | 237.7 | 2045.2 | 0.894 | 39.50 | 0.993 | |
| Adam-mini | 238.2 | 1724.5 | – | – | 35.08 | – |
| Peak allocated (GiB) | E2E time (h) | Mean paired | ||||||
|---|---|---|---|---|---|---|---|---|
| Model / tokens | AdamW | BOM | (%) | AdamW | BOM | time ratio | ||
| 55M / 3.0B | 5 | 27.116 | 26.901 | ( ) | 8.175 | 8.714 | 1.066 | |
| 110M / 5.0B | 5 | 7.557 | 7.151 | ( ) | 19.355 | 20.063 | 1.037 | |
| 440M / 8.5B | 3 | 87.239 | 83.118 | ( ) | 31.959 | 32.975 | 1.032 | |
| 1.1B / 15.0B | 3 | 83.503 | 78.159 | ( ) | 178.193 | 177.561 | 0.996 | |
| Rung | mb | Tokens /step | AdamW (ms) | BOM (ms) | (ms) | Ratio | |||
|---|---|---|---|---|---|---|---|---|---|
| 250M | 32,768 | 128 | 32,768 | 0.24 | 504.1 | 544.9 | 1.081 | ||
| 500M | 32,768 | 128 | 32,768 | 0.46 | 1041.8 | 1081.5 | 1.038 | ||
| 1B | 32,768 | 64 | 16,384 | 1.83 | 889.0 | 897.9 | 1.010 | ||
| 2B | 32,768 | 32 | 8,192 | 7.4 | 864.0 | 845.9 | 0.979 | ||
| 4B | 32,768 | 16 | 4,096 | 29.5 | 914.5 | 858.2 | 0.938 |
| Study | Selection policy | Reporting and qualifications |
|---|---|---|
| NLP primary pairs; RoBERTa optimizer controls | Unified LR envelope ; 15 configurations, two-epoch screening on the internal 10% holdout | Fresh five-epoch training on full official train; fixed epoch-5 official-validation endpoint; bf16 compute and stated storage. Muon additionally searches five update scales after LR selection. |
| FP32-state replication | Repeat the same train-only LR policy independently for each arm and task | FP32 parameters/state, bf16 compute; same five evaluation seeds and one final evaluation on the official validation split. |
| NLP own-step; full temporal kernel | Unified fine-tuning LR policy | Per-task rates in Table 36 ; constructions in Appendix A.6 . |
| Classifier-only past history | Unified 15-configuration, two-HPO-seed policy; primary score uses the protocol-selected configurations | Rescue searches on MRPC (one), QQP (one) and RTE (three) are all reported, and none replaces the primary configurations (Appendix B.6 ). |
| Objective–momentum controls | Unified fine-tuning LR policy; same 15-configuration, two-HPO-seed budget | Independently selected taskwise rates; five evaluation seeds at the epoch-5 endpoint (Table 43 ). |
| APM; coefficient sensitivity | Task-specific diagnostic configurations | Table 36 ; coefficient sweeps are post-selection diagnostics. |
| Coefficient | AdamW | BOM |
| First-order decay (parameter EMA / task-space EMA) | 0.9 | 0.9 |
| Second-moment decay | 0.999 | 0.999 |
| Denominator constant | ||
| Decoupled weight decay | 0.01 | 0.01 |
| Current/history mixture | – |
| Item | Value |
|---|---|
| NLP backbones | roberta-base ; microsoft/deberta-v3-base ; Qwen/Qwen3-1.7B |
| Classification head | each backbone’s AutoModelForSequenceClassification head, num_labels |
| Tokenization | each backbone’s fast AutoTokenizer ; the decoder-only backbone pads with its end-of-sequence (EOS) token |
| NLP data | GLUE ( nyu-mll/glue via Hugging Face datasets ); CoLA, MRPC, QQP, RTE, SST-2; HPO uses a deterministic 10% holdout from official train, and the official validation split supplies the fixed epoch-5 reporting scores; logged RoBERTa intermediate evaluations are descriptive |
| Software | PyTorch 2.2, Transformers 4.53, datasets 2.18, torchvision 0.17, timm 1.0.15 (pinned), adam-mini 1.1.1 and galore-torch 1.0 (pinned) |
| Control implementations | Adam-mini and GaLore use the authors’ released packages, adam-mini 1.1.1 and galore-torch 1.0, using the parameter grouping and projection scope described in Appendix B.3.1 ; all other controls use the sources cited with them |
| Method | CoLA | MRPC | QQP | RTE | SST-2 |
|---|---|---|---|---|---|
| AdamW | |||||
| BOM -AdamW | |||||
| APM | |||||
| Lion | |||||
| Adam-mini | |||||
| BOM -Adam-mini |
| Dataset | AdamW LR | BOM LR | Epochs | Max length |
|---|---|---|---|---|
| CoLA | 5 | 128 | ||
| MRPC | 5 | 128 | ||
| QQP | 5 | 128 | ||
| RTE | 5 | 128 | ||
| SST-2 | 5 | 128 |
| Dataset | AdamW LR | BOM LR | Epochs | Max length |
|---|---|---|---|---|
| CoLA | 5 | 256 | ||
| MRPC | 5 | 256 | ||
| QQP | 5 | 256 | ||
| RTE | 5 | 256 | ||
| SST-2 | 5 | 256 |
| Setting | Value |
|---|---|
| GaLore, BOM -GaLore | |
| Implementation | galore-torch 1.0 (authors’ release) |
| Projected modules | the authors’ GLUE target list: attention and feed-forward Linear weights |
| Projection rank | 8 |
| Projection scale | 1.0 |
| Projection refresh interval | 200 steps |
| Backbone | Dataset | LR | Epochs | Image size |
|---|---|---|---|---|
| ConvNeXt-Tiny | STL10 | 40 | 224 | |
| ViT-Tiny | STL10 | 40 | 224 |
| Micro-batch | Minimum throughput (tokens/s) |
|---|---|
| 24 (selected) | 64,698 |
| 32 | 64,598 |
| 128 | 59,121 |
| Setting | Model | Budget | Schedule (warmup) | AdamW LR | BOM LR |
|---|---|---|---|---|---|
| ImageNet-1k | ResNet-50 (random init) | 90 epochs | linear (5 epochs) | ||
| Python code | Qwen3-55M, 32k vocab | 3.0B tokens | linear (10%) | ||
| FineWeb-Edu | Qwen3-55M, 32k vocab | 3.0B tokens | linear (10%) | ||
| C4 | Qwen3-55M, 32k vocab | 3.0B tokens | linear (10%) | ||
| C4 | Qwen3-110M, 32k vocab | 5.0B tokens | linear (10%) | ||
| C4 | Qwen3-440M, 32k vocab | 8.5B tokens | linear (10%) |
| Diagnostic | CoLA | MRPC | QQP | RTE | SST-2 |
|---|---|---|---|---|---|
| Mixed + local | |||||
| CE + no local | |||||
| Cell B, at BOM ’s rate | |||||
| Cell B, at | |||||
| Cell C, at AdamW’s rate | |||||
| Fixed-batch drift probe |
| Rung | Vocab. | Pos. | GC | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 250M | 260,089,344 | 18 | 1024 | 3072 | 8/4 | 128 | 32,768 | 4096 | No |
| 500M | 494,207,488 | 23 | 1280 | 3840 | 10/5 | 128 | 32,768 | 4096 | Yes |
| 1B | 983,658,240 | 24 | 1792 | 5376 | 14/7 | 128 | 32,768 | 4096 | Yes |
| 2B | 1,995,527,680 | 31 | 2304 | 6912 | 18/6 | 128 | 32,768 | 4096 | Yes |
| 4B | 3,954,407,168 | 35 | 3072 | 9216 | 24/8 | 128 | 32,768 | 4096 | Yes |
| Setting | Output coordinates | |||
|---|---|---|---|---|
| NLP fine-tuning, RoBERTa-base ( , ) | ||||
| STL10 fine-tuning, ViT-Tiny / ConvNeXt-Tiny ( , ) | – | – | ||
| ImageNet-1k pretraining, ResNet-50 ( , ) | ||||
| LM pretraining, Qwen3-55M ( , ) |
Deep Learning Optimization
Deep learning optimization develops algorithms and training strategies that help neural networks converge, generalize, and use compute efficiently.
See all 206 papers