{"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/model-pruning-enables-efficient-federated","title":"Model Pruning Enables Efficient Federated Learning on Edge Devices","arxiv_id":"1909.12326","date":"2019-09-26","proceeding":null,"authors":["Yuang Jiang","Shiqiang Wang","Victor Valls","Bong Jun Ko","Wei-Han Lee","Kin K. Leung","Leandros Tassiulas"],"abstract":"Federated learning (FL) allows model training from local data collected by edge/mobile devices while preserving data privacy, which has wide applicability to image and vision applications. A challenge is that client devices in FL usually have much more limited computation and communication resources compared to servers in a datacenter. To overcome this challenge, we propose PruneFL -- a novel FL approach with adaptive and distributed parameter pruning, which adapts the model size during FL to reduce both communication and computation overhead and minimize the overall training time, while maintaining a similar accuracy as the original model. PruneFL includes initial pruning at a selected client and further pruning as part of the FL process. The model size is adapted during this process, which includes maximizing the approximate empirical risk reduction divided by the time of one FL round. Our experiments with various datasets on edge devices (e.g., Raspberry Pi) show that: (i) we significantly reduce the training time compared to conventional FL and various other pruning-based methods; (ii) the pruned model with automatically determined size converges to an accuracy that is very similar to the original model, and it is also a lottery ticket of the original model.","url_abs":"https://arxiv.org/abs/1909.12326v5","url_pdf":"https://arxiv.org/pdf/1909.12326v5.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":"model-pruning-enables-efficient-federated","repo_url":"https://github.com/jiangyuang/PruneFL","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"model-pruning-enables-efficient-federated","repo_url":"https://github.com/jiangyuang/ModelPruningLibrary","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[{"method_slug":"pruning","method_name":"Pruning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1909.12326","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1909.12326"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jiangyuang/PruneFL","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jiangyuang/ModelPruningLibrary","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":3,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"de799a1f88275b58","entry":"is_prunable","repo":"jiangyuang/ModelPruningLibrary","repo_kind":"listed","path":"mpl/models/utils.py","file_url":"https://github.com/jiangyuang/ModelPruningLibrary/blob/HEAD/mpl/models/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"de799a1f88275b58"}},{"code_sha256_prefix":"ca667087e2c966af","entry":"is_prunable_conv","repo":"jiangyuang/ModelPruningLibrary","repo_kind":"listed","path":"mpl/models/utils.py","file_url":"https://github.com/jiangyuang/ModelPruningLibrary/blob/HEAD/mpl/models/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ca667087e2c966af"}},{"code_sha256_prefix":"6557599e0598a958","entry":"is_prunable_fc","repo":"jiangyuang/ModelPruningLibrary","repo_kind":"listed","path":"mpl/models/utils.py","file_url":"https://github.com/jiangyuang/ModelPruningLibrary/blob/HEAD/mpl/models/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6557599e0598a958"}},{"code_sha256_prefix":"892cf3414a337ea2","entry":"process_layer","repo":"jiangyuang/PruneFL","repo_kind":"official","path":"control/algorithm.py","file_url":"https://github.com/jiangyuang/PruneFL/blob/HEAD/control/algorithm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"892cf3414a337ea2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}