HetCCL: Enabling Collective Communication For Mixed-Vendor Heterogeneous Clusters
HetCCL is een nieuw framework dat efficiënte collectieve communicatie in heterogene clusters van verschillende leveranciers mogelijk maakt door het introduceren van host-device copy-vrije P2P-transport, een leveranciersonafhankelijk border-communicator-mechanisme en een hiërarchische topologie-abstractie, waarmee tot 19x hogere bandbreedte dan Gloo wordt bereikt en de training van LLM's met 16,9% wordt versneld.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een enorme, wereldwijde estafette probeert te organiseren om een super-slimme AI (een Large Language Model) te trainen. In het verleden kon je alleen hardlopers uit één specifiek land gebruiken (één hardwareleverancier, zoals NVIDIA). Zij droegen allemaal dezelfde schoenen, spraken dezelfde taal en wisten precies hoe ze de estafettestok moesten doorgeven. Dit maakte de race snel en soepel.
Maar tegenwoordig is het te duur of zelfs onmogelijk om een race te organiseren met alleen hardlopers uit één land (omdat de voorraad laag is). Daarom besluit je om hardlopers uit verschillende landen te mengen (NVIDIA, AMD, Huawei, etc.). Het probleem? Ze spreken verschillende talen, dragen verschillende schoenen en weten niet hoe ze de estafettestok aan elkaar moeten doorgeven zonder deze te laten vallen.
Dit is het probleem dat HetCCL oplost. Hier is hoe het werkt, uitgelegd aan de hand van eenvoudige concepten:
1. Het Probleem: De "Coach" als Bottleneck
In eerdere pogingen met gemengde races moest, als een hardloper uit Land A een estafettestok aan een hardloper uit Land B wilde doorgeven, hij eerst naar een centrale "Coach" (de CPU) rennen. De Coach nam de stok aan, schreef het op een klembord, rende naar de andere kant en gaf hem dan aan de nieuwe hardloper.
- Het probleem: Deze "Coach"-stap is traag. Het verspilt tijd door heen en weer te rennen, en het pad tussen de Coach en de hardlopers is een smalle, drukke gang (de PCIe-bottleneck).
2. De Oplossing: De "Directe Lijn" (P2P Transport)
HetCCL verzint een nieuwe manier om de estafettestok door te geven. In plaats van de Coach te gebruiken, bouwt het een directe, snelle tunnel tussen de handen van de hardlopers, zelfs als ze uit verschillende landen komen.
- Hoe het werkt: HetCCL houdt de "controle" (de instructies over wanne't er gerend moet worden) bij de Coach, maar de "data" (de eigenlijke estafettestok) blijft de hele tijd in de handen van de hardlopers.
- De analogie: Stel je voor dat de Coach een tekstbericht stuurt met de tekst: "Ga!" De hardlopers geven vervolgens de estafettestok direct aan elkaar door via een supersnelle tunnel, waardoor ze de kantoorruimte van de Coach volledig overslaan. Dit elimineert de trage tijd van het "heen en weer rennen".
3. De "Grensbewaker"-truc (Vendor-Onafhankelijke Reductie)
Soms gaat de race niet alleen over het doorgeven van een estafettestok; het gaat ook over het combineren van informatie. Bijvoorbeeld, als Hardloper A het getal "5" heeft en Hardloper B het getal "3", moeten ze deze optellen om tot "8" te komen voordat ze het resultaat doorgeven.
- Het probleem: Verschillende landen gebruiken verschillende rekenmachines. Je kunt Hardloper A niet vragen om de rekenmachine van Hardloper B te gebruiken.
- De oplossing: HetCCL creëert een "Grensbewaker"-systeem. Het neemt de getallen van de verschillende hardlopers, verplaatst ze naar een specifieke "Grensstation" waar een standaard, universele rekenmachine (ingebouwd in de bestaande software van elk land) de berekening kan uitvoeren. Het is alsof er een universele vertaler bij de grens staat die de optelsommen voor iedereen doet, zodat niemand een nieuwe taal hoeft te leren.
4. De "Assemblagelijn" (Hiërarchisch & Pipelined Ontwerp)
In een enorme race met veel teams is de race traag als iedereen wacht tot de vorige ploeg klaar is voordat zij mogen beginnen.
- De oplossing: HetCCL organiseert de race als een hiërarchische assemblagelijn.
- Stap 1: Hardlopers binnen hetzelfde land voltooien eerst hun lokale overdrachten.
- Stap 2: Terwijl zij dat doen, beginnen de "Grensbewakers" de data tussen landen door te geven.
- Stap 3: De laatste overdrachten vinden weer plaats binnen de landen zelf.
- De analogie: In plaats van te wachten tot de hele lijn stopt, begint de volgende groep hardlopers te bewegen zodra de vorige groep het parcours heeft vrijgemaakt. Dit houdt de "tunnels" (netwerkbandbreedte) vol en druk, in plaats van dat ze stilstaan.
Wat hebben ze bewezen?
De onderzoekers hebben dit systeem (genaamd HetCCL) gebouwd en getest met echte hardware van vier verschillende bedrijven. Dit is wat ze ontdekten:
- Snelheid: In scenario's met gemengde hardware was HetCCL 17 tot 19 keer sneller dan de oude "Coach"-methode (Gloo).
- Efficiëntie: Het bereikte bijna dezelfde snelheid als wanneer iedereen uit hetzelfde land zou komen, zelfs bij het mengen van verschillende hardware.
- Impact in de echte wereld: Wanneer ze het gebruikten om AI-modellen te trainen (zoals Llama 3), voltooide het trainingsproces tot wel 16,9% sneller per stap in vergelijking met de oude methoden.
Kortom: HetCCL is een universele vertaler en een sneltreinbaan die ervoor zorgt dat verschillende soorten computerchips als een team kunnen samenwerken zonder elkaar te vertragen, wat het goedkoper en sneller maakt om enorme AI-systemen te bouwen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.