Papers › Federated Optimization in Heterogeneous Networks

Federated Optimization in Heterogeneous Networks

14 Dec 2018arXiv:1812.06127archive 2025-07-28

Tian Li, Anit Kumar Sahu, Manzil Zaheer, Maziar Sanjabi, Ameet Talwalkar, Virginia Smith

Federated Learning is a distributed learning paradigm with two key challenges that differentiate it from traditional distributed optimization: (1) significant variability in terms of the systems characteristics on each device in the network (systems heterogeneity), and (2) non-identically distributed data across the network (statistical heterogeneity). In this work, we introduce a framework, FedProx, to tackle heterogeneity in federated networks. FedProx can be viewed as a generalization and re-parametrization of FedAvg, the current state-of-the-art method for federated learning. While this re-parameterization makes only minor modifications to the method itself, these modifications have important ramifications both in theory and in practice. Theoretically, we provide convergence guarantees for our framework when learning over data from non-identical distributions (statistical heterogeneity), and while adhering to device-level systems constraints by allowing each participating device to perform a variable amount of work (systems heterogeneity). Practically, we demonstrate that FedProx allows for more robust convergence than FedAvg across a suite of realistic federated datasets. In particular, in highly heterogeneous settings, FedProx demonstrates significantly more stable and accurate convergence behavior relative to FedAvg---improving absolute test accuracy by 22% on average.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1812.06127")

Code

Syntology Ran 9 of 26 code samples harvested from 10 repositories linked to this paper; 17 have no recorded run. Of those that ran: 2 ran · honoured contract; 7 ran with no contract checked.

By repository: official repository: 10 samples from 1 repository, 2 ran; community (archive-listed): 16 samples from 9 repositories, 7 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

22 repositories listed; official and paper-mentioned ones first.

litian96/FedProx officialmentioned in papermentioned on GitHubtfMIT report
Koukyosyumei/AIJack mentioned on GitHubpytorch report
MLOPTPSU/FedTorch mentioned on GitHubpytorch report
MLOPTPSU/TorchFed mentioned on GitHubpytorchGPL-2.0 report
MediaBrain-SJTU/FedLESAM mentioned on GitHubpytorch report
bdemo/pfedbred_public mentioned on GitHubpytorch report
carbonati/fl-zoo mentioned on GitHubpytorch report
gaoliang13/feddc mentioned on GitHubpytorchMIT report
intel/openfl mentioned on GitHubtf report
jaemin-shin/fedbalancer mentioned on GitHubpytorch report
mohamad-m2/federated-learning mentioned on GitHubpytorch report
morningD/GrouProx mentioned on GitHubtf report
nliulab/fl-benchmark mentioned on GitHubtf report
omarfoq/fedem mentioned on GitHubpytorchApache-2.0 report
omarfoq/knn-per mentioned on GitHubpytorch report
securefederatedai/openfl mentioned on GitHubjaxApache-2.0 report
vaseline555/Federated-Learning-in-PyTorch mentioned on GitHubpytorchMIT report
woodenchild95/fl-simulator mentioned on GitHubpytorch report
yjlee22/FedShare mentioned on GitHubpytorch report
zhuangdizhu/FedGen mentioned on GitHubpytorch report
zshuai8/FedGMM_ICML2023 mentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

26 samples harvested; 9 ran; 2 honoured the contract we drafted; 17 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

2ran · honoured contract
7ran
17unverified

Licence: 9 of the 26 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 10 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

