LGNNIC: Acceleration of Large-Scale GNN Training using SmartNICs
Das Papier schlägt LGNNIC vor, eine neuartige verteilte GNN-Trainingsarchitektur, die SmartNICs nutzt, welche gemeinsam mit Remote-Memory-Knoten lokalisiert sind, um das Neighbor-Sampling und Quantisierungsaufgaben auszulagern, wodurch das Datentransfervolumen signifikant reduziert und erhebliche Trainingsbeschleunigungen im Vergleich zu herkömmlichen CPU-GPU-Systemen erzielt werden.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen, einem Roboter beizubringen, die Welt zu verstehen, indem Sie ihm einen riesigen, verhedderten Wollknäuel zeigen. Jeder Knoten im Garn ist eine Person, ein Ort oder eine Sache, und die Fäden, die sie verbinden, sind ihre Beziehungen. So lernen Computer komplexe Netzwerke wie soziale Medien unter Freunden, wissenschaftliche Zitate oder Empfehlungssysteme kennen. Dieses Feld wird Graph Neural Networks (GNNs) genannt. Der Roboter muss sich einen Knoten ansehen, sehen, mit wem dieser verbunden ist, sich dann die Verbindungen dieser Knoten ansehen und so weiter, um das Gesamtbild zu verstehen.
Das Problem ist, dass es unmöglich wird, den gesamten Wollknäuel auf den Schreibtisch des Roboters zu passen, wenn der Knäuel immer größer wird. Wenn der Roboter versucht, den gesamten Wollknäuel in seinen Händen (seinem Speicher) zu halten, um ihn zu studieren, geht ihm der Platz aus. Deshalb schneiden Wissenschaftler das Garn meistens in kleinere, handlichere Stücke namens „Mini-Batches“, um sie nacheinander zu untersuchen. Aber hier liegt der Haken: Wenn das Garn in einem riesigen Lagerhaus weit entfernt gelagert ist und der Roboter in einem kleinen Büro sitzt, muss der Roboter ständig zwischen dem Lagerhaus und dem Büro hin- und herlaufen, um diese Stücke zu holen. Die Zeit, die mit dem Hin- und Herlaufen (dem Versenden von Daten über das Netzwerk) verbracht wird, ist oft länger als die Zeit, die tatsächlich für das Studium der Knoten aufgewendet wird. Dies ist der „Kommunikationsengpass“, der alles verlangsamt.
Hier kommt eine neue Idee namens LGNNIC ins Spiel. Die Forscher stellten eine einfache Frage: Was wäre, wenn wir das Garn nicht nur im Lagerhaus lagern würden, sondern dem Lagerhaus auch eine intelligente Schere und einen winzigen, superschnellen Assistenten direkt neben dem Garn zur Verfügung stellen würden? Anstatt dass der Roboter bis zum Lagerhaus läuft, um ein riesiges Stück Garn zu holen und es dann auf die richtige Größe zuzuschneiden, könnte der Assistent im Lagerhaus das Schneiden und Verkleinern erledigen, bevor der Roboter überhaupt danach fragt.
Die Arbeit mit dem Titel „LGNNIC: Acceleration of Large-Scale GNN Training using SmartNICs“ untersucht genau das. Das Team hat ein System entwickelt, bei dem das „Lagerhaus“ (ein entfernter Speicherknoten) eine spezielle, intelligente Netzwerkkarte besitzt, eine sogenannte SmartNIC (speziell eine NVIDIA BlueField-2). Diese SmartNIC fungiert wie jener intelligente Assistent. Sie sitzt direkt neben den Daten und führt zwei magische Tricks aus, bevor sie irgendetche etwas an den Hauptcomputer (den Trainingsknoten mit der leistungsstarken GPU) sendet:
- Neighbor Sampling (Nachbarschaftsbeprobung): Anstatt dem Roboter ein massives, unordentliches Stück des Graphen zu senden, schneidet die SmartNIC die unnötigen Verbindungen weg und behält nur die relevantesten Nachbarn, die der Roboter studieren soll. Dies verwandelt ein riesiges, schweres Garnbündel in ein winziges, ordentliches Paket.
- Quantisierung (Quantization): Die SmartNIC verkleinert zudem die Menge der Informationen innerhalb des Pakets. Sie wandelt die Daten von einem schweren, hochpräzisen Format (32-Bit-Fließkommazahl) in ein leichteres, etwas weniger präzises Format (16-Bit-Fließkommazahl) um. Man kann sich das wie das Komprimieren eines hochauflösenden Videos in eine kleinere Datei vorstellen, die immer noch großartig aussieht, aber nur halb so viel Platz einnimmt.
Die Forscher testeten diesen Aufbau mit realen Datensätzen wie Reddit (einem riesigen Forum) und akademischen Netzwerken wissenschaftlicher Arbeiten. Sie fanden heraus, dass durch den Einsatz der SmartNIC, die das schwere Vorarbeiten wie Schneiden und Verkleinern übernimmt, die Menge der Informationen, die über das Netzwerk transportiert werden musste, drastisch reduziert werden konnte.
Die Ergebnisse waren beeindruckend. Wenn sie eine Standardmethode verwendeten, die langsamer beim Bewegen von Daten ist (wie das Versenden von E-Mails über eine reguläre Internetverbindung, was sie „Sockets“ nennen), machte das Vor-Schneiden und Verkleinern der SmartNIC den Trainingsprozess für einige Aufgaben bis zu 62,4-mal schneller. Selbst mit einer schnelleren, direkteren Verbindungsmethode (genannt „DOCA-DMA“) erzielten sie immer noch Beschleunigungen von bis zu 17,5-mal. Der „Verkleinerungs“-Trick (Quantisierung) steigerte die Geschwindigkeit zusätzlich und machte die Übertragungen mit der Standardmethode bis zu 3,6-mal schneller und mit der direkten Methode bis zu 1,3-mal schneller.
Entscheidend ist, dass die Arbeit feststellt, dass die SmartNIC zwar langsamer beim eigentlichen Schneiden ist als ein superstarker Hauptcomputer, aber die Zeit, die dadurch gespart wird, dass man kein riesiges, ungeschnittenes Bündel durch das Netzwerk schleppen muss, dies wettmacht. Der „Assistent“ im Lagerhaus arbeitet zwar langsamer, aber er erspart dem „Läufer“ (dem Netzwerk), eine schwere Last zu tragen. Die Forscher prüften auch, ob dieses Verkleinern die Antworten des Roboters falsch macht; die Genauigkeit der Ergebnisse blieb fast exakt gleich, mit nur winzigen, vernachlässigbaren Änderungen.
Kurz gesagt legt die Arbeit nahe, dass wir, indem wir einen Teil der Arbeit an den Rand des Netzwerks verlagern – direkt dorthin, wo die Daten liegen –, verhindern können, dass der Roboter Zeit mit dem Hin- und Herlaufen verschwendet. Es ist eine kluge Art, das Training riesiger, komplexer KI viel schneller zu machen, ohne größere, teurere Computer bauen zu müssen, sondern einfach indem man smarter damit umgeht, wie wir die Daten bewegen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.