Comparação de Algoritmos de Treinamento de Redes Neurais
Benchmarking Neural Network Training Algorithms
June 12, 2023
Autores: George E. Dahl, Frank Schneider, Zachary Nado, Naman Agarwal, Chandramouli Shama Sastry, Philipp Hennig, Sourabh Medapati, Runa Eschenhagen, Priya Kasimbeg, Daniel Suo, Juhan Bae, Justin Gilmer, Abel L. Peirson, Bilal Khan, Rohan Anil, Mike Rabbat, Shankar Krishnan, Daniel Snider, Ehsan Amid, Kongtao Chen, Chris J. Maddison, Rakshith Vasudev, Michal Badura, Ankush Garg, Peter Mattson
cs.AI
Resumo
Algoritmos de treinamento, em um sentido amplo, são uma parte essencial de todo pipeline de aprendizado profundo. Melhorias nos algoritmos de treinamento que aceleram o processo em uma variedade de cargas de trabalho (por exemplo, regras de atualização mais eficientes, protocolos de ajuste, cronogramas de taxa de aprendizado ou esquemas de seleção de dados) podem economizar tempo, reduzir o uso de recursos computacionais e resultar em modelos melhores e mais precisos. Infelizmente, como comunidade, atualmente não somos capazes de identificar de forma confiável melhorias nos algoritmos de treinamento, ou mesmo determinar qual é o algoritmo de treinamento mais avançado. Neste trabalho, por meio de experimentos concretos, argumentamos que o progresso real na aceleração do treinamento requer novos benchmarks que resolvam três desafios básicos enfrentados por comparações empíricas de algoritmos de treinamento: (1) como decidir quando o treinamento está completo e medir com precisão o tempo de treinamento, (2) como lidar com a sensibilidade das medições aos detalhes exatos da carga de trabalho, e (3) como comparar de forma justa algoritmos que exigem ajuste de hiperparâmetros. Para abordar esses desafios, introduzimos um novo benchmark competitivo de tempo-para-resultado, utilizando múltiplas cargas de trabalho executadas em hardware fixo, o AlgoPerf: Benchmark de Algoritmos de Treinamento. Nosso benchmark inclui um conjunto de variantes de cargas de trabalho que possibilitam a detecção de submissões mais robustas a mudanças na carga de trabalho em comparação com os métodos amplamente utilizados atualmente. Por fim, avaliamos submissões de linha de base construídas com vários otimizadores que representam a prática atual, bem como outros otimizadores que recentemente receberam atenção na literatura. Esses resultados de linha de base demonstram coletivamente a viabilidade do nosso benchmark, mostram que existem lacunas não triviais entre os métodos e estabelecem um estado da arte provisório para que futuras submissões ao benchmark tentem superar.
English
Training algorithms, broadly construed, are an essential part of every deep
learning pipeline. Training algorithm improvements that speed up training
across a wide variety of workloads (e.g., better update rules, tuning
protocols, learning rate schedules, or data selection schemes) could save time,
save computational resources, and lead to better, more accurate, models.
Unfortunately, as a community, we are currently unable to reliably identify
training algorithm improvements, or even determine the state-of-the-art
training algorithm. In this work, using concrete experiments, we argue that
real progress in speeding up training requires new benchmarks that resolve
three basic challenges faced by empirical comparisons of training algorithms:
(1) how to decide when training is complete and precisely measure training
time, (2) how to handle the sensitivity of measurements to exact workload
details, and (3) how to fairly compare algorithms that require hyperparameter
tuning. In order to address these challenges, we introduce a new, competitive,
time-to-result benchmark using multiple workloads running on fixed hardware,
the AlgoPerf: Training Algorithms benchmark. Our benchmark includes a set of
workload variants that make it possible to detect benchmark submissions that
are more robust to workload changes than current widely-used methods. Finally,
we evaluate baseline submissions constructed using various optimizers that
represent current practice, as well as other optimizers that have recently
received attention in the literature. These baseline results collectively
demonstrate the feasibility of our benchmark, show that non-trivial gaps
between methods exist, and set a provisional state-of-the-art for future
benchmark submissions to try and surpass.