Table of Contents
Fetching ...

Flower: A Friendly Federated Learning Research Framework

Daniel J. Beutel, Taner Topal, Akhil Mathur, Xinchi Qiu, Javier Fernandez-Marques, Yan Gao, Lorenzo Sani, Kwing Hei Li, Titouan Parcollet, Pedro Porto Buarque de Gusmão, Nicholas D. Lane

TL;DR

Flower addresses the gap between FL research and real-world deployments by providing a scalable, language- and ML-framework-agnostic framework that supports large cohorts and heterogeneous edge devices. It introduces a dual-engine architecture (Virtual and Edge Client Engines) and secure aggregation, enabling seamless transition from simulation to real devices. The framework demonstrates scalability to 15M clients, real-device evaluations, and overheads consistent with theoretical expectations, highlighting its potential to advance both algorithmic and systems research in FL. By enabling large-scale, heterogeneous, and realistic FL experiments, Flower offers a practical tool for research and development with broad community adoption.

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.

Flower: A Friendly Federated Learning Research Framework

TL;DR

Flower addresses the gap between FL research and real-world deployments by providing a scalable, language- and ML-framework-agnostic framework that supports large cohorts and heterogeneous edge devices. It introduces a dual-engine architecture (Virtual and Edge Client Engines) and secure aggregation, enabling seamless transition from simulation to real devices. The framework demonstrates scalability to 15M clients, real-device evaluations, and overheads consistent with theoretical expectations, highlighting its potential to advance both algorithmic and systems research in FL. By enabling large-scale, heterogeneous, and realistic FL experiments, Flower offers a practical tool for research and development with broad community adoption.

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.

Paper Structure

This paper contains 23 sections, 10 figures, 3 tables.

Figures (10)

  • Figure 1: Survey of the number of FL clients used in FL research papers in the last two years. Scatter plot of number of concurrent clients participated in each communication round (y-axis) and total number of clients in the client pool (x-axis). The x-axis is converted to log scale to reflect the data points more clearly. FedScale can achieve 100 concurrent clients participated in each round out of 10000 total clients (orange point), while Flower framework can achieve 1000 concurrent clients out of a total 1 million clients (green point). The plot shows that Flower can achieve both higher concurrent participated client and larger client pool compared with other experiments existing the the recent research papers. Appendix \ref{['appendix:track']} gives details of the papers considered.
  • Figure 2: Flower core framework architecture with both Edge Client Engine and Virtual Client Engine. Edge clients live on real edge devices and communicate with the server over RPC. Virtual clients on the other hand consume close to zero resources when inactive and only load model and data into memory when the client is being selected for training or evaluation.
  • Figure 3: Flower scales to even 15M user experiments. Each curve shows successful convergence of the DistilBERT model under varying amounts of clients per round, with the exception of the two smallest client sizes: 50 and 10.
  • Figure 4: Training times (log scale in second) comparison of different FEMNIST tasks between different FL frameworks.
  • Figure 5: Flower enables quantifying the system performance of FL on mobile and embedded devices. Here we report the training times and energy consumption associated with running FL on CPUs and GPUs of various embedded devices.
  • ...and 5 more figures