BNS-GCN: Effizientes Training ganzer Graphen für Graphen-Convolutional Networks mit Partitions-Parallelität und zufälliger Auswahl von Randknoten

Graph Convolutional Networks (GCNs) sind zu einer state-of-the-art-Methode für graphbasierte Lernaufgaben geworden. Dennoch bleibt die Skalierung des Trainings von GCNs weiterhin herausfordernd und behindert sowohl die Erforschung komplexerer GCN-Architekturen als auch deren Anwendung auf reale, große Graphen. Obwohl es naheliegend erscheint, Graphpartitionierung und verteiltes Training zur Bewältigung dieser Herausforderung heranzuziehen, wurde dieser Ansatz in früheren Arbeiten aufgrund der Beschränkungen bestehender Designs nur oberflächlich erforscht. In dieser Arbeit analysieren wir zunächst, warum verteiltes GCN-Training ineffektiv ist, und identifizieren die zugrundeliegende Ursache in der übermäßigen Anzahl an Randknoten (boundary nodes) in jeder partitionierten Teilgraphen, die die Speicher- und Kommunikationskosten für das GCN-Training leicht explodieren lassen. Darüber hinaus schlagen wir eine einfache, aber wirksame Methode namens BNS-GCN vor, die zufällige Randknoten-Sampling (Boundary-Node-Sampling) einsetzt, um ein effizientes und skalierbares verteiltes GCN-Training zu ermöglichen. Experimente und Ablation-Studien bestätigen konsistent die Wirksamkeit von BNS-GCN: So wird die Durchsatzleistung um bis zu 16,2-fach gesteigert und der Speicherverbrauch um bis zu 58 % reduziert, ohne die Genauigkeit für den vollständigen Graphen zu beeinträchtigen. Zudem zeigen sowohl theoretische als auch empirische Analysen, dass BNS-GCN eine bessere Konvergenz gegenüber bestehenden sampling-basierten Methoden aufweist. Wir sind überzeugt, dass BNS-GCN ein neues Paradigma für das skalierbare Training von GCNs eröffnet. Der Quellcode ist unter https://github.com/RICE-EIC/BNS-GCN verfügbar.