{"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/unifews-unified-entry-wise-sparsification-for","title":"Unifews: Unified Entry-Wise Sparsification for Efficient Graph Neural Network","arxiv_id":"2403.13268","date":"2024-03-20","proceeding":null,"authors":["Ningyi Liao","Zihao Yu","Siqiang Luo"],"abstract":"Graph Neural Networks (GNNs) have shown promising performance in various graph learning tasks, but at the cost of resource-intensive computations. The primary overhead of GNN update stems from graph propagation and weight transformation, both involving operations on graph-scale matrices. Previous studies attempt to reduce the computational budget by leveraging graph-level or network-level sparsification techniques, resulting in downsized graph or weights. In this work, we propose Unifews, which unifies the two operations in an entry-wise manner considering individual matrix elements, and conducts joint edge-weight sparsification to enhance learning efficiency. The entry-wise design of Unifews enables adaptive compression across GNN layers with progressively increased sparsity, and is applicable to a variety of architectural designs with on-the-fly operation simplification. Theoretically, we establish a novel framework to characterize sparsified GNN learning in view of a graph optimization process, and prove that Unifews effectively approximates the learning objective with bounded error and reduced computational load. We conduct extensive experiments to evaluate the performance of our method in diverse settings. Unifews is advantageous in jointly removing more than 90% of edges and weight entries with comparable or better accuracy than baseline models. The sparsification offers remarkable efficiency improvements including 10-20x matrix operation reduction and up to 100x acceleration in graph propagation time for the largest graph at the billion-edge scale.","url_abs":"https://arxiv.org/abs/2403.13268v1","url_pdf":"https://arxiv.org/pdf/2403.13268v1.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":[],"tasks":[{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2403.13268","atlas_url":"https://app.syntology.ai/?focus=2403.13268","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.13268"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/gdmnl/Unifews","reach":{"status":"ok"}}],"summary":{"ran":14,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":16,"ran":14,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":16,"samples":[{"code_sha256_prefix":"f1d5293b195912ac","entry":"calc_class_features","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/gen_cat.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/gen_cat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1d5293b195912ac"}},{"code_sha256_prefix":"2b88453b7019dc12","entry":"config_diagonal","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/gen_cat.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/gen_cat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b88453b7019dc12"}},{"code_sha256_prefix":"072145701eef8746","entry":"diag_sp","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/data_processor.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/data_processor.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"072145701eef8746"}},{"code_sha256_prefix":"a32ceb7448b55028","entry":"feature_extraction","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/gen_cat.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/gen_cat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a32ceb7448b55028"}},{"code_sha256_prefix":"6f70ee563b15b292","entry":"get_cuda_mem","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/metric.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6f70ee563b15b292"}},{"code_sha256_prefix":"6763fdd36ea8e82c","entry":"get_mem_params","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/metric.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6763fdd36ea8e82c"}},{"code_sha256_prefix":"537e2f1c3fdb882e","entry":"get_num_params","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/metric.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"537e2f1c3fdb882e"}},{"code_sha256_prefix":"60c88629771428c1","entry":"matstd","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/data_processor.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/data_processor.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"60c88629771428c1"}},{"code_sha256_prefix":"06e837083f4024c3","entry":"pow_with_pinv","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"archs/transform.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/archs/transform.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"06e837083f4024c3"}},{"code_sha256_prefix":"41140c3a98833e2e","entry":"prune_threshold","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"archs/prunes.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/archs/prunes.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41140c3a98833e2e"}},{"code_sha256_prefix":"9de120c7a33099cd","entry":"prune_topk","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"archs/prunes.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/archs/prunes.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9de120c7a33099cd"}},{"code_sha256_prefix":"a7181dcbb9fe3e56","entry":"state2module","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"archs/models.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/archs/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7181dcbb9fe3e56"}},{"code_sha256_prefix":"d3c1c834450b93e0","entry":"to_list","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/loader.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/loader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d3c1c834450b93e0"}},{"code_sha256_prefix":"f35bc75e79233c92","entry":"to_torch_sparse","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/data_processor.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/data_processor.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f35bc75e79233c92"}},{"code_sha256_prefix":"72f25a5c7f876861","entry":"identity_n_norm","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"archs/layers.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/archs/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"72f25a5c7f876861"}},{"code_sha256_prefix":"e3044591e00c5f01","entry":"sbm_mixture_of_Gaussians","repo":"gdmnl/Unifews","repo_kind":"found_in_text","path":"utils/loader.py","file_url":"https://github.com/gdmnl/Unifews/blob/HEAD/utils/loader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3044591e00c5f01"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}