Research

AI and efficiency

AI And Efficiency

We’re releasing an analysis showing that since 2012 the amount of compute needed to train a neural net to the same performance on ImageNet classification has been decreasing by a factor of 2 every 16 months. Compared to 2012, it now takes 44 times less compute to train a neural network to the level of AlexNet (by contrast, Moore’s Law would yield an 11x cost improvement over this period). Our results suggest that for AI tasks with high levels of recent investment, algorithmic progress has yielded more gains than classical hardware efficiency.

May 5, 2020

More resources

Intro references: Imagenet[^reference-1], AlexNet[^reference-2], Moore’s Law[^reference-3]

Algorithmic improvement is a key factor driving the advance of AI. It’s important to search for measures that shed light on overall algorithmic progress, even though it’s harder than measuring such trends in compute.[^reference-4]

44x less compute required to get to AlexNet performance 7 years later

Total amount of compute in teraflops/s-days used to train to AlexNet level performance. Lowest compute points at any given time shown in blue, all points measured shown in gray.[^reference-2][^reference-5][^reference-6][^reference-7][^reference-8][^reference-9][^reference-10][^reference-11][^reference-12][^reference-13][^reference-14][^reference-15][^reference-16]

Measuring efficiency

Algorithmic efficiency can be defined as reducing the compute needed to train a specific capability. Efficiency is the primary way we measure algorithmic progress on classic computer science problems like sorting. Efficiency gains on traditional problems like sorting are more straightforward to measure than in ML because they have a clearer measure of task difficulty.[^footnote-difficulty] However, we can apply the efficiency lens to machine learning by holding performance constant. Efficiency trends can be compared across domains like DNA sequencing[^reference-17] (10-month doubling), solar energy[^reference-18] (6-year doubling), and transistor density[^reference-3] (2-year doubling).

For our analysis, we primarily leveraged open-source re-implementations[^reference-19][^reference-20][^reference-21] to measure progress on AlexNet level performance over a long horizon. We saw a similar rate of training efficiency improvement for ResNet-50 level performance on ImageNet (17-month doubling time).[^reference-7][^reference-16] We saw faster rates of improvement over shorter timescales in Translation, Go, and Dota 2:

  1. Within translation, the Transformer[^reference-22] surpassed seq2seq[^reference-23] performance on English to French translation on WMT’14 with 61x less training compute 3 years later.
  2. We estimate AlphaZero[^reference-24] took 8x less compute to get to AlphaGoZero[^reference-25] level performance 1 year later.
  3. OpenAI Five Rerun required 5x less training compute to surpass OpenAI Five[^reference-26] (which beat the world champions, OG) 3 months later.

It can be helpful to think of compute in 2012 not being equal to compute in 2019 in a similar way that dollars need to be inflation-adjusted over time. A fixed amount of compute could accomplish more in 2019 than in 2012. One way to think about this is that some types of AI research progress in two stages, similar to the “tick tock” model of development seen in semiconductors; new capabilities (the “tick”) typically require a significant amount of compute expenditure to obtain, then refined versions of those capabilities (the “tock”) become much more efficient to deploy due to process improvements.

Increases in algorithmic efficiency allow researchers to do more experiments of interest in a given amount of time and money. In addition to being a measure of overall progress, algorithmic efficiency gains speed up future AI research in a way that’s somewhat analogous to having more compute.

Other measures of AI progress

In addition to efficiency, many other measures shed light on overall algorithmic progress in AI. Training cost in dollars[^reference-28] is related, but less narrowly focused on algorithmic progress because it’s also affected by improvement in the underlying hardware, hardware utilization, and cloud infrastructure. Sample efficiency is key when we’re in a low data regime, which is the case for many tasks of interest. The ability to train models faster[^reference-29] also speeds up research and can be thought of as a measure of the parallelizability[^reference-30] of learning capabilities of interest. We also find increases in inference efficiency in terms of GPU time[^reference-31], parameters[^reference-16], and flops meaningful, but mostly as a result of their economic implications[^footnote-implications] rather than their effect on future research progress. Shufflenet[^reference-13] achieved AlexNet-level performance with an 18x inference efficiency increase in 5 years (15-month doubling time), which suggests that training efficiency and inference efficiency might improve at similar rates. The creation of datasets/​environments/​benchmarks is a powerful method of making specific AI capabilities of interest more measurable.

Primary limitations

  1. We have only a small number of algorithmic efficiency data points on a few tasks. It’s unclear the degree to which the efficiency trends we’ve observed generalize to other AI tasks. Systematic measurement could make it clear whether an algorithmic equivalent to Moore’s Law[^footnote-moores-law] in the domain of AI exists, and if it exists, clarify its nature. We consider this a highly interesting open question. We suspect we’re more likely to observe similar rates of efficiency progress on similar tasks. By similar tasks, we mean tasks within these sub-domains of AI, on which the field agrees we’ve seen substantial progress, and that have comparable levels of investment (compute and/or researcher time).
  2. Even though we believe AlexNet represented a lot of progress, this analysis doesn’t attempt to quantify that progress. More generally, the first time a capability is created, algorithmic breakthroughs may have reduced the resources required from totally infeasible[^footnote-algorithmic-breakthroughs] to merely high. We think new capabilities generally represent a larger share of overall conceptual progress than observed efficiency increases of the type shown here.
  3. This analysis focuses on the final training run cost for an optimized model rather than total development costs. Some algorithmic improvements make it easier to train a model by making the space of hyperparameters that will train stably and get good final performance much larger. On the other hand, architecture searches increase the gap between the final training run cost and total training costs.
  4. We don’t speculate[^footnote-speculate] on the degree to which we expect efficiency trends will extrapolate in time, we merely present our results and discuss the implications if the trends persist.

