Transmisión de DiLoCo con comunicación superpuesta: Hacia un Almuerzo Gratis Distribuido
Streaming DiLoCo with overlapping communication: Towards a Distributed Free Lunch
January 30, 2025
Autores: Arthur Douillard, Yanislav Donchev, Keith Rush, Satyen Kale, Zachary Charles, Zachary Garrett, Gabriel Teston, Dave Lacey, Ross McIlroy, Jiajun Shen, Alexandre Ramé, Arthur Szlam, Marc'Aurelio Ranzato, Paul Barham
cs.AI
Resumen
El entrenamiento de modelos de lenguaje grandes (LLMs, por sus siglas en inglés) suele distribuirse en un gran número de aceleradores para reducir el tiempo de entrenamiento. Dado que los estados internos y los gradientes de parámetros deben intercambiarse en cada paso de gradiente, todos los dispositivos deben estar ubicados en el mismo lugar utilizando enlaces de comunicación de baja latencia y alta capacidad de ancho de banda para soportar el alto volumen de bits intercambiados requerido. Recientemente, algoritmos distribuidos como DiLoCo han relajado esta restricción de ubicación: los aceleradores pueden agruparse en "trabajadores", donde las sincronizaciones entre trabajadores solo ocurren ocasionalmente. Esto significa a su vez que los trabajadores pueden estar conectados por enlaces de comunicación de menor ancho de banda sin afectar la calidad del aprendizaje. Sin embargo, en estos métodos, la comunicación entre trabajadores aún requiere el mismo ancho de banda máximo que antes, ya que las sincronizaciones requieren que todos los parámetros se intercambien entre todos los trabajadores. En este documento, mejoramos DiLoCo de tres maneras. Primero, sincronizamos solo subconjuntos de parámetros en secuencia, en lugar de todos a la vez, lo que reduce significativamente el ancho de banda máximo. Segundo, permitimos que los trabajadores continúen entrenando mientras se sincronizan, lo que disminuye el tiempo de reloj de pared. Tercero, cuantificamos los datos intercambiados por los trabajadores, lo que reduce aún más el ancho de banda entre los trabajadores. Al combinar adecuadamente estas modificaciones, demostramos experimentalmente que podemos distribuir el entrenamiento de parámetros a escala de miles de millones y alcanzar una calidad similar a la anterior, pero reduciendo el ancho de banda requerido en dos órdenes de magnitud.
English
Training of large language models (LLMs) is typically distributed across a
large number of accelerators to reduce training time. Since internal states and
parameter gradients need to be exchanged at each and every single gradient
step, all devices need to be co-located using low-latency high-bandwidth
communication links to support the required high volume of exchanged bits.
Recently, distributed algorithms like DiLoCo have relaxed such co-location
constraint: accelerators can be grouped into ``workers'', where
synchronizations between workers only occur infrequently. This in turn means
that workers can afford being connected by lower bandwidth communication links
without affecting learning quality. However, in these methods, communication
across workers still requires the same peak bandwidth as before, as the
synchronizations require all parameters to be exchanged across all workers. In
this paper, we improve DiLoCo in three ways. First, we synchronize only subsets
of parameters in sequence, rather than all at once, which greatly reduces peak
bandwidth. Second, we allow workers to continue training while synchronizing,
which decreases wall clock time. Third, we quantize the data exchanged by
workers, which further reduces bandwidth across workers. By properly combining
these modifications, we show experimentally that we can distribute training of
billion-scale parameters and reach similar quality as before, but reducing
required bandwidth by two orders of magnitude.Summary
AI-Generated Summary