FedFetch: Faster Federated Learning with Adaptive Downstream Prefetching

Qifan Yan, Andrew Liu, Shiqi He, Mathias Lécuyer, Ivan Beschastnikh
4/21/2025
cs.LGcs.DC

Official code: DistributedML/FedFetch (2 stars, MIT, last commit 2025-05-13).

Abstract

Federated learning (FL) is a machine learning paradigm that facilitates massively distributed model training with end-user data on edge devices directed by a central server. However, the large number of heterogeneous clients in FL deployments leads to a communication bottleneck between the server and the clients. This bottleneck is made worse by straggling clients, any one of which will further slow down training. To tackle these challenges, researchers have proposed techniques like client sampling and update compression. These techniques work well in isolation but combine poorly in the downstream, server-to-client direction. This is because unselected clients have outdated local model states and need to synchronize these states with the server first. We introduce FedFetch, a strategy to mitigate the download time overhead caused by combining client sampling and compression techniques. FedFetch achieves this with an efficient prefetch schedule for clients to prefetch model states multiple rounds before a stated training round. We empirically show that adding FedFetch to communication efficient FL techniques reduces end-to-end training time by 1.26$\times$ and download time by 4.49$\times$ across compression techniques with heterogeneous client settings. Our implementation is available at https://github.com/DistributedML/FedFetch

View on arXivView PDF

Code Implementations(1)

MIT

A prefetching technique for faster federated learning

20C, C++Feb 7, 20251 years agoMIT

Similar Papers

Cite this paper

@article{yan2025fedfetch,
  title  = {FedFetch: Faster Federated Learning with Adaptive Downstream Prefetching},
  author = {Qifan Yan and Andrew Liu and Shiqi He and Mathias Lécuyer and Ivan Beschastnikh},
  year   = {2025},
  eprint = {2504.15366},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2504.15366v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2504.15366.svg)](https://codeofpaper.com/paper/2504.15366)

Discussion