APPFL#

APPFL, Advanced Privacy-Preserving Federated Learning, is an open-source software framework that allows research communities to implement, test, and validate various ideas related to privacy-preserving federated learning (FL), and deploy real FL experiments safely and easily among distributed clients to train ML models. With this framework, developers and/or users can easily

  • Train any user-defined machine learning model on decentralized data with optional differential privacy and client authentication,

  • Simulate various synchronous, asynchronous and PPFL algorihtms on high-performance computing (HPC) architecture with MPI,

  • Implement customizations in a plug-and-play manner for all aspects of FL, including aggregation algorithms, server scheduling strategies, and client local trainers.

Technical Components#

APPFL is primarily composed of the following six technical components: Aggregator, Scheduler, Trainer, Privacy, Communicator, and Compressor, all with easy interface for user customizations.

Aggregator

Supports several popular algorithms to aggregate one or several client local models.

Scheduler

Supports several synchronous and asynchronous scheduling algorithms at the server-side to deal with different arrival times of client local models.

Trainer

Supports several client local trainers for various training tasks.

Privacy

Supports several global/local differential privacy schemes.

Communicator

Supports MPI for single-machine/cluster simulation, and gRPC and Globus Compute with authenticator for secure distributed training.

Compressor

Supports several lossy compressors, including SZ2, SZ3, ZFP, and SZx.

APPFL aims to maintain a composable design of the package, where each technical component is extendible and independent from each other. Users can use the configuration files to specify the desired item from each component to launch FL experiments according their needs.

Main Topics#

Citation#

If you find APPFL useful for your research or development, please cite the following paper:

@article{li2024advances,
   title={Advances in APPFL: A Comprehensive and Extensible Federated Learning Framework},
   author={Li, Zilinghan and He, Shilan and Yang, Ze and Ryu, Minseok and Kim, Kibaek and Madduri, Ravi},
   journal={arXiv preprint arXiv:2409.11585},
   year={2024}
}

@inproceedings{ryu2022appfl,
   title={APPFL: open-source software framework for privacy-preserving federated learning},
   author={Ryu, Minseok and Kim, Youngdae and Kim, Kibaek and Madduri, Ravi K},
   booktitle={2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)},
   pages={1074--1083},
   year={2022},
   organization={IEEE}
}

Acknowledgement#

This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.