← Nieuwste papers
🤖 machine learning

MLCC: A Congestion Control Technique to Accelerate ML Training

Het artikel presenteert MLCC, een volledig gedistribueerde congestiecontroletechniek die de DNN-training in gedeelde GPU-clusters versnelt door netwerktransmissiesnelheden af te stemmen op computeperioden om flow-interleaving te bereiken, waardoor congestie aanzienlijk wordt verminderd en de voltooiingstijden van taken worden verbeterd.

Oorspronkelijke auteurs: Anton A. Zabreyko, Sanjoli Narang, Sudarsanan Rajasekaran, Manya Ghobadi

Gepubliceerd 2026-08-17
📖 7 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Anton A. Zabreyko, Sanjoli Narang, Sudarsanan Rajasekaran, Manya Ghobadi

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 een enorme, hightech keuken voor waar tientallen chefs tegelijkertijd complexe maaltijden proberen te bereiden. In deze keuken zijn de "ingrediënten" data, het "koken" is het eigenlijke wiskundige werk dat door krachtige computers (GPUs genoemd) wordt gedaan, en het "doorgeven van ingrediënten" is het netwerkverkeer dat tussen hen beweegt. Jarenlang was de regel in deze keuken simpel en eerlijk: als twee chefs een kom over de toonbank moeten doorgeven, wisselen ze evenredig van beurt. Maar hier komt de crux bij: koken gaat niet alleen over het doorgeven van kommen; het gaat over timing. Soms is een chef groenten aan het snijden (computeren), en soms wacht hij op een levering (communiceren). Als iedereen probeelt om hun kommen op exact hetzelfde moment door te geven, raakt de toonbank verstopt, botsen kommen en moet iedereen wachten. Dit is de wereld van Machine Learning (ML) training, waar enorme AI-modellen worden gebouwd. Het probleem is dat wanneer veel AI-taken tegelijkertijd draaien, ze vaak vastlopen in files, waardoor dure computers ongebruikt blijven terwijl ze wachten op data. Het doel is om deze taken in harmonie te laten werken, als een goed ingestudeerde dans, in plaats van een chaotische vechtpartij.

Maak kennis met MLCC, een slimme nieuwe techniek die fungeert als een intelligente verkeersregelaar voor deze AI-keukens. In plaats van iedereen te dwingen om evenredig van beurt te wisselen, leert MLCC de datastromen om langs elkaar heen te "glijden". Denk aan een groep hardlopers op een atletiekbaan. Op de oude manier, als twee hardlopers naast elkaar lopen, vertragen ze allebei om botsingen te voorkomen. MLCC verandert de regels: als één hardloper bijna zijn ronde heeft voltooid (zijn data heeft verzonden), krijgt hij een kleine boost om er snel voorbij te sprinten, terwijl de andere hardloper, die net begint, zachtjes wordt aangemoedigd om even te wachten. Dit creëert een ritme waarbij de ene taak aan het "koken" is terwijl de andere aan het "leveren" is, zodat ze nooit botsen. Het artikel laat zien dat door de bestaande regels van hoe computers met elkaar communiceren (congestion control) aan te passen met slechts een paar regels code, deze AI-taken automatisch dit ritme zelf kunnen ontdekken. In tests zorgde deze simpele truc ervoor dat trainingstaken tot wel 2,7 keer sneller klaar waren in de traagste gevallen en 1,9 keer sneller gemiddeld, waardoor een chaotische file veranderde in een soepel stromende snelweg.

Het Probleem: De Grote AI-file

Om te begrijpen waarom MLCC zo belangrijk is, moeten we eerst kijken naar hoe AI-training werkt. Wanneer een computer leert, doorloopt hij een cyclus: hij verwerkt getallen (computatie), dan moet hij wat hij heeft geleerd delen met zijn teamgenoten (communicatie), en daarna verwerkt hij weer meer getallen, enzovoort. Dit gebeurt duizenden keren. In een gedeeld datacenter draaien veel van deze trainingstaken tegelijkertijd.

De oude manier van netwerkverkeer afhandelen was ontworpen voor eerlijkheid. Als Taak A en Taak B beide data willen verzenden, splitst het netwerk de bandbreedte 50/50. Maar dit is rampzalig voor AI. Omdat AI-taken een strikt ritme hebben, betekent het splitsen van de bandbreedte dat ze vaak proberen tegelijkertijd data te verzenden. Het is alsof twee mensen tegelijkertijd door een smalle deur willen lopen; ze botsen tegen elkaar op, laten hun boodschappen vallen en moeten weer terug naar achteren. Dit veroorzaakt "congestie" (opstopping), waarbij datapakketjes worden gedropt of vertraagd, en de dure computers ongebruikt blijven terwijl ze wachten tot de data arriveert.

De Oude Oplossingen: Waarom Ze Niet Helemaal Werkten

