SpanGNN: Towards Memory-Efficient Graph Neural Networks via Spanning Subgraph Training

Xizhi Gu, Hongzheng Li, Shihong Gao, Xinyan Zhang, Lei Chen +1 more
6/7/2024
cs.LGcs.AI

No official code found. Best implementation: guxizhi/SpanGNN (3 stars, last commit 2024-06-10).

Abstract

Graph Neural Networks (GNNs) have superior capability in learning graph data. Full-graph GNN training generally has high accuracy, however, it suffers from large peak memory usage and encounters the Out-of-Memory problem when handling large graphs. To address this memory problem, a popular solution is mini-batch GNN training. However, mini-batch GNN training increases the training variance and sacrifices the model accuracy. In this paper, we propose a new memory-efficient GNN training method using spanning subgraph, called SpanGNN. SpanGNN trains GNN models over a sequence of spanning subgraphs, which are constructed from empty structure. To overcome the excessive peak memory consumption problem, SpanGNN selects a set of edges from the original graph to incrementally update the spanning subgraph between every epoch. To ensure the model accuracy, we introduce two types of edge sampling strategies (i.e., variance-reduced and noise-reduced), and help SpanGNN select high-quality edges for the GNN learning. We conduct experiments with SpanGNN on widely used datasets, demonstrating SpanGNN's advantages in the model performance and low peak memory usage.

View on arXivView PDF

Code Implementations(1)

guxizhi/SpanGNNCommunity100%

SpanGNN: Towards Memory-Efficient Graph Neural Networks via Spanning Subgraph Training

30Shell, PythonJul 27, 20232 years ago

Similar Papers

Cite this paper

@article{gu2024spangnn,
  title  = {SpanGNN: Towards Memory-Efficient Graph Neural Networks via Spanning Subgraph Training},
  author = {Xizhi Gu and Hongzheng Li and Shihong Gao and Xinyan Zhang and Lei Chen and Yingxia Shao},
  year   = {2024},
  eprint = {2406.04938},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2406.04938v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2406.04938.svg)](https://codeofpaper.com/paper/2406.04938)

Discussion