{"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/a-field-guide-to-federated-optimization","title":"A Field Guide to Federated Optimization","arxiv_id":"2107.06917","date":"2021-07-14","proceeding":null,"authors":["Jianyu Wang","Zachary Charles","Zheng Xu","Gauri Joshi","H. Brendan McMahan","Blaise Aguera y Arcas","Maruan Al-Shedivat","Galen Andrew","Salman Avestimehr","Katharine Daly","Deepesh Data","Suhas Diggavi","Hubert Eichner","Advait Gadhikar","Zachary Garrett","Antonious M. Girgis","Filip Hanzely","Andrew Hard","Chaoyang He","Samuel Horvath","Zhouyuan Huo","Alex Ingerman","Martin Jaggi","Tara Javidi","Peter Kairouz","Satyen Kale","Sai Praneeth Karimireddy","Jakub Konecny","Sanmi Koyejo","Tian Li","Luyang Liu","Mehryar Mohri","Hang Qi","Sashank J. Reddi","Peter Richtarik","Karan Singhal","Virginia Smith","Mahdi Soltanolkotabi","Weikang Song","Ananda Theertha Suresh","Sebastian U. Stich","Ameet Talwalkar","Hongyi Wang","Blake Woodworth","Shanshan Wu","Felix X. Yu","Honglin Yuan","Manzil Zaheer","Mi Zhang","Tong Zhang","Chunxiang Zheng","Chen Zhu","Wennan Zhu"],"abstract":"Federated learning and analytics are a distributed approach for collaboratively learning models (or statistics) from decentralized data, motivated by and designed for privacy protection. The distributed learning process can be formulated as solving federated optimization problems, which emphasize communication efficiency, data heterogeneity, compatibility with privacy and system requirements, and other constraints that are not primary considerations in other problem settings. This paper provides recommendations and guidelines on formulating, designing, evaluating and analyzing federated optimization algorithms through concrete examples and practical implementation, with a focus on conducting effective simulations to infer real-world performance. The goal of this work is not to survey the current literature, but to inspire researchers and practitioners to design federated learning algorithms that can be used in various practical applications.","url_abs":"https://arxiv.org/abs/2107.06917v1","url_pdf":"https://arxiv.org/pdf/2107.06917v1.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":"a-field-guide-to-federated-optimization","repo_url":"https://github.com/google-research/federated","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"a-field-guide-to-federated-optimization","repo_url":"https://github.com/AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing","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":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2107.06917","atlas_url":"https://app.syntology.ai/?focus=2107.06917","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.06917"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/federated","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":3,"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":"11f9ca5c1750b097","entry":"accuracy_evaluation","repo":"AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing","repo_kind":"listed","path":"mnist_dist_sgld_svhn_plot_pred_scores.py","file_url":"https://github.com/AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing/blob/HEAD/mnist_dist_sgld_svhn_plot_pred_scores.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"11f9ca5c1750b097"}},{"code_sha256_prefix":"a5fafd0528bc7da8","entry":"get_scores","repo":"AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing","repo_kind":"listed","path":"mnist_dist_sgld_svhn_plot_pred_scores.py","file_url":"https://github.com/AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing/blob/HEAD/mnist_dist_sgld_svhn_plot_pred_scores.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a5fafd0528bc7da8"}},{"code_sha256_prefix":"56987b87a91ec23f","entry":"keras_evaluate","repo":"google-research/federated","repo_kind":"official","path":"dp_ftrl/dp_fedavg.py","file_url":"https://github.com/google-research/federated/blob/HEAD/dp_ftrl/dp_fedavg.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"56987b87a91ec23f"}},{"code_sha256_prefix":"a1d5be45477f71a8","entry":"loss_function_evaluation","repo":"AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing","repo_kind":"listed","path":"mnist_dist_sgld_svhn_plot_pred_scores.py","file_url":"https://github.com/AParayil/AParayil-Distribued-Learning-via-Bayesian-Inferencing/blob/HEAD/mnist_dist_sgld_svhn_plot_pred_scores.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1d5be45477f71a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}