Model Versioning

Overview

Model versioning is essential for maintaining a robust and reliable environment. By managing Production, Testing, and Staging versions, organizations can ensure that updates and changes are introduced smoothly, minimizing risks and ensuring that only stable and reliable models reach the end-users.

Moreover, paired with Cloud Manager's functionality of exporting models and good documentation practices, administrators can produce a clear history of what has been deployed, which is crucial for maintenance and troubleshooting.

Why Use Model Versioning?

Some reasons to use model versioning are:

  • Controlled Deployment: Versioning allows for a structured progression from testing to staging to production, with each version representing a more refined state of a model.

  • Risk Management: By working with versions, you can minimize the risk of introducing unstable changes into the production environment.

  • Rollback Capability: If an issue arises with a production version, versioning allows to rollback to the last stable version, minimizing downtime and disruption as long as no VMs from said model have been destroyed.

Available Model Versions

Here are the available model versions:

🟢Production version: This is the default version when creating a model. It's the stable, fully validated version of the model that is deployed for end-user interaction. It must be reliable and free of issues that might disrupt operations. It's typically the most stable and least frequently updated version. Versioning ensures that any updates to the production model are controlled, deliberate, and reversible if necessary.

🟠Testing version: use this model version to experiment with new features, configurations, or updates. It’s a sandbox where changes can be applied and assessed without impacting users. It's typically iterated frequently, with each version capturing different aspects of the model being evaluated. This allows administrators to track changes, compare results across versions, and ensure that only stable and effective changes move forward to staging.

🟡Staging version: this version is a more refined iteration, closer to what will be deployed in production. It serves as a final check for performance, compatibility, and stability before full-scale deployment. Versioning here helps to ensure that all updates and configurations have been validated and ready for production. It acts as a checkpoint, where any discrepancies can be identified and resolved before the model goes live.

For details on how to create and switch between versions, see Updating a model's version.

Last updated