pfl-research: simulation framework for accelerating research in Private Federated Learning
Filip Granqvist, Congzheng Song, Áine Cahill, Rogier van Dalen, Martin Pelikan, Yi Sheng Chan, Xiaojun Feng, Natarajan Krishnaswami, Vojta Jina, Mona Chitnis
TL;DR
pfl-research addresses the need for fast, scalable simulation of private federated learning by decoupling computation from real-world topology and enabling distributed experiments with GPU-accelerated DP postprocessing. The framework is modular and Python-based, integrating PyTorch, TensorFlow, Horovod, and pluggable privacy accounting to support a wide range of PFL scenarios. Empirical results show speedups of $7×$ to $72×$ over existing simulators and demonstrate scalable distributed training across diverse benchmarks, including CIFAR10, StackOverflow, FLAIR, and LLM tasks. This work lowers resource barriers for FL/PFL researchers and lays groundwork for community-driven extensions and richer cross-framework benchmarks.
Abstract
Federated learning (FL) is an emerging machine learning (ML) training paradigm where clients own their data and collaborate to train a global model, without revealing any data to the server and other participants. Researchers commonly perform experiments in a simulation environment to quickly iterate on ideas. However, existing open-source tools do not offer the efficiency required to simulate FL on larger and more realistic FL datasets. We introduce pfl-research, a fast, modular, and easy-to-use Python framework for simulating FL. It supports TensorFlow, PyTorch, and non-neural network models, and is tightly integrated with state-of-the-art privacy algorithms. We study the speed of open-source FL frameworks and show that pfl-research is 7-72$\times$ faster than alternative open-source frameworks on common cross-device setups. Such speedup will significantly boost the productivity of the FL research community and enable testing hypotheses on realistic FL datasets that were previously too resource intensive. We release a suite of benchmarks that evaluates an algorithm's overall performance on a diverse set of realistic scenarios. The code is available on GitHub at https://github.com/apple/pfl-research.
