We hebben net ontdekt hoe we ÉÉN TRILJOEN parameters tussen GPU's kunnen overdragen in 1,3 seconden. Dat is een 20x versnelling ten opzichte van traditionele methoden. Laat me je laten zien hoe we het hebben gedaan:
Perplexity
Perplexity14 uur geleden
Gewichtsoverdracht is een van de grootste knelpunten bij het uitvoeren van gedistribueerde RL op modellen met een hoge capaciteit. Onze eerste Perplexity Research blog legt uit hoe de inferentie-ingenieurs van Perplexity RDMA point-to-point communicatie hebben benut om ultra-snelle parameterupdates voor triljoen-parameter modellen mogelijk te maken. Door gebruik te maken van low-level RDMA-primitieven, statische planning en pipelining, versnellen we updates met een orde van grootte, tot slechts 1,3 seconden per update.
1/ Het Probleem Bij het trainen van enorme AI-modellen met versterkend leren, heb je twee aparte GPU-clusters nodig die samenwerken: trainings-GPU's die het model bijwerken, en inferentie-GPU's die het uitvoeren. Na elke trainingsstap moet je al die bijgewerkte gewichten van training naar inferentie kopiëren. Voor modellen met triljoen parameters duurt dit in de meeste systemen 30 seconden tot enkele MINUTEN. Dat is een enorme bottleneck. Je trainingsstap kan 5 seconden duren, maar dan moet je 30 seconden wachten om gewichten te kopiëren.
1/ Het Probleem Wanneer we enorme AI-modellen trainen met versterkend leren, hebben we twee aparte GPU-clusters nodig die samenwerken: trainings-GPU's die het model bijwerken, en inferentie-GPU's die het uitvoeren. Na elke trainingsstap moeten we al die bijgewerkte gewichten van training naar inferentie kopiëren. Voor ons triljoen-parameter Kimi-K2-model duurt dit voor de meeste bestaande systemen 30 seconden tot enkele MINUTEN. Dat is een enorme bottleneck. Onze trainingsstap kan 5 seconden duren, maar dan moeten we 30 seconden wachten alleen om gewichten te kopiëren. Onacceptabel.
2/ De Oude Manier Traditionele systemen leiden alles via één "rank-0" GPU. Alle trainings-GPU's sturen naar één hoofdpunt GPU, die naar één inferentie GPU stuurt, die het naar de rest distribueert. Het is alsof je alle post door één enkel postkantoor moet laten gaan. Die ene verbinding wordt de bottleneck - beperkt tot ongeveer 50 gigabyte per seconde. We wisten dat er een betere manier moest zijn.
3/ Onze Doorbraak Onze oplossing: RDMA WRITE - Remote Direct Memory Access. Met RDMA kunnen onze trainings-GPU's direct schrijven in het geheugen van de inferentie-GPU. Geen tussenpersoon. Geen toestemming vragen. We teleporteren gewoon gegevens direct in het RAM van een andere computer. De ontvangende GPU wordt zelfs niet op de hoogte gesteld. Het is een "one-sided" operatie. En hier is de sleutel: ELKE trainings-GPU communiceert direct met ELKE inferentie-GPU. Allemaal tegelijk. Parallel. We satureren het hele netwerk in plaats van te bottlenecken op een enkele verbinding. We gebruiken ook pipelining - het opsplitsen van overdrachten in overlappende fasen zodat verschillende hardwarebronnen tegelijkertijd bezig blijven. Bovendien berekenen we het overdrachtschema eenmaal bij opstarten en herhalen we het gewoon. Geen herhaalde planningslast.
4/ Onze Resultaten Voor Kimi-K2 met 1 biljoen parameters: 1,3 seconden om over te dragen van 256 trainings-GPU's naar 128 inferentie-GPU's. Dat is ongeveer 2 terabyte aan gegevens verplaatsen in iets meer dan een seconde. Over een netwerk. Tussen machines. Wanneer we duizenden dollars per uur uitgeven aan GPU-clusters, betekent het elimineren van deze bottleneck enorme kostenbesparingen en snellere iteratiecycli.
4/ Onze Resultaten Voor Kimi-K2 met 1 biljoen parameters: 1,3 seconden om over te dragen van 256 trainings-GPU's naar 128 inferentie-GPU's. Dat is ongeveer 2 terabyte aan gegevens verplaatsen in iets meer dan een seconde. Over een netwerk. Tussen machines. Wanneer we duizenden dollars per uur uitgeven aan GPU-clusters, betekent het elimineren van deze bottleneck enorme kostenbesparingen en snellere iteratiecycli.
5/ Waarom het belangrijk is Het elegante deel? We hebben geen nieuwe hardware uitgevonden. We hebben gewoon bestaande RDMA-technologie gebruikt met slimme systeemengineering. Soms gaat het bij de beste oplossingen niet om het uitvinden van iets nieuws - het gaat erom bestaande tools echt, echt goed te gebruiken. Zo bouwen we bij Perplexity.
Dus dat is het overzicht op hoog niveau van ons gewichtsoverdrachtsysteem. Maar ik weet zeker dat jullie allemaal vragen hebben, toch? Vraag me alles.
87,29K