AccuGraph: Memory-Efficient Full-Graph GNN Training on a Single GPU via Subgraph Accumulation
摘要
Graph Neural Networks (GNNs) have become essential for graph-based applications. Full-graph GNN training is a commonly used approach because it enables more comprehensive aggregation of neighbor information. However, full-graph training requires loading the entire graphs into GPU memory, often exceeding GPU memory limits when training on large graphs. To address this, we propose accumulated subgraph training method, which decomposes a computationally expensive full-graph update into multiple smaller, accumulated subgraph updates, while preserving exact mathematical equivalence. However, a naive implementation of this approach incurs serious redundant CPU-GPU data transfers and GPU computations. To address this challenge, we propose AccuGraph, an improved accumulated subgraph training method that incorporates two complementary optimizations: (1) topological similarity based nodes pre-sorting strategy to allocate structurally similar nodes in to the same sub-batch, which increases intra-batch neighbor overlap and lessens duplicated neighbors across batches; and (2) hybrid redundancy caching and reuse technique, which prunes residual redundancy and reuses the cached embeddings of high-frequency nodes and cross-batch nodes, thus reducing repeated data transfers and computations. Experimental results demonstrate that optimized AccuGraph substantially reduces memory consumption while preserving training accuracy, achieving up to a \(11.5\times \) speedup in training time. Notably, it completes training on the 111M-node ogbn-papers100M dataset within 5 s using less than 15 GB of GPU memory, enabling large-scale GNN training on consumer-grade hardware.