Model version stages

Intro to model version stages

Verta’s Model Catalog helps you manage the lifecycle of model versions. Like other code, we want model versions to be tagged with the correct development lifecycle stage and we provide approval processes to transition models between stages.

The available model version stages are:

  • Unassigned

    • This is the default state if a model version is newly registered with no stage information

  • Development

    • Models in development are still being iterated on and developed. Use this stage to track versions in R&D as desired, or to ready a model to be socialized and tested by peers

  • Staging

    • Models in staging are candidates for release, and are usually in this stage when final release readiness checks are being completed

  • Production

    • Models serving your customers or users now should be tagged as being in “Production”. Use the production tag if the model is serving live inferences, batch processing data or serving an end user on a device

  • Archived

    • Models that are no longer used, or candidates for release, can be archived

Note: The model version stage is disconnected from the deployment of the model - that is, you could have a model released as an endpoint for testing in Staging. Therefore to get a complete picture of the present state of the model, visit the Release page to understand current releases and release readiness.

Using Model Stages

Model stages can be set via the UI or our Python client.

Generally, models will move linearly from Unassigned to Development, Staging, Production, and then Archival. Each step serves as an important milestone in getting the model ready for release, but at times you may need to skip stages. Therefore, we do not prohibit any stage change. If you are skipping one or more stages in the linear flow, the UI will highlight that step change in case it’s an error. You may set any stage at any time, unless the model is locked.

Only users with permission to edit a model version may edit the model version stage. All stage changes are recorded on the Model Activity Log.

Setting the Model Stage Via the UI

The model stage can be found in the top right hand corner of each page on a version.

Select the stage you want to move the model to begin the stage change request.

We suggest a comment to be written when requesting a model stage change, so that any collaborators or peers can get quick context if needed. This will be visible in the model activity log.

Setting the Model Stage Via the Client

Our API documentation provides detailed examples of each stage change, take a look.

Here's a sample of what that looks like:

from verta.registry.stage_change import Staging
model_ver.change_stage(Staging("Undergoing final testing."))
model_ver.stage  

Approval Workflows for Model Version Stage Changes

All stage changes require a two-step approval workflow, where a collaborator will approve the requested change.

Once you request the change, collaborators will see it on the model version page:

Once a peer approves the request, the change goes into immediate effect. Everything will be documented in the activity log:

Models with stage change requests across multiple versions will have a “Pending Approvals” tab to aggregate all the version stage changes ready for review and approval.

You may revoke a stage change (by canceling your requests) before approval.

Coming Soon: We will allow customization of the number of approvers needed to confirm a change.

Monitoring Model Version Stage Changes

Understanding how many model versions are in each stage, and how they are progressing towards release and replacements is a crucial part of lifecycle management. We provide several places where team members can get aggregate insight into model stages.

You can query registered model versions by stage using client API and automate running a test job and invoking your release pipeline:

staging_model_version = model.versions.find("stage == staging")[0]
print(staging_model_version)

On the Model Catalog page, you can filter for all models in production:

Each model tile on the Model Catalog homepage gives you a summary of the versions and their stages:

The Model Card will show a version information summary, along with a quick link to the versions in production:

This above tracking is repeated on the Versions dashboard of a Model Card. The version stage is also highlighted on every version and will be marked in a bright green if in production.

The platform homepage will highlight the total version and count the version which are in the Production Stage:

Last updated