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.
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.
To install the current release:
$ python3 -m pip install nvflare
-
To get started, visit our NVFLARE website, which includes:
- Comprehensive documentation, technical blogs, tutorials, and videos
- Slides and recordings of real-world federated learning use cases from past NVFLARE Day Events.
- Tools, API guides, CLI tutorials, training materials, and extensive examples
-
For hands-on learning, try our step-by-step walkthroughs using consistent datasets.
-
Learn how to adapt your centralized training code with our guide on converting to federated learning.
-
Structured, self-paced learning is available through curated tutorials and training paths on the website.
-
If you'd like to write your own NVIDIA FLARE components, a detailed programming guide can be found here.
-
visit developer portal https://developer.nvidia.com/flare
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.
Take a look at our growing list of talks and publications, and technical blogs related to NVIDIA FLARE.
NVIDIA FLARE is released under an Apache 2.0 license.