Évaluation comparative des algorithmes d'entraînement des réseaux de neurones
Benchmarking Neural Network Training Algorithms
June 12, 2023
Auteurs: 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
Résumé
Les algorithmes d'entraînement, au sens large, constituent un élément essentiel de chaque pipeline d'apprentissage profond. Les améliorations des algorithmes d'entraînement qui accélèrent l'entraînement pour une grande variété de charges de travail (par exemple, des règles de mise à jour plus efficaces, des protocoles de réglage, des calendriers de taux d'apprentissage ou des schémas de sélection de données) pourraient permettre de gagner du temps, d'économiser des ressources de calcul et de conduire à des modèles meilleurs et plus précis. Malheureusement, en tant que communauté, nous sommes actuellement incapables d'identifier de manière fiable les améliorations des algorithmes d'entraînement, ou même de déterminer l'algorithme d'entraînement de pointe. Dans ce travail, en utilisant des expériences concrètes, nous soutenons que les progrès réels dans l'accélération de l'entraînement nécessitent de nouveaux benchmarks qui résolvent trois défis fondamentaux auxquels sont confrontées les comparaisons empiriques des algorithmes d'entraînement : (1) comment décider quand l'entraînement est terminé et mesurer précisément le temps d'entraînement, (2) comment gérer la sensibilité des mesures aux détails exacts de la charge de travail, et (3) comment comparer équitablement les algorithmes qui nécessitent un réglage des hyperparamètres. Pour relever ces défis, nous introduisons un nouveau benchmark compétitif basé sur le temps jusqu'au résultat, utilisant plusieurs charges de travail exécutées sur du matériel fixe, le benchmark AlgoPerf : Algorithmes d'Entraînement. Notre benchmark inclut un ensemble de variantes de charges de travail qui permettent de détecter les soumissions de benchmark plus robustes aux changements de charge de travail que les méthodes largement utilisées actuellement. Enfin, nous évaluons des soumissions de base construites en utilisant divers optimiseurs représentant les pratiques actuelles, ainsi que d'autres optimiseurs qui ont récemment retenu l'attention dans la littérature. Ces résultats de base démontrent collectivement la faisabilité de notre benchmark, montrent que des écarts non négligeables existent entre les méthodes, et établissent un état de l'art provisoire que les futures soumissions de benchmark devront essayer de surpasser.
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.