Verbessern Sie die Leistung des maschinellen Lernens, indem Sie die Nullen löschen

Update: 6. August 2023
Verbessern Sie die Leistung des maschinellen Lernens, indem Sie die Nullen löschen

KAUST-Forscher haben einen Weg gefunden, die Trainingsgeschwindigkeit deutlich zu erhöhen. Große Modelle für maschinelles Lernen können erheblich schneller trainiert werden, indem beobachtet wird, wie häufig Nullergebnisse beim verteilten maschinellen Lernen mit großen Trainingsdatensätzen erzeugt werden.

KI-Modelle entwickeln ihre „Intelligenz“, indem sie an Datensätzen trainiert werden, die so gekennzeichnet sind, dass sie dem Modell sagen, wie es zwischen verschiedenen Eingaben unterscheiden und dann entsprechend reagieren kann. Je mehr gekennzeichnete Daten eingegeben werden, desto besser kann das Modell die ihm zugewiesene Aufgabe ausführen. Für komplexe Deep-Learning-Anwendungen, wie zum Beispiel selbstfahrende Fahrzeuge, erfordert dies enorme Eingabedatensätze und sehr lange Trainingszeiten, selbst bei Verwendung von leistungsstarken und teuren hochparallelen Supercomputing-Plattformen.

Während des Trainings werden Dutzenden oder Hunderten von Rechenknoten kleine Lernaufgaben zugewiesen, die dann ihre Ergebnisse über ein Kommunikationsnetzwerk teilen, bevor die nächste Aufgabe ausgeführt wird. Eine der größten Quellen des Rechenaufwands bei solchen parallelen Rechenaufgaben ist tatsächlich diese Kommunikation zwischen Rechenknoten bei jedem Modellschritt.

„Kommunikation ist ein großer Leistungsengpass beim verteilten Deep Learning“, erklärt das KAUST-Team. „Neben der rasanten Zunahme der Modellgröße sehen wir auch eine Zunahme des Anteils von Nullwerten, die während des Lernprozesses erzeugt werden, die wir als Sparsity bezeichnen. Unsere Idee war es, diese Knappheit auszunutzen, um die effektive Bandbreitennutzung zu maximieren, indem nur Datenblöcke ungleich Null gesendet werden.“

Aufbauend auf einer früheren KAUST-Entwicklung namens SwitchML, die die Kommunikation zwischen Knoten durch Ausführen eines effizienten Aggregationscodes auf den Netzwerk-Switches, die die Datenübertragung verarbeiten, optimierte, gingen Fei, Marco Canini und ihre Kollegen einen Schritt weiter, indem sie Null-Ergebnisse identifizierten und eine Möglichkeit entwickelten, die Übertragung ohne Unterbrechen der Synchronisation des parallelen Rechenprozesses.

„Die genaue Ausnutzung der Sparsity zur Beschleunigung des verteilten Trainings ist ein herausforderndes Problem“, sagt das Team. „Alle Nodes müssen Datenblöcke am selben Ort in einem Zeitfenster verarbeiten, also müssen wir die Nodes koordinieren, um sicherzustellen, dass nur Datenblöcke am selben Ort aggregiert werden. Um dies zu überwinden, haben wir einen Aggregator-Prozess entwickelt, um die Mitarbeiter zu koordinieren und ihnen mitzuteilen, welcher Block als nächstes gesendet werden soll.“

Das Team demonstrierte sein OmniReduce-Schema auf einer Testumgebung bestehend aus einer Reihe von Grafikprozessoren (GPU) und erreichte eine achtfache Geschwindigkeitssteigerung für typische tiefe Lernen Aufgaben.

ELE-Zeiten
+ Beiträge
  • BD Soft knüpft an Data Resolve an und stärkt sein Angebot im Bereich Cyber ​​Security & Enterprise Intelligence
  • Kombinierter Ansatz findet die beste direkte Flugbahn für die Roboterpfadgenerierung
  • Ein Material mit zwei Funktionen könnte zu einem schnelleren Gedächtnis führen
  • Neu Technologie Könnte die schnellste Version von 5G zu Ihnen nach Hause und an Ihren Arbeitsplatz bringen