HyperAI
Back to Headlines

UCCL löst Netzwerkengpässe bei AI-Training.

vor 5 Tagen

Die Herausforderung der Netzwerkbelastung bei der Trainingsphase großer KI-Modelle wie GPT-4 wird oft unterschätzt. Tatsächlich ist der Hauptkostentreiber nicht nur die Rechenleistung der GPUs, sondern auch die Kommunikation zwischen ihnen. Bei der parallelen Verarbeitung von Modellen mit Billionen Parametern müssen tausende GPUs kontinuierlich Daten austauschen, was zu einer hohen Netzwerkbelastung führt. In einem typischen Setup mit drei Knoten, jeweils mit acht H100-GPUs, muss jeder Knoten während jedes Trainingschritts etwa 6,7 GB Daten an andere Knoten senden. Insgesamt entstehen dadurch Petabytes an Datenverkehr, was das Netzwerk oft zum Engpass macht. Die gängigen Netzwerkprotokolle wie RoCEv2, DCQCN und PFC, die für Speicher- und Transaktionsanwendungen optimiert sind, funktionieren nicht effizient für die bursty Natur des KI-Trainings. RoCEv2 ermöglicht direkten Datentransfer zwischen GPUs über das Netzwerk, ohne den CPU zu involvieren. DCQCN und PFC sorgen für Netzwerkstabilität, aber sie reagieren nur nachdem die Belastung bereits aufgetreten ist. Bei KI-Trainingsläufen, die gleichzeitig große Datenmengen senden, führt dies zu Verzögerungen, da PFC den Datentransfer anhält, während DCQCN erst später reagiert. Ein weiteres Problem ist die ECMP-Hash-Kollision, bei der Datenströme zufällig auf verschiedene Netzwerkverbindungen verteilt werden, obwohl einige Links leer sind und andere überlastet sind. Dies führt zu ungleichmäßiger Datenübertragung und Netzwerkengpässen. UCCL (Unified Collective Communication Library) bietet eine Lösung, indem es einen intelligenten, softwaredefinierten Transportlayer zwischen NCCL, dem Kommunikationsbibliothek, und dem NIC-Treiber einsetzt. UCCL hat frühes Wissen über die Kommunikationsmuster und kann dadurch den Datenverkehr steuern, bevor er das Netzwerk erreicht. Es ermöglicht dem Empfänger, den Datentransfer zu kontrollieren, basierend auf der Auslastung seiner Empfangsqueues. Dies verhindert, dass gleichzeitig viele GPUs große Datenmengen senden und so das Netzwerk überlasten. Zusätzlich verwendet UCCL Software-Queues anstatt Hardware-Queue Pairs, wodurch es die Datenübertragung verzögern und koordinieren kann. Es nutzt auch eine gemeinsame Queue Pair pro NIC, um die Kommunikation zu optimieren und ECMP-Hash-Kollisionen zu vermeiden. Durch die Kenntnis des Anwendungsverhaltens kann UCCL den Datenfluss intelligenter planen und verhindern, dass es zu Engpässen kommt. Tests haben gezeigt, dass UCCL die AllReduce-Operationen beschleunigt, die Netzwerkqueues stabil hält und die Netzwerkverzögerungen reduziert. Es ist mit bestehender Netzwerkinfrastruktur kompatibel und erfordert keine Änderungen an der Hardware. Dies macht es besonders attraktiv für Produktionssysteme. Industry-Insight: UCCL wird als wegweisend für die Zukunft des parallelen KI-Trainings angesehen. Es löst ein zentrales Problem bei der Skalierung großer Modelle. Unternehmen wie Meta haben bereits auf traditionelle Netzwerk-Kongestion-Controll-Systeme verzichtet und UCCL als vielversprechende Alternative identifiziert. UCCL wird von NVIDIA und anderen Anbietern von GPU-Infrastrukturen weiterentwickelt, um KI-Workloads effizienter zu machen.

Related Links