Model versioning

Overview

Model versions represent different instances of a model. For many reasons, models change over time and a new set of complete, bundled, and tested changes represent new version. Versions can include fixes or minor updates but they can also include large changes.

When you deploy a model for the first time, a model version is created. Later on, you can deploy new model versions. At least one active version is required for the model to remain active and available in the Marketplace.

The Model Details page displays the latest version’s details but it allows you to switch the content from one version to another, except for inactive versions.

Also, all active versions can be used to run a job lifecycle.

Semantic versioning

Models on the Marketplace follow the semantic versioning format. Below, you can see details on how to set a version of a model. The semantic versioning format has numbers that follow the MAJOR.MINOR.PATCH standard.

Increments to each number represent:

  • Major: a functionality change or bug fix that breaks backwards compatibility.
    Example: previous version: 1.2.15, new version 2.0.0

  • Minor: a functionality change that preserves backwards compatibility.
    Example: previous version: 1.2.15, new version 1.3.15

  • Patch: a bug fix that preserves backwards compatibility.
    Example: previous version: 1.2.15, new version 1.2.16

Here are some change examples:

Major

Minor

Patch

Changes to model architecture or algorithm design.

Support for additional input and output types.

Code cleanup.

Changes to training dataset.

Addition of validation checks.

Minor bug fixes.

Changes to required model inputs.

Model performance optimization.

Update dependency to latest release (package or library) to avoid a published vulnerability.

Changes to hardware requirements.

Adding an input check to guard against maleficence.

Replaced dependency (i.e., library or package) as a result of a security issue.

Learn more about semantic versioning on the semver site.