Celo: Training Versatile Learned Optimizers on a Compute Diet

Abhinav Moudgil, Boris Knyazev, Guillaume Lajoie, Eugene Belilovsky
1/22/2025
cs.LG

No official code found. Best implementation: amoudgl/celo (5 stars, MIT, JAX, last commit 2026-03-24).

Abstract

Learned optimization has emerged as a promising alternative to hand-crafted optimizers, with the potential to discover stronger learned update rules that enable faster, hyperparameter-free training of neural networks. A critical element for practically useful learned optimizers, that can be used off-the-shelf after meta-training, is strong meta-generalization: the ability to apply the optimizers to new tasks. Recent state-of-the-art work in learned optimizers, VeLO (Metz et al., 2022), requires a large number of highly diverse meta-training tasks along with massive computational resources, 4000 TPU months, to achieve meta-generalization. This makes further improvements to such learned optimizers impractical. In this work, we identify several key elements in learned optimizer architectures and meta-training procedures that can lead to strong meta-generalization. We also propose evaluation metrics to reliably assess quantitative performance of an optimizer at scale on a set of evaluation tasks. Our proposed approach, Celo, makes a significant leap in improving the meta-generalization performance of learned optimizers and also outperforms tuned state-of-the-art optimizers on a diverse set of out-of-distribution tasks, despite being meta-trained for just 24 GPU hours.

View on arXivView PDF

Code Implementations(1)

amoudgl/celoCommunity100%
JAXMIT

Code for Celo: Training Versatile Learned Optimizers on a Compute Diet

50PythonJan 22, 20257 months agoMIT
evolutionary-algorithmshuggingfacejaxlearned-optimizermachine-learning+5 more

Similar Papers

Cite this paper

@article{moudgil2025celo,
  title  = {Celo: Training Versatile Learned Optimizers on a Compute Diet},
  author = {Abhinav Moudgil and Boris Knyazev and Guillaume Lajoie and Eugene Belilovsky},
  year   = {2025},
  eprint = {2501.12670},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2501.12670v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2501.12670.svg)](https://codeofpaper.com/paper/2501.12670)

Discussion