13.1 Organizing & Versioning Models in Model Registry
Key Takeaways
- Agent Platform Model Registry manages custom models, AutoML tabular and image models, and registered BigQuery ML models in one place.
- The first version of a new model automatically gets the default alias, and exactly one version must carry the default alias at all times.
- A model alias is a mutable, named pointer to one version, so moving an alias to a new version removes it from the old one.
- Labels organize and filter models, while aliases identify which version plays a role such as default or champion.
- Copying a model to another region or project reuses the exact trained artifacts, but BigQuery ML models can't be copied that way.
The exam guide lists organizing and versioning models in Gemini Enterprise Agent Platform Model Registry. Model Registry answers operational questions: which models exist, which version is in production, how each version performed, and how to roll back.
What Model Registry Manages
- Custom-trained models (prebuilt or custom serving containers)
- AutoML models (tabular and image)
- BigQuery ML models, registered without export
- Imported models trained elsewhere, when artifacts meet prebuilt-container requirements or come with a custom container
From a version's detail page you can evaluate, deploy to an endpoint, run batch inference, and view performance metrics. Knowledge Catalog makes models searchable across projects and regions.
Models, Versions, Aliases, and Labels
| Concept | What it is | Example |
|---|---|---|
| Model | A logical model resource that groups versions | fraud-detector |
| Version | A specific trained artifact with its own ID and serving container | Version 7, trained 2026-09-10 |
| Alias | A mutable, named reference to one version, like a Git branch or Docker tag | default, champion, challenger, staging |
| Label | Key-value metadata for organizing and filtering | team=risk, use_case=cards, data_version=v12 |
| Description | Free text for context | "Adds merchant-category crosses. Recall at 90% precision +3%" |
Alias rules
- The first version of a new model automatically gets the
defaultalias. - Exactly one version carries
defaultat all times. When a command doesn't name a version, the default version is used. - An alias points to one version per model. Assigning an existing alias to another version moves it there.
- Aliases must match the format
[a-z][a-z0-9-]{0,126}[a-z0-9]and can't be purely numeric, so they're never confused with version IDs. - Aliases aren't labels. Aliases select a version by role. Labels describe and group.
Creating Versions
| Source | How a version lands in the registry |
|---|---|
| Custom training | Upload the artifacts with parent_model set to the existing model (API models.upload with parentModel). A TrainingPipeline can upload automatically |
| Console import | Import as new version, then optionally set it as default |
| BigQuery ML | MODEL_REGISTRY = 'VERTEX_AI', optionally with VERTEX_AI_MODEL_ID and VERTEX_AI_MODEL_VERSION_ALIASES |
| AutoML | Training creates a model, and retraining can add versions |
| Pipelines | A model upload component registers the version as part of the run, with lineage |
model_v8 = aiplatform.Model.upload(
display_name="fraud-detector",
parent_model="projects/p/locations/us-central1/models/1234",
artifact_uri="gs://ml-artifacts/fraud/2026-09-17/",
serving_container_image_uri=XGB_PREBUILT_IMAGE,
version_aliases=["challenger"],
is_default_version=False,
labels={"data_version": "v13", "team": "risk"},
)
Versions and Evaluations
Attach model evaluations to each version, either from the registry or through the evaluation pipeline component (Chapter 7). You can then compare versions side by side before promotion. Combined with ML Metadata lineage (Chapter 6), each version links back to its dataset, code, and training run.
A Promotion Workflow
- The training pipeline uploads a new version with the alias
challenger. It is not default. - The evaluation component compares
challengerwithchampionon the same test set. - If it meets the gates, a canary rollout sends a small share of endpoint traffic to the challenger (Section 13.2).
- After online checks pass, move the
championalias (anddefault) to the new version. - Rollback means moving the alias back and shifting traffic to the previous deployed version, with no retraining.
Because deployments and batch jobs can reference versions by alias, moving an alias is a clean, auditable promotion step.
Copying Models Across Regions and Projects
Copy model duplicates a registered model into another location in the same project or another project. Use it to deploy the exact same trained model in several regions, or to promote from a dev project to a prod project. Retraining isn't a substitute, because training is non-deterministic. If you don't name a version, the default version is copied. BigQuery ML models can't be copied this way.
Organizing at Scale
- One model resource per use case (such as
churn-mobile), with versions over time. Don't create a new model resource for every retrain. - Labels for ownership and context: team, cost center, data version, regulatory scope.
- Separate projects for environments (dev, staging, prod), with copy model or CI/CD promotion between them.
- IAM to control who can upload versions or move production aliases.
- Retire old versions that are neither deployed nor needed for audits, keeping records required by policy.
Governance Questions the Registry Should Answer
| Question | Where the answer lives |
|---|---|
| Which version is serving production traffic right now? | Endpoint deployed models plus the champion or default alias |
| Who approved it, and when? | Labels or description plus CI/CD records |
| What data and code produced it? | ML Metadata lineage from the pipeline run |
| How did it perform before release? | Evaluations attached to the version |
| What can we roll back to? | The previous version, still registered and possibly still deployed at 0% traffic |
Exam Traps
- Deploying by version ID in scripts that should follow the "current production" model. Use aliases so promotion doesn't require code changes.
- Using labels to mark the production model. Labels don't enforce one-version-per-role, but aliases do.
- Retraining in each region to "replicate" a model instead of copying it.
- Forgetting that a registered BigQuery ML model can be deployed to an endpoint directly from the registry without export.
A team wants deployment scripts to always use whichever fraud model version is currently approved for production, without editing scripts after each promotion. What should they use?
A newly registered model has one version. What happens with the default alias?
A healthcare company validated a model in us-central1 and must serve the identical model in europe-west4 for EU customers. What is the best approach?