AGL: a Scalable System for Industrial-purpose Graph Machine Learning
arXiv:2003.02454
Abstract
Machine learning over graphs have been emerging as powerful learning tools for graph data. However, it is challenging for industrial communities to leverage the techniques, such as graph neural networks (GNNs), and solve real-world problems at scale because of inherent data dependency in the graphs. As such, we cannot simply train a GNN with classic learning systems, for instance parameter server that assumes data parallel. Existing systems store the graph data in-memory for fast accesses either in a single machine or graph stores from remote. The major drawbacks are in three-fold. First, they cannot scale because of the limitations on the volume of the memory, or the bandwidth between graph stores and workers. Second, they require extra development of graph stores without well exploiting mature infrastructures such as MapReduce that guarantee good system properties. Third, they focus on training but ignore the optimization of inference over graphs, thus makes them an unintegrated system. In this paper, we design AGL, a scalable, fault-tolerance and integrated system, with fully-functional training and inference for GNNs. Our system design follows the message passing scheme underlying the computations of GNNs. We design to generate the -hop neighborhood, an information-complete subgraph for each node, as well as do the inference simply by merging values from in-edge neighbors and propagating values to out-edge neighbors via MapReduce. In addition, the -hop neighborhood contains information-complete subgraphs for each node, thus we simply do the training on parameter servers due to data independency. Our system AGL, implemented on mature infrastructures, can finish the training of a 2-layer graph attention network on a graph with billions of nodes and hundred billions of edges in 14 hours, and complete the inference in 1.2 hour.
References in corpus (11)
- Adam: A Method for Stochastic Optimization
- Semi-Supervised Classification with Graph Convolutional Networks
- Inductive Representation Learning on Large Graphs
- Spectral Networks and Locally Connected Networks on Graphs
- Fast Graph Representation Learning with PyTorch Geometric
- Deep Graph Library: A Graph-Centric, Highly-Performant Package for Graph Neural Networks
- Predicting multicellular function through multi-layer tissue networks
- Few-Shot Learning with Graph Neural Networks
- PyTorch-BigGraph: A Large-scale Graph Embedding System
- Knowledge Transfer for Out-of-Knowledge-Base Entities: A Graph Neural Network Approach
- Inductive Matrix Completion Based on Graph Neural Networks
Cited by in corpus (9)
- The Evolution of Distributed Systems for Graph Neural Networks and their Origin in Graph Processing and Deep Learning: A Survey
- Graph-less Neural Networks: Teaching Old MLPs New Tricks via Distillation
- Ginex: SSD-enabled Billion-scale Graph Neural Network Training on a Single Machine via Provably Optimal In-memory Caching
- Efficient Scaling of Dynamic Graph Neural Networks
- DistDGL: Distributed Graph Neural Network Training for Billion-Scale Graphs
- Communication-Efficient Sampling for Distributed Training of Graph Convolutional Networks
- GraphTheta: A Distributed Graph Neural Network Learning System With Flexible Training Strategy
- GMLP: Building Scalable and Flexible Graph Neural Networks with Feature-Message Passing
- Distributed Optimization of Graph Convolutional Network using Subgraph Variance