ChatPaper.aiChatPaper

Entraînement Asynchrone Local-SGD pour la Modélisation du Langage

Asynchronous Local-SGD Training for Language Modeling

January 17, 2024
Auteurs: Bo Liu, Rachita Chhaparia, Arthur Douillard, Satyen Kale, Andrei A. Rusu, Jiajun Shen, Arthur Szlam, Marc'Aurelio Ranzato
cs.AI

Résumé

La descente de gradient stochastique locale (Local-SGD), également appelée agrégation fédérée, est une approche d'optimisation distribuée où chaque appareil effectue plus d'une mise à jour SGD par communication. Ce travail présente une étude empirique de la Local-SGD {\it asynchrone} pour l'entraînement de modèles de langage ; c'est-à-dire que chaque travailleur met à jour les paramètres globaux dès qu'il a terminé ses étapes SGD. Nous menons une investigation approfondie en examinant comment l'hétérogénéité matérielle des travailleurs, la taille du modèle, le nombre de travailleurs et l'optimiseur pourraient influencer les performances d'apprentissage. Nous constatons qu'avec des implémentations naïves, la Local-SGD asynchrone nécessite plus d'itérations pour converger que sa contrepartie synchrone, malgré une mise à jour plus fréquente des paramètres (globaux) du modèle. Nous identifions l'accélération par momentum sur les paramètres globaux lorsque les gradients des travailleurs sont obsolètes comme un défi majeur. Nous proposons une nouvelle méthode qui utilise une mise à jour de momentum de Nesterov retardée et ajuste les étapes d'entraînement locales des travailleurs en fonction de leur vitesse de calcul. Cette approche, évaluée avec des modèles allant jusqu'à 150 millions de paramètres sur le jeu de données C4, correspond aux performances de la Local-SGD synchrone en termes de perplexité par étape de mise à jour, et la dépasse significativement en termes de temps écoulé.
English
Local stochastic gradient descent (Local-SGD), also referred to as federated averaging, is an approach to distributed optimization where each device performs more than one SGD update per communication. This work presents an empirical study of {\it asynchronous} Local-SGD for training language models; that is, each worker updates the global parameters as soon as it has finished its SGD steps. We conduct a comprehensive investigation by examining how worker hardware heterogeneity, model size, number of workers, and optimizer could impact the learning performance. We find that with naive implementations, asynchronous Local-SGD takes more iterations to converge than its synchronous counterpart despite updating the (global) model parameters more frequently. We identify momentum acceleration on the global parameters when worker gradients are stale as a key challenge. We propose a novel method that utilizes a delayed Nesterov momentum update and adjusts the workers' local training steps based on their computation speed. This approach, evaluated with models up to 150M parameters on the C4 dataset, matches the performance of synchronous Local-SGD in terms of perplexity per update step, and significantly surpasses it in terms of wall clock time.
PDF112December 15, 2024