Alapfogalmak
FlowWalker ist ein GPU-basiertes Framework, das effiziente parallele Sampling-Methoden und ein leistungsfähiges Berechnungsmodul nutzt, um dynamische Graphen-Zufallswanderungen mit minimalem Speicherverbrauch durchzuführen.
Kivonat
FlowWalker ist ein GPU-basiertes Framework für dynamische Graphen-Zufallswanderungen (DGRW), das darauf abzielt, den Speicherverbrauch zu minimieren und die Leistung zu maximieren.
Das System basiert auf einem samplerzentrierten Berechnungsmodell, bei dem die Berechnung aus Hardwaresicht abstrahiert wird. Dabei werden Zufallswanderungsanwendungen als eine Reihe von Sampling-Aufgaben konzeptualisiert, die von einer Gruppe von Samplern effizient verarbeitet werden.
FlowWalker implementiert eine parallele Reservoir-Sampling-Methode, die den Speicherplatzbedarf von O(d) auf O(1) reduziert, wobei d der Grad des zu sampelnden Knotens ist. Zusammen mit einem effizienten Berechnungsmodul, das Aufgaben auf Basis der Workload-Charakteristiken auf die Sampler verteilt, ermöglicht dies eine hohe Parallelität und Lastausgewogenheit.
FlowWalker unterstützt vier repräsentative DGRW-Algorithmen: DeepWalk, PPR, Node2Vec und MetaPath. In umfangreichen Experimenten auf zehn Datensätzen erreicht FlowWalker Beschleunigungen von bis zu 752,2x, 72,1x und 16,4x gegenüber CPU-, GPU- und FPGA-basierten Frameworks. Fallstudien zeigen, dass FlowWalker die Laufzeit von Zufallswanderungen in einer Pipeline für die Empfehlungsmodellierung von ByteDance von 35% auf 3% reduzieren kann.
Statisztikák
Die Zufallswanderungsberechnungen auf einem Empfehlungsgraphen mit 227 Millionen Nutzern und 2,71 Milliarden Kanten dauern bis zu 3,5 Stunden und machen 35% der gesamten Trainingsdauer aus.
FlowWalker erreicht Beschleunigungen von bis zu:
752,2x gegenüber CPU-basierten Frameworks
72,1x gegenüber GPU-basierten Frameworks
16,4x gegenüber FPGA-basierten Frameworks
Idézetek
"FlowWalker steht als einzige GPU-basierte Lösung dar, die alle vier oben genannten Algorithmen unterstützen kann."
"FlowWalker hat einen vernachlässigbaren Speicherverbrauch, indem es auf zusätzliche Datenstrukturen verzichtet."
"FlowWalker reduziert die Laufzeit von Zufallswanderungen in einer Pipeline für die Empfehlungsmodellierung von ByteDance von 35% auf 3%."