Evaluación Comparativa de Algoritmos de Entrenamiento de Redes Neuronales
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
Resumen
Los algoritmos de entrenamiento, en un sentido amplio, son una parte esencial de cada flujo de trabajo en aprendizaje profundo. Las mejoras en los algoritmos de entrenamiento que aceleran el proceso en una amplia variedad de cargas de trabajo (por ejemplo, reglas de actualización más eficientes, protocolos de ajuste, programaciones de tasas de aprendizaje o esquemas de selección de datos) podrían ahorrar tiempo, reducir el uso de recursos computacionales y conducir a modelos mejores y más precisos. Desafortunadamente, como comunidad, actualmente no somos capaces de identificar de manera confiable mejoras en los algoritmos de entrenamiento, ni siquiera de determinar cuál es el algoritmo de entrenamiento más avanzado. En este trabajo, mediante experimentos concretos, argumentamos que el progreso real en la aceleración del entrenamiento requiere nuevos puntos de referencia que resuelvan tres desafíos básicos enfrentados por las comparaciones empíricas de algoritmos de entrenamiento: (1) cómo decidir cuándo el entrenamiento ha finalizado y medir con precisión el tiempo de entrenamiento, (2) cómo manejar la sensibilidad de las mediciones a los detalles específicos de la carga de trabajo, y (3) cómo comparar de manera justa algoritmos que requieren ajuste de hiperparámetros. Para abordar estos desafíos, presentamos un nuevo punto de referencia competitivo basado en el tiempo hasta obtener resultados, utilizando múltiples cargas de trabajo ejecutadas en hardware fijo: el punto de referencia AlgoPerf: Algoritmos de Entrenamiento. Nuestro punto de referencia incluye un conjunto de variantes de cargas de trabajo que permiten detectar propuestas que son más robustas a los cambios en la carga de trabajo que los métodos ampliamente utilizados en la actualidad. Finalmente, evaluamos propuestas de línea base construidas utilizando varios optimizadores que representan las prácticas actuales, así como otros optimizadores que han recibido atención reciente en la literatura. Estos resultados de línea base demuestran colectivamente la viabilidad de nuestro punto de referencia, muestran que existen brechas no triviales entre los métodos y establecen un estado del arte provisional para que futuras propuestas intenten 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.