NVFlare
NVFlare copied to clipboard
NVIDIA Federated Learning Application Runtime Environment
NVIDIA FLARE
Website | Paper | Blogs | Talks & Papers | Research | Documentation
NVIDIA FLARE (NVIDIA Federated Learning Application Runtime Environment) is a domain-agnostic, open-source, extensible Python SDK that allows researchers and data scientists to adapt existing ML/DL workflows to a federated paradigm. It enables platform developers to build a secure, privacy-preserving offering for a distributed multi-party collaboration.
Features
FLARE is built on a componentized architecture that allows you to take federated learning workloads from research and simulation to real-world production deployment.
Application Features
- Support both deep learning and traditional machine learning algorithms (eg. PyTorch, TensorFlow, Scikit-learn, XGBoost etc.)
- Support horizontal and vertical federated learning
- Built-in Federated Learning algorithms (e.g., FedAvg, FedProx, FedOpt, Scaffold, Ditto, etc.)
- Support multiple server and client-controlled 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, private set intersection (PSI)
From Simulation to Real-World
- FLARE Client API to transition seamlessly from ML/DL to FL with minimal code changes
- Simulator and POC mode for rapid development and prototyping
- Fully customizable and extensible components with modular design
- Deployment on cloud and on-premise
- Dashboard for project management and deployment
- Security enforcement through federated authorization and privacy policy
- Built-in support for system resiliency and fault tolerance
Take a look at NVIDIA FLARE Overview for a complete overview, and What's New for the lastest changes.
Installation
To install the current release:
$ python -m pip install nvflare
For detailed installation please refer to NVIDIA FLARE installation.
Getting Started
-
To get started, refer to getting started documentation
-
Structured, self-paced learning is available through curated tutorials and training paths on the website.
- DLI courses:
- https://learn.nvidia.com/courses/course-detail?course_id=course-v1:DLI+S-FX-28+V1
- https://learn.nvidia.com/courses/course-detail?course_id=course-v1:DLI+S-FX-29+V1
- DLI courses:
-
visit developer portal https://developer.nvidia.com/flare
Community
We welcome community contributions! Please refer to the contributing guidelines for more details.
Ask and answer questions, share ideas, and engage with other community members at NVFlare Discussions.
Related Talks and Publications
Take a look at our growing list of talks and publications, and technical blogs related to NVIDIA FLARE.
License
NVIDIA FLARE is released under an Apache 2.0 license.