Streaming DiLoCo met overlappende communicatie: Op weg naar een Gedistribueerde Gratis Lunch
Streaming DiLoCo with overlapping communication: Towards a Distributed Free Lunch
January 30, 2025
Auteurs: 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
Samenvatting
Het trainen van grote taalmodellen (LLM's) wordt doorgaans verdeeld over een groot aantal versnellers om de trainingsduur te verkorten. Aangezien interne toestanden en parametergradiënten bij elke enkele gradiëntstap moeten worden uitgewisseld, moeten alle apparaten zich op dezelfde locatie bevinden met behulp van communicatielinks met lage latentie en hoge bandbreedte om de vereiste hoge hoeveelheid uitgewisselde bits te ondersteunen. Onlangs hebben gedistribueerde algoritmes zoals DiLoCo deze co-locatiebeperking versoepeld: versnellers kunnen worden gegroepeerd in "werkers", waar synchronisaties tussen werkers slechts af en toe plaatsvinden. Dit betekent op zijn beurt dat werkers verbonden kunnen zijn met communicatielinks met lagere bandbreedte zonder de leerprestaties te beïnvloeden. Echter, bij deze methoden vereist communicatie tussen werkers nog steeds dezelfde piekbandbreedte als voorheen, aangezien de synchronisaties vereisen dat alle parameters worden uitgewisseld tussen alle werkers. In dit artikel verbeteren we DiLoCo op drie manieren. Ten eerste synchroniseren we alleen subsets van parameters in sequentie, in plaats van allemaal tegelijk, wat de piekbandbreedte aanzienlijk vermindert. Ten tweede staan we werkers toe om door te gaan met trainen tijdens het synchroniseren, wat de kloktijd verkort. Ten derde kwantificeren we de uitgewisselde gegevens tussen werkers, wat de bandbreedte tussen werkers verder vermindert. Door deze aanpassingen op de juiste manier te combineren, laten we experimenteel zien dat we de training van parameters op miljardenschaal kunnen verdelen en vergelijkbare kwaliteit kunnen bereiken als voorheen, maar met een bandbreedtevermindering van twee ordes van grootte.
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