Flower: A Friendly Federated Learning Research Framework

Daniel J. Beutel, Taner Topal, Akhil Mathur, Xinchi Qiu, Javier Fernandez-Marques +6 more
7/28/2020
cs.LGcs.CVstat.ML

Official code: flwrlabs/flower (7,173 stars, Apache-2.0, PyTorch, last commit 2026-04-29).

Abstract

Federated Learning (FL) has emerged as a promising technique for edge devices to collaboratively learn a shared prediction model, while keeping their training data on the device, thereby decoupling the ability to do machine learning from the need to store the data in the cloud. However, FL is difficult to implement realistically, both in terms of scale and systems heterogeneity. Although there are a number of research frameworks available to simulate FL algorithms, they do not support the study of scalable FL workloads on heterogeneous edge devices. In this paper, we present Flower -- a comprehensive FL framework that distinguishes itself from existing platforms by offering new facilities to execute large-scale FL experiments and consider richly heterogeneous FL device scenarios. Our experiments show Flower can perform FL experiments up to 15M in client size using only a pair of high-end GPUs. Researchers can then seamlessly migrate experiments to real devices to examine other parts of the design space. We believe Flower provides the community with a critical new tool for FL study and development.

View on arXivView PDF

Code Implementations(1)

flwrlabs/flowerOfficial100%
PyTorchApache-2.0

Flower: A Friendly Federated AI Framework

7,1731,240C++, CSSFeb 17, 20205 months agoApache-2.0
aiandroidartificial-intelligencecppdeep-learning+15 more

Similar Papers

Cite this paper

@article{beutel2020flower,
  title  = {Flower: A Friendly Federated Learning Research Framework},
  author = {Daniel J. Beutel and Taner Topal and Akhil Mathur and Xinchi Qiu and Javier Fernandez-Marques and Yan Gao and Lorenzo Sani and Kwing Hei Li and Titouan Parcollet and Pedro Porto Buarque de Gusmão and Nicholas D. Lane},
  year   = {2020},
  eprint = {2007.14390},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2007.14390}
}

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/2007.14390.svg)](https://codeofpaper.com/paper/2007.14390)

Discussion