Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks

Graph convolutional network (GCN) has been successfully applied to many graph-based applications; however, training a large-scale GCN remains challenging. Current SGD-based algorithms suffer from either a high computational cost that exponentially grows with number of GCN layers, or a large space requirement for keeping the entire graph and the embedding of each node in memory. In this paper, we propose Cluster-GCN, a novel GCN algorithm that is suitable for SGD-based training by exploiting the graph clustering structure. Cluster-GCN works as the following: at each step, it samples a block of nodes that associate with a dense subgraph identified by a graph clustering algorithm, and restricts the neighborhood search within this subgraph. This simple but effective strategy leads to significantly improved memory and computational efficiency while being able to achieve comparable test accuracy with previous algorithms. To test the scalability of our algorithm, we create a new Amazon2M data with 2 million nodes and 61 million edges which is more than 5 times larger than the previous largest publicly available dataset (Reddit). For training a 3-layer GCN on this data, Cluster-GCN is faster than the previous state-of-the-art VR-GCN (1523 seconds vs 1961 seconds) and using much less memory (2.2GB vs 11.2GB). Furthermore, for training 4 layer GCN on this data, our algorithm can finish in around 36 minutes while all the existing GCN training algorithms fail to train due to the out-of-memory issue. Furthermore, Cluster-GCN allows us to train much deeper GCN without much time and memory overhead, which leads to improved prediction accuracy---using a 5-layer Cluster-GCN, we achieve state-of-the-art test F1 score 99.36 on the PPI dataset, while the previous best result was 98.71 by [16]. Our codes are publicly available at https://github.com/google-research/google-research/tree/master/cluster_gcn.

PDF Abstract

Results from the Paper


Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Node Classification Amazon2M Cluster-GCN F1 90.41 # 1
Link Property Prediction ogbl-citation2 ClusterGCN (GCN aggr) Test MRR 0.8004 ± 0.0025 # 15
Validation MRR 0.7994 ± 0.0025 # 15
Number of params 296449 # 12
Ext. data No # 1
Node Property Prediction ogbn-mag ClusterGCN (R-GCN aggr) Test Accuracy 0.3732 ± 0.0037 # 33
Validation Accuracy 0.3840 ± 0.0031 # 33
Number of params 154366772 # 4
Ext. data No # 1
Node Property Prediction ogbn-products ClusterGCN (SAGE aggr) Test Accuracy 0.7897 ± 0.0033 # 50
Validation Accuracy 0.9212 ± 0.0009 # 39
Number of params 206895 # 45
Ext. data No # 1
Node Property Prediction ogbn-products Cluster-GAT Test Accuracy 0.7923 ± 0.0078 # 48
Validation Accuracy 0.8985 ± 0.0022 # 55
Number of params 1540848 # 25
Ext. data No # 1
Node Property Prediction ogbn-products ClusterGCN+residual+3 layers Test Accuracy 0.7971 ± 0.0042 # 45
Validation Accuracy 0.9188 ± 0.0008 # 44
Number of params 456034 # 37
Ext. data No # 1
Node Classification PPI ClusterGCN F1 92.9 # 18
Node Classification PPI Cluster-GCN F1 99.36 # 9
Node Classification Pubmed ClusterGCN F1 79.9 # 2

Methods