| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
🏆 Leaderboard •
🚀 Getting Started •
📥 Submit •
📖 Docs/Rules
📜 Benchmark Paper •
📊 Results Paper
The MLCommons™ AlgoPerf: Training Algorithms benchmark is designed to find training algorithms that can train neural networks faster by rigorously measuring how quickly they reach a specific performance target across a diverse set of deep learning workloads.
When training neural nets, practitioners face many critical yet often opaque decisions: What optimizer to choose? How should its learning rate be tuned? What learning rate schedule should be used? These choices can make or break training, yet the community has lacked a clear, standardized way to identify the state of the art. Unlike benchmarks focused on hardware or model architecture, AlgoPerf isolates the training algorithm itself, which includes the optimizer, regularization, data selection, and hyperparameters like the learning rate schedule. By standardizing the benchmark process, AlgoPerf offers a meaningful apples-to-apples comparison of training algorithms and follows the following key principles:
Important
We have moved to a rolling leaderboard! We invite you to submit your algorithm for evaluation, see our How to Submit section and the submission repository. The working group will review your submission and, if selected, run it on our hardware and add your results to the official AlgoPerf Leaderboard. Note: we are currently focusing our efforts on the self-tuning leaderboard to strengthen its competitiveness.
Follow these steps to run a baseline algorithm and start developing your own submission. A more detailed guide can be found in the Getting Started document. If you run into any issues, please feel free to contact us. Either file an issue, ask a question on our Discord or join our weekly meetings.
We recommend using the provided Docker container to ensure a reproducible environment similar to our scoring environment. Alternatively, you can install the package and its dependencies in a Python virtual environment. Both options are described in more detail in the Getting Started document.
TL;DR Install JAX version for GPU (with workload dependencies):
pip3 install -e '.[pytorch_cpu,jax_gpu,full]' --extra-index-url https://download.pytorch.org/whl/cpuTL;DR Install PyTorch version for GPU (with workload dependencies):
pip3 install -e '.[jax_cpu,pytorch_gpu,full]'Use the submission_runner.py to run an experiment, i.e., train a workload using a specific training algorithm. Here's how to run the AdamW baseline on the mnist workload.
TL;DR: Running a JAX workload:
python3 submission_runner.py \
--framework=jax \
--workload=mnist \
--experiment_dir=$HOME/experiments \
--experiment_name=my_first_experiment \
--submission_path=algorithms/archived_paper_baselines/adamw/jax/submission.py \
--tuning_search_space=algorithms/archived_paper_baselines/adamw/tuning_search_space.jsonTL;DR: Running a PyTorch workload:
python3 submission_runner.py \
--framework=pytorch \
--workload=mnist \
--experiment_dir=$HOME/experiments \
--experiment_name=my_first_experiment \
--submission_path=algorithms/archived_paper_baselines/adamw/pytorch/submission.py \
--tuning_search_space=algorithms/archived_paper_baselines/adamw/tuning_search_space.jsonNow you're ready to create your own submission.py! For detailed instructions, FAQs, and technical details, please refer to our documentation:
Ready to see how your algorithm stacks up? Submit it to the official AlgoPerf leaderboard!
We provide a technical documentation of the benchmark and answer frequently asked questions regarding the benchmarking protocol in a dedicated Documentation page. This includes which types of submissions are allowed, a description of the benchmark API, and the entire benchmarking protocol. Please ensure that your submission is compliant with these rules before submitting. Suggestions, clarifications, and questions can be raised via pull requests, by creating an issue, or by reaching out to the working group.
For a detailed description and motivation of the initial benchmark design, please refer to our Benchmark Paper. For the results of the first AlgoPerf competition, please refer to our Competition Results Paper. See our AlgoPerf Leaderboard for the latest results of the benchmark and the option to submit your algorithm.
AlgoPerf is an open, community-driven project organized by the MLCommons Algorithms Working Group. Whether you want to submit an algorithm, report a bug, or help shape the future of the benchmark, we welcome your contributions.
The AlgoPerf benchmark is an actively evolving project designed to keep pace with the rapidly changing field of machine learning. To ensure clarity and reproducibility, we have adopted a unified versioning system: codebase, rules, and leaderboard all share the same Major.Minor version. Patch versions may differ for minor updates. All results produced under the same Major.Minor version are comparable, making it easy to cite "AlgoPerf vX.Y" and know exactly which set of rules, code, and submissions are being referenced.
Here is an overview of our key releases and the future roadmap. For a detailed list of changes in each release, see our Changelog.
v0.5 - Inaugural Competition
The benchmark as it was run for the first AlgoPerf competition in 2024. The key findings and analysis from this competition are detailed in our ICLR 2025 Results Paper. It serves as a historical reference.
v0.6 - This was an improved and streamlined version that fixed important bugs and modified the benchmark protocol based on the lessons learned from the competition.
🏗️ v1.0 - Long-Term Support Release
This is the active and recommended version of the benchmark and the recommended starting version for all new submissions.
This repository also provides a collection of implemented training algorithms with different purposes. These include submission templates, development examples, target-setting algorithms, historical baselines, and current baselines. For a detailed overview of these algorithms and their organization, please refer to the algorithms/README.md file. You can also find all benchmark submissions and their results on the official Leaderboard. These algorithms provide a starting point for developing your own training algorithm and are a great resource for understanding the AlgoPerf benchmark and its API.
If you use the AlgoPerf benchmark, its codebase, or results in your research, please cite our papers.
Benchmark Paper:
In this paper, we motivate, describe, and justify the AlgoPerf: Training Algorithms benchmark.
Dahl, Schneider, Nado, et al.
> Benchmarking Neural Network Training Algorithms
> arXiv 2306.07179
@Misc{Dahl2023AlgoPerf,
title = {{Benchmarking Neural Network Training Algorithms}},
author = {Dahl, George E. and Schneider, Frank and Nado, Zachary and Agarwal, Naman and Sastry, Chandramouli Shama and Hennig, Philipp and Medapati, Sourabh and Eschenhagen, Runa and Kasimbeg, Priya and Suo, Daniel and Bae, Juhan and Gilmer, Justin and Peirson, Abel L. and Khan, Bilal and Anil, Rohan and Rabbat, Mike and Krishnan, Shankar and Snider, Daniel and Amid, Ehsan and Chen, Kongtao and Maddison, Chris J. and Vasudev, Rakshith and Badura, Michal and Garg, Ankush and Mattson, Peter},
year = {2023},
archiveprefix = {arXiv},
eprint = {2306.07179},
}Competition Results Paper:
In this paper, we analyze the results of the first AlgoPerf competition.
@inproceedings{Kasimbeg2025AlgoPerfResults,
title = {Accelerating neural network training: An analysis of the {AlgoPerf} competition},
author = {Kasimbeg, Priya and Schneider, Frank and Eschenhagen, Runa and Bae, Juhan and Sastry, Chandramouli Shama and Saroufim, Mark and Boyuan, Feng and Wright, Less and Yang, Edward Z. and Nado, Zachary and Medapati, Sourabh and Hennig, Philipp and Rabbat, Michael and Dahl, George E.},
booktitle = {The Thirteenth International Conference on Learning Representations},
year = {2025},
url = {https://openreview.net/forum?id=CtM5xjRSfm}
}The AlgoPerf codebase is licensed under the Apache License 2.0. All AlgoPerf benchmark submissions must likewise be open-source under the same Apache License 2.0.
MLCommons™ Algorithms Working Group • Join us!
| Back | FazBrowse Home | New Git URL |