NVFlare: Redefining Collaborative Federated Training
The FCP includes a seamless integration of NVIDIA's Federated Learning framework (NVFlare), enabling you to train machine learning models collaboratively across distributed health data sources. This revolutionary approach brings privacy-preserving training to the forefront, allowing healthcare organizations to pool their insights without compromising the security of sensitive data.
Key Aspects and Advantages
- Secure Distributed Training: NVFlare empowers users to conduct Federated Training across a network of healthcare institutions, each contributing their data insights without sharing raw data. This distributed approach ensures that sensitive patient information remains secure behind institutional firewalls.
- NVIDIA GPU Acceleration: NVFlare taps into the computational prowess of NVIDIA GPUs, expediting model training and optimization. This acceleration is a game-changer, reducing training time and enhancing the accuracy of models trained on massive healthcare datasets.
- Versatility Across ML Frameworks: NVFlare's framework compatibility extends to major machine learning frameworks such as PyTorch and TensorFlow. Adapt your existing machine learning code to NVFlare, ensuring seamless integration into the Federated Learning ecosystem.
Unlocking Secure Federated Training
To harness the capabilities of NVFlare Code Objects within Rhino Health FCP, follow these steps:
- Adaptation to NVFlare Framework: Align your machine learning code with NVFlare's Federated Learning framework. This step ensures your models are primed to operate collaboratively across distributed data. (see our Rhino Health "user resources" GitHub repository for examples)
- Container Image Integration: Build a container image that encapsulates your adapted NVFlare code, along with the required dependencies. These images are the vessels for efficient, privacy-preserving training across distributed health data.
- ECR Repository Integration: Push your container images to your workgroup's Elastic Container Registry (ECR) repository. This makes the NVFlare images available within the FCP ecosystem for execution via NVFlare Code Objects.
- Create and Collaborate: Access the Code Objects view within your project on the FCP Dashboard. Create an NVFlare Code Object, specifying your container image and configurations. Collaborate securely across institutions to train ML models and/or run model inference.
- Elevate Federated Training: Launch Federated Training using NVFlare Code Objects, and the FCP takes care of orchestrating the federated network and communication aspects. You can even simulate federated training using multiple datasets from your workgroup.
Championing Secure Insights and Collaborative Progress
NVFlare Code Objects redefine the paradigm of Federated Training, emphasizing secure and collaborative healthcare insights. By utilizing the power of NVIDIA GPUs and preserving data privacy, NVFlare empowers healthcare organizations to collaborate, innovate, and drive transformative advancements in predictive modeling.
Summary
NVFlare Code Objects within Rhino Health FCP signify a groundbreaking approach to Federated Training. Embrace the synergy of distributed health data, NVIDIA GPU acceleration, and Federated Learning framework compatibility to unlock secure, efficient, and impactful insights. Experience the future of collaborative healthcare research with NVFlare Objects, as you safeguard sensitive data while unlocking the full potential of Federated Training in the digital health landscape.
Key Components of an NVFlare Code Object
Attributes
- Name: The name of the defined Code Object
- Description (Optional): The description of the NVFlare Code Object
- Version(s): The version of the Code Object. After creating the initial Code Object you are able to edit the existing Code Object and create a new version instead of creating a whole new Code Object
- Date Created: The date the Code Object version was created
- Runs: The number of times the Code Object version has been run and produced a Code Object Result. Note: If you delete a Code Object Result for a Code Object, the number of runs will also be reduced by the number of Code Object results you delete
- Latest Run (UTC): The timestamp of the latest run in the UTC timezone for the particular Code Object version
- Input Schema: The input schema that was defined when creating the particular Code Object version
- Output Schema: The output schema that was defined when creating the particular Code Object version
- Source: The creator of the Code Object version
- UUID: The unique identifier for a specific Code Object version within the Rhino FCP
- Code Object Type: The type of Code Object that has been defined during creation - an NVFlare 2.0, NVFlare 2.2, NVFlare 2.3, or NVFlare 2.4
- Container: The Docker container, under the section Workgroup Images, which you pushed to your workgroups ECR or the stock container image within the Rhino Health Images
Actions
- Creating a New NVFlare Code Object or Code Object Version: Create a new NVFlare Code Object or new version of an existing Code Object
- Viewing an NVFlare Code Object Configuration: Viewing the configuration that was provided while creating a specific NVFlare Code Object
- Running an NVFlare Code Object: Running a specific version of a certain NVFlare Code Object
- Deleting an NVFlare Code Object or Code Object Version: Delete a single version or a whole NVFlare Code Object
Interfaces
Below are a series of screenshots that detail how you can interact with NVFlare Code Objects within the Rhino FCP
Main Code Object (formerly Models) Page
The main interface for initiating the creation of an NVFlare Code Object.
Creating a New NVFlare Code Object
Make sure to choose the appropriate version of NVFlare used in the "Type" drop-down.
For more information about creating a new NVFlare Code Object, please refer to Creating a New NVFlare Code Object or Code Object Version.
Running an NVFlare Code Object
For more information about running an NVFlare Code Object, please refer to Running an NVFlare Code Object.