Streaming DiLoCo con comunicazione sovrapposta: Verso un Pranzo Gratuito Distribuito
Streaming DiLoCo with overlapping communication: Towards a Distributed Free Lunch
January 30, 2025
Autori: 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
Abstract
L'addestramento dei grandi modelli linguistici (LLM) è tipicamente distribuito su un gran numero di acceleratori per ridurre il tempo di addestramento. Poiché gli stati interni e i gradienti dei parametri devono essere scambiati ad ogni singolo passo di gradiente, tutti i dispositivi devono essere collocati insieme utilizzando collegamenti di comunicazione a bassa latenza ad alta larghezza di banda per supportare l'alto volume di bit scambiati richiesto. Recentemente, algoritmi distribuiti come DiLoCo hanno allentato tale vincolo di co-locazione: gli acceleratori possono essere raggruppati in "worker", dove le sincronizzazioni tra i worker avvengono solo raramente. Ciò significa a sua volta che i worker possono permettersi di essere collegati da collegamenti di comunicazione a larghezza di banda inferiore senza influire sulla qualità dell'apprendimento. Tuttavia, in questi metodi, la comunicazione tra i worker richiede comunque la stessa larghezza di banda massima di prima, poiché le sincronizzazioni richiedono lo scambio di tutti i parametri tra tutti i worker. In questo articolo, miglioriamo DiLoCo in tre modi. Primo, sincronizziamo solo sottoinsiemi di parametri in sequenza, anziché tutti contemporaneamente, riducendo notevolmente la larghezza di banda massima. Secondo, permettiamo ai worker di continuare l'addestramento durante la sincronizzazione, riducendo il tempo effettivo. Terzo, quantizziamo i dati scambiati dai worker, riducendo ulteriormente la larghezza di banda tra i worker. Combinando correttamente queste modifiche, dimostriamo sperimentalmente di poter distribuire l'addestramento di parametri su scala di miliardi e raggiungere una qualità simile a prima, riducendo la larghezza di banda richiesta di due ordini di grandezza.
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