Voordat MLCC bestond, probeerden onderzoekers twee belangrijke oplossingen:

  1. Compressie: Proberen de data te verkleinen zodat er minder van verzonden hoeft te worden. Dit helpt, maar het lost het timingprobleem niet op.
  2. Gecentraliseerde Schedulers: Stel je een superintelligente manager voor die elke chef in de gaten houdt en precies vertelt wanneer ze moeten bewegen. Dit werkt in theorie goed, maar in de praktijk is het te traag en te ingewikkeld. Als één chef iets langzamer is dan verwacht (een "straggler"), valt het hele plan uit elkaar en moet de manager alles opnieuw berekenen. Het is als het dirigeren van een orkest waarbij de muzikanten constant van tempo veranderen; de dirigent kan het tempo niet bijhouden.

De MLCC-Oplossing: De "Glijdende" Dans

MLCC hanteert een andere aanpak. In plaats van een centrale manager, geeft het de traffic zelf een beetje "gezond verstand". Het wijzigt de standaardregels die computers gebruiken om te beslissen hoe snel ze data verzenden.

Dit is het geheime ingrediënt: MLCC maakt het netwerk op een slimme manier een klein beetje oneerlijk.

Stel je twee auto's voor, Auto A en Auto B, die over een enkelbaansweg rijden.

  • De Oude Manier: Beide auto's rijden even snel. Als ze dicht bij elkaar komen, vertragen ze allebei.
  • De MLCC-Manier: Het systeem houdt de auto's in de gaten. Als Auto A bijna bij de finishlijn van zijn huidige "ronde" is (het verzenden van zijn data), geeft MLCC Auto A een kleine boost om snel af te ronden. Tegelijkertijd zegt het Auto B zachtjes dat het een klein beetje moet afremmen.

Waarom helpt dit? Omdat zodra Auto A zijn dataoverdracht voltooit, keert hij terug naar het "koken" (computeren) en gebruikt hij de weg niet meer. Auto B, die werd afgeremd, heeft nu de hele weg voor zichzelf om zijn ronde te voltooien. Tegen de tijd dat Auto B klaar is, is Auto A weer klaar om zijn volgende ronde te starten. Ze hebben hun ritten van nature "geinterleaved". De een rijdt terwijl de ander kookt.

Dit is geen rigide schema. Het is een dynamische dans. Als een taak vertraging oploopt (een "straggler"), past het systeem de snelheden automatisch weer aan om ze weer in sync te krijgen. Het is als een danspartner die zijn stappen aanpast als je struikelt, zodat je niet uit het ritme raakt.

Hoe het in de Praktie werkt

De onderzoekers hoefden geen nieuwe hardware te bouwen of gigantische centrale computers te installeren. Ze hebben simpelweg de software die de datastroom controleert (congestion control algoritmen) bijgewerkt met slechts een paar extra regels code—minder dan 60 regels voor sommige systemen.

Ze testten dit op een real-world setup met 12 servers, elk met een krachtige NVIDIA A100 GPU. Ze draalden populaire AI-modellen zoals Llama2, GPT-2 en BERT.

  • Het Resultaat: De taken ontdekten snel het ritme. Binnen ongeveer 30 training-iteraties (wat slechts een fractie is van de totale tijd die een taak loopt), vonden de taken een vloeiend, geïnterleaved patroon.
  • De Versnelling: De gemiddelde tijd om een trainingsstap te voltooien daalde aanzienlijk. Voor de langzaamste, slechtste scenario's (het 99e percentiel) werd de trainingstijd met wel 2,7 keer verkort. Gemiddeld was het 1,9 keer sneller.
  • Minder Fouten: Omdat het verkeer soepel liep, waren er veel minder gedropte datapakketjes. In één test daalde het aantal fouten met bijna 29 keer.

Wat over Verschillende Taken?

Je vraagt je misschien af: "Wat als de taken verschillende groottes hebben? Wat als de ene een gigantisch model is en de andere heel klein?" Het artikel laat zien dat MLCC dit ook aan kan. Zelfs als de taken niet perfect overeenkomen (wat in het echte leven zelden het geval is), werkt het "glijdende" effect nog steeds. Het systeem vindt een "gedeeltelijk geïnterleaved" staat waarin ze elkaar nog steeds niet in de weg zitten, zelfs als ze niet perfect gesynchroniseerd zijn.

Ze testten dit ook in enorme simulaties met 288 GPU's. Zelfs toen het netwerk extreem druk was (oversubscribed), hield MLCC het verkeer vloeiend, wat de doorvoer met 1,35 keer verbeterde vergeleken met standaardmethoden.

De Kernboodschap

MLCC is een herinnering aan het feit dat de beste oplossing soms niet is om een grotere, complexere machine te bouwen, maar om de bestaande machines te leren hoe ze moeten samenwerken. Door AI-taken langs elkaar te laten "glijden" in de tijd, in plaats van te laten vechten om ruimte, kunnen we onze AI-training veel sneller en efficiënter maken. Het verandert een chaotische file in een goed gechoreografeerde dans, en bewijst dat een beetje slimme timing een heel eind komt.

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.

Probeer Digest →