{"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/arxiv-2510-07664","title":"FedQS: Optimizing Gradient and Model Aggregation for Semi-Asynchronous Federated Learning","arxiv_id":"2510.07664","date":"2025-10-09","proceeding":"NeurIPS","authors":["Yunbo Li","Jiaping Gui","Zhihang Deng","Fanchao Meng","Yue Wu"],"abstract":"Federated learning (FL) enables collaborative model training across multiple parties without sharing raw data, with semi-asynchronous FL (SAFL) emerging as a balanced approach between synchronous and asynchronous FL. However, SAFL faces significant challenges in optimizing both gradient-based (e.g., FedSGD) and model-based (e.g., FedAvg) aggregation strategies, which exhibit distinct trade-offs in accuracy, convergence speed, and stability. While gradient aggregation achieves faster convergence and higher accuracy, it suffers from pronounced fluctuations, whereas model aggregation offers greater stability but slower convergence and suboptimal accuracy. This paper presents FedQS, the first framework to theoretically analyze and address these disparities in SAFL. FedQS introduces a divide-and-conquer strategy to handle client heterogeneity by classifying clients into four distinct types and adaptively optimizing their local training based on data distribution characteristics and available computational resources. Extensive experiments on computer vision, natural language processing, and real-world tasks demonstrate that FedQS achieves the highest accuracy, attains the lowest loss, and ranks among the fastest in convergence speed, outperforming state-of-the-art baselines. Our work bridges the gap between aggregation strategies in SAFL, offering a unified solution for stable, accurate, and efficient federated learning. The code and datasets are available at https://github.com/bkjod/FedQS_.","url_abs":"https://arxiv.org/abs/2510.07664","url_pdf":"https://arxiv.org/pdf/2510.07664","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2510.07664","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.07664"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/bkjod/FedQS_","reach":null}],"summary":{"ran":5,"ran_draft_wrong":6,"ran_fixture":1,"unverified":1},"by_repo_kind":{"found_in_text":{"samples":13,"ran":12,"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":13,"samples":[{"code_sha256_prefix":"d6d244276227d338","entry":"BasicBlock","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"d6d244276227d338"}},{"code_sha256_prefix":"36f183711192ad56","entry":"CNN","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36f183711192ad56"}},{"code_sha256_prefix":"caf82715df0587d8","entry":"LSTM","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"caf82715df0587d8"}},{"code_sha256_prefix":"36d9b1dc16c65b5a","entry":"MyLSTM","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"36d9b1dc16c65b5a"}},{"code_sha256_prefix":"4d6b55387f4c0fd4","entry":"Net","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"4d6b55387f4c0fd4"}},{"code_sha256_prefix":"aa81bb6110944952","entry":"ResNet","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"aa81bb6110944952"}},{"code_sha256_prefix":"f2e022668e45a2f2","entry":"ResNet18","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f2e022668e45a2f2"}},{"code_sha256_prefix":"191ba6f0c76d061c","entry":"VGG16","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"191ba6f0c76d061c"}},{"code_sha256_prefix":"091f58eadc793d0c","entry":"Vgg16","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"091f58eadc793d0c"}},{"code_sha256_prefix":"d0cd7cee4fd009dc","entry":"conv_layer","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d0cd7cee4fd009dc"}},{"code_sha256_prefix":"6d3f52f6002ca763","entry":"vgg_conv_block","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6d3f52f6002ca763"}},{"code_sha256_prefix":"49a4a29d4e3d492e","entry":"vgg_fc_layer","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49a4a29d4e3d492e"}},{"code_sha256_prefix":"0ac622001f1e7b61","entry":"aggregate_model","repo":"bkjod/FedQS_","repo_kind":"found_in_text","path":"utils/afl_avg_our.py","file_url":"https://github.com/bkjod/FedQS_/blob/HEAD/utils/afl_avg_our.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":"0ac622001f1e7b61"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}