{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/vq-gnn-a-universal-framework-to-scale-up","title":"VQ-GNN: A Universal Framework to Scale up Graph Neural Networks using Vector Quantization","arxiv_id":"2110.14363","date":"2021-10-27","proceeding":"NeurIPS 2021 12","authors":["Mucong Ding","Kezhi Kong","Jingling Li","Chen Zhu","John P Dickerson","Furong Huang","Tom Goldstein"],"abstract":"Most state-of-the-art Graph Neural Networks (GNNs) can be defined as a form of graph convolution which can be realized by message passing between direct neighbors or beyond. To scale such GNNs to large graphs, various neighbor-, layer-, or subgraph-sampling techniques are proposed to alleviate the \"neighbor explosion\" problem by considering only a small subset of messages passed to the nodes in a mini-batch. However, sampling-based methods are difficult to apply to GNNs that utilize many-hops-away or global context each layer, show unstable performance for different tasks and datasets, and do not speed up model inference. We propose a principled and fundamentally different approach, VQ-GNN, a universal framework to scale up any convolution-based GNNs using Vector Quantization (VQ) without compromising the performance. In contrast to sampling-based techniques, our approach can effectively preserve all the messages passed to a mini-batch of nodes by learning and updating a small number of quantized reference vectors of global node representations, using VQ within each GNN layer. Our framework avoids the \"neighbor explosion\" problem of GNNs using quantized representations combined with a low-rank version of the graph convolution matrix. We show that such a compact low-rank version of the gigantic convolution matrix is sufficient both theoretically and experimentally. In company with VQ, we design a novel approximated message passing algorithm and a nontrivial back-propagation rule for our framework. Experiments on various types of GNN backbones demonstrate the scalability and competitive performance of our framework on large-graph node classification and link prediction benchmarks.","url_abs":"https://arxiv.org/abs/2110.14363v1","url_pdf":"https://arxiv.org/pdf/2110.14363v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"vq-gnn-a-universal-framework-to-scale-up","repo_url":"https://github.com/devnkong/VQ-GNN","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":"link-property-prediction","task_name":"Link Property Prediction"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"quantization","task_name":"Quantization"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/link-property-prediction-on-ogbl-collab","task":"Link Property Prediction","dataset":"ogbl-collab","model":"VQ-GNN (SAGE-Mean)","rank_in_archive_order":29,"of":34,"metrics":{"Test Hits@50":"0.4673 ± 0.0164 ."},"uses_additional_data":false},{"leaderboard":"/sota/link-property-prediction-on-ogbl-collab","task":"Link Property Prediction","dataset":"ogbl-collab","model":"VQ-GNN (GCN)","rank_in_archive_order":31,"of":34,"metrics":{"Test Hits@50":"0.4316 ± 0.0134"},"uses_additional_data":false},{"leaderboard":"/sota/link-property-prediction-on-ogbl-collab","task":"Link Property Prediction","dataset":"ogbl-collab","model":"VQ-GNN (GAT)","rank_in_archive_order":32,"of":34,"metrics":{"Test Hits@50":"0.4102 ± 0.0099"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-ppi","task":"Node Classification","dataset":"PPI","model":"VQ-GNN (GAT)","rank_in_archive_order":15,"of":24,"metrics":{"F1":"97.37"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-reddit","task":"Node Classification","dataset":"Reddit","model":"VQ-GNN (SAGE-Mean)","rank_in_archive_order":12,"of":16,"metrics":{"Accuracy":"94.5 ± .0024"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.14363","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}