There are several ways to share your model with a collaborator so that they can fine-tune it. Here is one simple way to do this.
- Create and train your model. To do this, you’ll need to create an NVFlare code object and run it using these instructions. These articles provide details on how to do this: Creating New NVFlare Code or Code Version, Running NVFlare Code, Managing Run Time Files.
- Once the model has been trained, publish the model so that your collaborators can see it. See Publishing and Unpublishing Code Objects and Code Runs for more details.
- Finally, create a code object for fine-tuning, then publish the code object.
- Your collaborator then runs the fine-tuning code object, and selects the runtime model that you published.
- The fine-tuned model is generated and is available in runtime files for the collaborator’s workgroup. Note that you cannot access the collaborator’s fine-tuned model unless they publish it so that you can see it.
Protecting Your Model
If you need to protect your model, consider doing one or more of the following.
- You can use permissions to prevent model downloads. The Download Model Parameters, Manage Code Objects policies, and View Code Objects and Code Runs settings should be set properly. For more information, see Viewing Your Project's Permissions Policy and Specifying a Project's Permissions Policy.
- Encrypt the fine-tuning code object that you supply using a secret manager integration, which pulls secrets from your secrets manager. You can then decrypt it at run-time so that your collaborator can use it. See Model and Code Encryption for Federated Computing Scenarios for more details.
- Use confidential computing to encrypt memory. Confidential Computing Supported Environments and Permission Settings.
Related Topics