Federated learning (FL) enables building robust and generalizable AI models
by leveraging diverse datasets from multiple collaborators without centralizing
the data. We created NVIDIA FLARE as an open-source software development kit
(SDK) to make it easier for data scientists to use FL in their research and
real-world applications. The SDK includes solutions for state-of-the-art FL
algorithms and federated machine learning approaches, which facilitate building
workflows for distributed learning across enterprises and enable platform
developers to create a secure, privacy-preserving offering for multiparty
collaboration utilizing homomorphic encryption or differential privacy. The SDK
is a lightweight, flexible, and scalable Python package. It allows researchers
to apply their data science workflows in any training libraries (PyTorch,
TensorFlow, XGBoost, or even NumPy) in real-world FL settings. This paper
introduces the key design principles of NVFlare and illustrates some use cases
(e.g., COVID analysis) with customizable FL workflows that implement different
privacy-preserving algorithms.
Code is available at https://github.com/NVIDIA/NVFlare.Comment: Accepted at the International Workshop on Federated Learning, NeurIPS
2022, New Orleans, USA (https://federated-learning.org/fl-neurips-2022);
Revised version v2: added Key Components list, system metrics for homomorphic
encryption experiment; Extended v3 for journal submissio