{"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/one-shot-federated-learning-via-synthetic","title":"One-shot Federated Learning via Synthetic Distiller-Distillate Communication","arxiv_id":"2412.05186","date":"2024-12-06","proceeding":null,"authors":["Junyuan Zhang","Songhua Liu","Xinchao Wang"],"abstract":"One-shot Federated learning (FL) is a powerful technology facilitating collaborative training of machine learning models in a single round of communication. While its superiority lies in communication efficiency and privacy preservation compared to iterative FL, one-shot FL often compromises model performance. Prior research has primarily focused on employing data-free knowledge distillation to optimize data generators and ensemble models for better aggregating local knowledge into the server model. However, these methods typically struggle with data heterogeneity, where inconsistent local data distributions can cause teachers to provide misleading knowledge. Additionally, they may encounter scalability issues with complex datasets due to inherent two-step information loss: first, during local training (from data to model), and second, when transferring knowledge to the server model (from model to inversed data). In this paper, we propose FedSD2C, a novel and practical one-shot FL framework designed to address these challenges. FedSD2C introduces a distiller to synthesize informative distillates directly from local data to reduce information loss and proposes sharing synthetic distillates instead of inconsistent local models to tackle data heterogeneity. Our empirical results demonstrate that FedSD2C consistently outperforms other one-shot FL methods with more complex and real datasets, achieving up to 2.6 the performance of the best baseline. Code: https://github.com/Carkham/FedSD2C","url_abs":"https://arxiv.org/abs/2412.05186v1","url_pdf":"https://arxiv.org/pdf/2412.05186v1.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":"one-shot-federated-learning-via-synthetic","repo_url":"https://github.com/carkham/fedsd2c","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"data-free-knowledge-distillation","task_name":"Data-free Knowledge Distillation"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"}],"methods":[{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2412.05186","atlas_url":"https://app.syntology.ai/?focus=2412.05186","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.05186"}},"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/Carkham/FedSD2C","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/carkham/fedsd2c","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":1,"ran_violates":1,"ran_draft_wrong":1,"unverified":8},"by_repo_kind":{"official":{"samples":11,"ran":3,"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":"07e49de23e69430c","entry":"test_model","repo":"carkham/fedsd2c","repo_kind":"official","path":"fedsd2c_main.py","file_url":"https://github.com/carkham/fedsd2c/blob/HEAD/fedsd2c_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"07e49de23e69430c"}},{"code_sha256_prefix":"a4e70b20401bd9fc","entry":"as_python_object","repo":"carkham/fedsd2c","repo_kind":"official","path":"oneshot_main.py","file_url":"https://github.com/carkham/fedsd2c/blob/HEAD/oneshot_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a4e70b20401bd9fc"}},{"code_sha256_prefix":"8afce78fa7c317d2","entry":"get_specified_labels","repo":"carkham/fedsd2c","repo_kind":"official","path":"fedsd2c_main.py","file_url":"https://github.com/carkham/fedsd2c/blob/HEAD/fedsd2c_main.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8afce78fa7c317d2"}},{"code_sha256_prefix":"7c734ce1770698ff","entry":"find_classes","repo":"Carkham/FedSD2C","repo_kind":"official","path":"preprocessing/Imagenette.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/preprocessing/Imagenette.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7c734ce1770698ff"}},{"code_sha256_prefix":"6192134916ac15bd","entry":"generate_resnet","repo":"Carkham/FedSD2C","repo_kind":"official","path":"utils/models.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/utils/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6192134916ac15bd"}},{"code_sha256_prefix":"b1af2fdbd7849952","entry":"generate_vgg","repo":"Carkham/FedSD2C","repo_kind":"official","path":"utils/models.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/utils/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b1af2fdbd7849952"}},{"code_sha256_prefix":"38857cba5f3e4e0f","entry":"has_file_allowed_extension","repo":"Carkham/FedSD2C","repo_kind":"official","path":"preprocessing/Imagenette.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/preprocessing/Imagenette.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"38857cba5f3e4e0f"}},{"code_sha256_prefix":"17595095b3e7dbf7","entry":"is_image_file","repo":"Carkham/FedSD2C","repo_kind":"official","path":"preprocessing/Imagenette.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/preprocessing/Imagenette.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"17595095b3e7dbf7"}},{"code_sha256_prefix":"680f3862844d8a00","entry":"pad","repo":"Carkham/FedSD2C","repo_kind":"official","path":"fedsd2c/util.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/fedsd2c/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"680f3862844d8a00"}},{"code_sha256_prefix":"aff27d97a57bfef7","entry":"patchnify","repo":"Carkham/FedSD2C","repo_kind":"official","path":"fedsd2c/util.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/fedsd2c/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aff27d97a57bfef7"}},{"code_sha256_prefix":"07f682641fa87427","entry":"unpatchnify","repo":"Carkham/FedSD2C","repo_kind":"official","path":"fedsd2c/util.py","file_url":"https://github.com/Carkham/FedSD2C/blob/HEAD/fedsd2c/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"07f682641fa87427"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}