Entrenamiento Asíncrono Local-SGD para Modelado de Lenguaje
Asynchronous Local-SGD Training for Language Modeling
January 17, 2024
Autores: Bo Liu, Rachita Chhaparia, Arthur Douillard, Satyen Kale, Andrei A. Rusu, Jiajun Shen, Arthur Szlam, Marc'Aurelio Ranzato
cs.AI
Resumen
El descenso de gradiente estocástico local (Local-SGD), también conocido como promediado federado, es un enfoque de optimización distribuida en el que cada dispositivo realiza más de una actualización de SGD por comunicación. Este trabajo presenta un estudio empírico del Local-SGD {\it asíncrono} para entrenar modelos de lenguaje; es decir, cada trabajador actualiza los parámetros globales tan pronto como termina sus pasos de SGD. Realizamos una investigación exhaustiva examinando cómo la heterogeneidad del hardware de los trabajadores, el tamaño del modelo, el número de trabajadores y el optimizador podrían afectar el rendimiento del aprendizaje. Descubrimos que, con implementaciones ingenuas, el Local-SGD asíncrono requiere más iteraciones para converger que su contraparte síncrona, a pesar de actualizar los parámetros del modelo (global) con mayor frecuencia. Identificamos la aceleración por momento en los parámetros globales cuando los gradientes de los trabajadores están desactualizados como un desafío clave. Proponemos un método novedoso que utiliza una actualización de momento de Nesterov retrasada y ajusta los pasos de entrenamiento local de los trabajadores según su velocidad de cálculo. Este enfoque, evaluado con modelos de hasta 150 millones de parámetros en el conjunto de datos C4, iguala el rendimiento del Local-SGD síncrono en términos de perplejidad por paso de actualización y lo supera significativamente en términos de tiempo de reloj.
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.