letter_to_vec litian96/FedProx/utils/language_utils.py official repository ran · honoured contract fingerprinted MIT (permissive) · 9bc011aaf4c2fb8e · report
word_to_indices litian96/FedProx/utils/language_utils.py official repository ran · honoured contract fingerprinted MIT (permissive) · e4cdde6a274b8fac · report
batch_data litian96/FedProx/utils/model_utils.py official repository unverified MIT (permissive) · 04eb2c09a69cabcd · report
graph_size litian96/FedProx/utils/tf_utils.py official repository unverified MIT (permissive) · 1040c34113873b16 · report
load_data litian96/FedProx/utils/stats.py official repository unverified MIT (permissive) · aba66b6a320cf6f7 · report
parse_log litian96/FedProx/plot_fig2.py official repository unverified MIT (permissive) · 3d95adf387c731eb · report
parse_log litian96/FedProx/plot_final_e20.py official repository unverified MIT (permissive) · 5391ae7139f5e1e0 · report
read_data litian96/FedProx/flearn/utils/model_utils.py official repository unverified MIT (permissive) · a89afa036306a733 · report
read_data litian96/FedProx/utils/model_utils.py official repository unverified MIT (permissive) · dace4e03c5c252fe · report
split_line litian96/FedProx/utils/language_utils.py official repository unverified MIT (permissive) · e2b598f14cd058f3 · report
FedAVGAPI Koukyosyumei/AIJack/src/aijack/collaborative/fedprox/api.py community (archive-listed) ran Apache-2.0 (permissive) · 40b2aface22c3f65 · report
FedProxOptimizer intel/openfl/openfl/utilities/optimizers/torch/fedprox.py community (archive-listed) ran Apache-2.0 (permissive) · 06dfd1885c7c4e75 · report
FedProxOptimizer zhuangdizhu/FedGen/FLAlgorithms/servers/serverFedProx.py community (archive-listed) ran no licence file found · pointer only · 7f652ac95bb4006c · report
PerturbedGradientDescent morningD/GrouProx/flearn/optimizer/pgd.py community (archive-listed) ran no licence file found · pointer only · bbe68818d3f2e89a · report
ProxSGD omarfoq/knn-per/utils/optim.py community (archive-listed) ran Apache-2.0 (permissive) · 81f4645fc4657364 · report
Server zhuangdizhu/FedGen/FLAlgorithms/servers/serverFedProx.py community (archive-listed) ran no licence file found · pointer only · 451d36a73c8babcf · report
UserFedProx zhuangdizhu/FedGen/FLAlgorithms/servers/serverFedProx.py community (archive-listed) ran no licence file found · pointer only · 3e6d6a9103a13d63 · report
Aggregator omarfoq/fedem/aggregator.py community (archive-listed) unverified Apache-2.0 (permissive) · 60422dff1153974f · report
BaseFedAPI Koukyosyumei/AIJack/src/aijack/collaborative/fedprox/api.py community (archive-listed) unverified Apache-2.0 (permissive) · 526a4afa8230f908 · report
CentralizedAggregator omarfoq/fedem/aggregator.py community (archive-listed) unverified Apache-2.0 (permissive) · fa609f7144eb64b8 · report
Client MediaBrain-SJTU/FedLESAM/client/fedprox.py community (archive-listed) unverified no licence file found · pointer only · 13d5f640c099c234 · report
FedLOptimizer maxencenoble/Differential-Privacy-for-Heterogeneous-Federated-Learning/flearn/optimizers/fedoptimizer.py community (archive-listed) unverified GPL-3.0 (copyleft) · pointer only · 0554ed92f151547b · report
FedProx zhuangdizhu/FedGen/FLAlgorithms/servers/serverFedProx.py community (archive-listed) unverified no licence file found · pointer only · 293cf8f7e5665e3a · report
FedProxAPI Koukyosyumei/AIJack/src/aijack/collaborative/fedprox/api.py community (archive-listed) unverified Apache-2.0 (permissive) · cf20999d4c175f74 · report
fedprox woodenchild95/fl-simulator/client/fedprox.py community (archive-listed) unverified no licence file found · pointer only · dbc073f0b7427f38 · report
fedprox MediaBrain-SJTU/FedLESAM/client/fedprox.py community (archive-listed) unverified no licence file found · pointer only · 49711512972b76af · report

Tasks

Distributed OptimizationFederated Learning

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Introduced by this paper: Proximity Regularization

Proximity Regularization

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections