Valutazione Comparativa degli Algoritmi di Addestramento per Reti Neurali
Benchmarking Neural Network Training Algorithms
June 12, 2023
Autori: 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
Abstract
Gli algoritmi di addestramento, intesi in senso ampio, sono una componente essenziale di ogni pipeline di deep learning. Miglioramenti negli algoritmi di addestramento che accelerano il processo su un'ampia gamma di carichi di lavoro (ad esempio, regole di aggiornamento migliorate, protocolli di ottimizzazione, schedulazioni del tasso di apprendimento o schemi di selezione dei dati) potrebbero far risparmiare tempo, ridurre le risorse computazionali e portare a modelli migliori e più accurati. Sfortunatamente, come comunità, attualmente non siamo in grado di identificare in modo affidabile i miglioramenti negli algoritmi di addestramento, né di determinare l'algoritmo di addestramento allo stato dell'arte. In questo lavoro, attraverso esperimenti concreti, sosteniamo che un progresso reale nell'accelerazione dell'addestramento richiede nuovi benchmark che risolvano tre sfide fondamentali affrontate dai confronti empirici degli algoritmi di addestramento: (1) come decidere quando l'addestramento è completo e misurare con precisione il tempo di addestramento, (2) come gestire la sensibilità delle misurazioni ai dettagli specifici del carico di lavoro, e (3) come confrontare in modo equo algoritmi che richiedono l'ottimizzazione degli iperparametri. Per affrontare queste sfide, introduciamo un nuovo benchmark competitivo basato sul tempo per ottenere risultati, utilizzando più carichi di lavoro eseguiti su hardware fisso, il benchmark AlgoPerf: Training Algorithms. Il nostro benchmark include una serie di varianti di carichi di lavoro che rendono possibile rilevare le proposte di benchmark che sono più robuste ai cambiamenti del carico di lavoro rispetto ai metodi attualmente ampiamente utilizzati. Infine, valutiamo proposte di baseline costruite utilizzando vari ottimizzatori che rappresentano la pratica corrente, nonché altri ottimizzatori che hanno recentemente ricevuto attenzione nella letteratura. Questi risultati di baseline dimostrano collettivamente la fattibilità del nostro benchmark, mostrano che esistono differenze non banali tra i metodi e stabiliscono uno stato dell'arte provvisorio che le future proposte di benchmark cercheranno di superare.
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.