Measurement and AI policy

We believe[^reference-32] that policymaking related to AI will be improved by a greater focus on the measurement and assessment of AI systems, both in terms of technical attributes and societal impact. We think such measurement initiatives can shed light on important questions in policy; our AI and Compute[^reference-4] analysis suggests policymakers should increase funding for compute resources for academia, so that academic research can replicate, reproduce, and extend industry research. This efficiency analysis suggests that policymakers could develop accurate intuitions about the cost of deploying AI capabilities—and how these costs are going to alter over time—by more closely assessing the rate of improvements in efficiency for AI systems.

Tracking efficiency going forward

If large scale compute continues to be important to achieving state of the art (SOTA) overall performance in domains like language and games then it’s important to put effort into measuring notable progress achieved with smaller amounts of compute (contributions often made by academic institutions). Models that achieve training efficiency state of the arts on meaningful capabilities are promising candidates for scaling up and potentially achieving overall top performance. Additionally, figuring out the algorithmic efficiency improvements are straightforward[^footnote-straightforward] since they are just a particularly meaningful slice of the learning curves that all experiments generate.

We also think that measuring long run trends in efficiency SOTAs will help paint a quantitative picture of overall algorithmic progress. We observe that hardware and algorithmic efficiency gains are multiplicative and can be on a similar scale over meaningful horizons, which suggests that a good model of AI progress should integrate measures from both.

Our results suggest that for AI tasks with high levels of investment (researcher time and/or compute) algorithmic efficiency might outpace gains from hardware efficiency (Moore’s Law). Moore’s Law was coined in 1965 when integrated circuits had a mere 64 transistors (6 doublings) and naively extrapolating it out predicted personal computers and smartphones (an iPhone 11 has 8.5 billion transistors). If we observe decades of exponential improvement in the algorithmic efficiency of AI, what might it lead to? We’re not sure. That these results make us ask this question is a modest update for us towards a future with powerful AI services and technology.

For all these reasons, we’re going to start tracking efficiency SOTAs publicly. We’ll start with vision and translation efficiency benchmarks (ImageNet[^footnote-imagenet] and WMT14), and we’ll consider adding more benchmarks over time. We believe there are efficiency SOTAs on these benchmarks we’re unaware of and encourage the research community to submit them here (we’ll give credit to original authors and collaborators).

Industry leaders, policymakers, economists, and potential researchers are all trying to better understand AI progress and decide how much attention they should invest and where to direct it. Measurement efforts can help ground such decisions. If you’re interested in this type of work, consider applying to work at OpenAI’s Foresight or Policy team!

Algorithmic Efficiency SOTAs

Submit on GitHub
AlexNet-level performance

79.1% top 5 accuracy on ImageNet

PublicationCompute (TFS-Days)Reduction factorAnalysisDate
1AlexNet3.11AI and EfficiencyJun 1, 2012
2GoogLeNet0.714.3AI and EfficiencySep 17, 2014
3MobileNet0.2811AI and EfficiencyApr 17, 2017
4ShuffleNet (1x)0.1521AI and EfficiencyJul 3, 2017
5ShuffleNet v2 (1x)0.1225AI and EfficiencyJun 30, 2018
1EfficientNet (b0)0.06944EfficientNetMay 28, 2019
ResNet-50-level performance

92.9% top 5 accuracy on ImageNet

PublicationCompute (TFS-Days)Reduction factorAnalysisDate
1ResNet-50171AI and EfficiencyJan 10, 2015
2EfficientNet (b1)0.7510EfficientNetMay 28, 2019
Seq2Seq-level performance

34.8 BLEU on WMT-14 EN-FR

PublicationCompute (TFS-Days)Reduction factorAnalysisDate
1Seq2Seq (Ensemble)4651AI and ComputeJan 10, 2014
2Transformer (Base)861Attention is
all you need
Jan 12, 2017
GNMT-level performance

39.92 BLEU on WMT-14 EN-FR

PublicationCompute (TFS-Days)Reduction factorAnalysisDate
1GNMT16201Attention is
all you need
Jan 26, 2016
2Transformer (Big)1819Attention is
all you need
Jan 12, 2017

Acknowledgments

We’d like to thank the following people helpful conversations and/or feedback on this post: Dario Amodei, Jack Clark, Alec Radford, Paul Christiano, Sam McCandlish, Ilya Sutskever, Jacob Steinhardt, Jared Kaplan, Amanda Askell, John Schulman, Jacob Hilton, Asya Bergal, Katja Grace, Ryan Carey, Nicholas Joseph, Geoffrey Irving, Jeff Clune, and Ashley Pilipiszyn.

Thanks to Justin Jay Wang for design.

Thanks to Niki Parmar for providing the relevant points from the original transformer learning curves.

Also thanks to Mingxing Tan for providing the relevant points from EfficientNet learning curves and running an experiment with reduced warmup.