NVIDIA Federated Learning Application Runtime Environment
NVIDIA FLARE is a domain-agnostic, open-source, extensible SDK that allows researchers and data scientists to adapt existing ML/DL workflows(PyTorch, TensorFlow, Scikit-learn, XGBoost etc.) to a federated paradigm. It enables platform developers to build a secure, privacy-preserving offering for a distributed multi-party collaboration.
NVIDIA FLARE is built on a componentized architecture that allows you to take federated learning workloads from research and simulation to real-world production deployment. Key components include:
- Support both deep learning and traditional machine algorithms
- Support horizontal and vertical federated learning
- Built-in FL algorithms (e.g., FedAvg, FedProx, FedOpt, Scaffold, Ditto )
- Support multiple training workflows (e.g., scatter & gather, cyclic) and validation workflows (global model evaluation, cross-site validation)
- Support both data analytics (federated statistics) and machine learning lifecycle management
- Privacy preservation with differential privacy, homomorphic encryption
- Security enforcement through federated authorization and privacy policy
- Easily customizable and extensible
- Deployment on cloud and on premise
- Simulator for rapid development and prototyping
- Dashboard UI for simplified project management and deployment
- Built-in support for system resiliency and fault tolerance
Installation
To install the current release, you can simply run:
$ python3 -m pip install nvflare
Getting started
You can quickly get started using the FL simulator.
A detailed getting started guide is available in the documentation.
Examples and notebook tutorials are located here.
Related talks and publications
For a list of talks, blogs, and publications related to NVIDIA FLARE, see here.
License
NVIDIA FLARE has Apache 2.0 license, as found in LICENSE file.