Benchmarking von Trainingsalgorithmen für neuronale Netze
Benchmarking Neural Network Training Algorithms
June 12, 2023
Autoren: 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
Zusammenfassung
Trainingsalgorithmen, im weiteren Sinne verstanden, sind ein wesentlicher Bestandteil jeder Deep-Learning-Pipeline. Verbesserungen von Trainingsalgorithmen, die das Training über eine Vielzahl von Workloads beschleunigen (z. B. bessere Aktualisierungsregeln, Abstimmungsprotokolle, Lernratenpläne oder Datenauswahlschemata), könnten Zeit sparen, Rechenressourcen schonen und zu besseren, genaueren Modellen führen. Leider sind wir als Gemeinschaft derzeit nicht in der Lage, Verbesserungen von Trainingsalgorithmen zuverlässig zu identifizieren oder sogar den Stand der Technik bei Trainingsalgorithmen zu bestimmen. In dieser Arbeit argumentieren wir anhand konkreter Experimente, dass echter Fortschritt bei der Beschleunigung des Trainings neue Benchmarks erfordert, die drei grundlegende Herausforderungen bei empirischen Vergleichen von Trainingsalgorithmen lösen: (1) wie man entscheidet, wann das Training abgeschlossen ist, und die Trainingszeit genau misst, (2) wie man mit der Empfindlichkeit der Messungen gegenüber genauen Workload-Details umgeht, und (3) wie man Algorithmen, die eine Hyperparameterabstimmung erfordern, fair vergleicht. Um diese Herausforderungen zu bewältigen, führen wir einen neuen, wettbewerbsfähigen Benchmark für die Zeit bis zum Ergebnis ein, der mehrere Workloads auf fester Hardware verwendet, den AlgoPerf: Training Algorithms Benchmark. Unser Benchmark umfasst eine Reihe von Workload-Varianten, die es ermöglichen, Benchmark-Einreichungen zu erkennen, die robuster gegenüber Workload-Änderungen sind als die derzeit weit verbreiteten Methoden. Schließlich bewerten wir Baseline-Einreichungen, die mit verschiedenen Optimierern erstellt wurden, die die aktuelle Praxis repräsentieren, sowie andere Optimierer, die in der Literatur kürzlich Aufmerksamkeit erhalten haben. Diese Baseline-Ergebnisse zeigen gemeinsam die Machbarkeit unseres Benchmarks, zeigen, dass nicht-triviale Lücken zwischen den Methoden bestehen, und setzen einen vorläufigen Stand der Technik, den zukünftige Benchmark-Einreichungen versuchen sollten, zu übertreffen.
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.