Bird
Raised Fist0
MLOpsdevops~10 mins

Promoting models between stages in MLOps - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Process Flow - Promoting models between stages
Model Training Completed
Register Model in Registry
Approve Model for Staging
Deploy Model to Staging Environment
Test and Validate in Staging
Approve Model for Production
Deploy Model to Production
Monitor Model Performance
Repeat or Rollback if Needed
This flow shows how a trained model moves step-by-step from training to production, passing through registration, staging, approval, deployment, and monitoring.
Execution Sample
MLOps
register_model('model_v1')
approve_model('model_v1', 'staging')
deploy_model('model_v1', 'staging')
approve_model('model_v1', 'production')
deploy_model('model_v1', 'production')
This code registers a model, promotes it to staging, deploys it there, then promotes and deploys it to production.
Process Table
StepActionModel VersionStageResult
1register_modelmodel_v1NoneModel registered in registry
2approve_modelmodel_v1stagingModel approved for staging
3deploy_modelmodel_v1stagingModel deployed to staging environment
4approve_modelmodel_v1productionModel approved for production
5deploy_modelmodel_v1productionModel deployed to production environment
💡 Model is successfully deployed to production after passing staging approval and deployment
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5
model_v1_stageNoneregisteredstaging_approvedstaging_deployedproduction_approvedproduction_deployed
Key Moments - 3 Insights
Why can't we deploy the model directly to production without staging?
Staging acts as a safe testing area to validate the model before production. As shown in execution_table rows 3 and 5, deployment to staging happens first to catch issues early.
What does 'approve_model' do in the promotion process?
'approve_model' changes the model's stage status, allowing deployment to that stage. See rows 2 and 4 where approval precedes deployment.
What happens if the model fails tests in staging?
The model is not approved for production and deployment stops. This is implied by the flow stopping before step 4 if validation fails.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the model stage after step 3?
Astaging_deployed
Bproduction_approved
Cregistered
Dproduction_deployed
💡 Hint
Check the 'Stage' and 'Result' columns at step 3 in the execution_table.
At which step is the model approved for production?
AStep 2
BStep 3
CStep 4
DStep 5
💡 Hint
Look for 'approve_model' action with 'production' stage in the execution_table.
If the model fails validation in staging, which step would NOT occur?
Aregister_model
Bdeploy_model to production
Capprove_model for staging
Ddeploy_model to staging
💡 Hint
Refer to the concept_flow and key_moments about stopping deployment if staging validation fails.
Concept Snapshot
Promoting models between stages:
1. Register model in registry
2. Approve model for staging
3. Deploy to staging for testing
4. Approve for production after validation
5. Deploy to production
Always test in staging before production to avoid issues.
Full Transcript
This visual execution shows how a machine learning model moves through stages from training to production. First, the model is registered in a model registry. Then it is approved for the staging environment, where it is deployed and tested. If tests pass, the model is approved for production and deployed there. Monitoring continues after deployment. This step-by-step promotion ensures safe and reliable model updates.

Practice

(1/5)
1. What is the main purpose of promoting a machine learning model between stages like testing and production?
easy
A. To move a model to a more stable and reliable environment
B. To delete old versions of the model
C. To retrain the model with new data automatically
D. To change the model's algorithm

Solution

  1. Step 1: Understand model promotion

    Promoting a model means moving it from one stage to another, like from testing to production.
  2. Step 2: Identify the purpose of promotion

    This process ensures the model is stable and reliable before it is used live.
  3. Final Answer:

    To move a model to a more stable and reliable environment -> Option A
  4. Quick Check:

    Model promotion = move to stable environment [OK]
Hint: Promotion means moving model to a safer, stable stage [OK]
Common Mistakes:
  • Confusing promotion with retraining
  • Thinking promotion deletes models
  • Assuming promotion changes model algorithms
2. Which of the following is the correct command syntax to promote a model named my_model version 3 to the Production stage using MLflow CLI?
easy
A. mlflow models promote --name my_model --version 3 --stage Production
B. mlflow model promote --model my_model --ver 3 --to Production
C. mlflow models transition --name my_model --version 3 --stage Production
D. mlflow models transition-stage --model-name my_model --version 3 --stage Production

Solution

  1. Step 1: Identify correct MLflow CLI command

    The MLflow CLI uses mlflow models transition-stage to promote models between stages.
  2. Step 2: Check command options

    The correct options are --model-name, --version, and --stage to specify the model, version, and target stage.
  3. Final Answer:

    mlflow models transition-stage --model-name my_model --version 3 --stage Production -> Option D
  4. Quick Check:

    MLflow promote command = transition-stage with correct flags [OK]
Hint: Use 'transition-stage' with --model-name, --version, --stage flags [OK]
Common Mistakes:
  • Using 'promote' instead of 'transition-stage'
  • Wrong flag names like --name or --ver
  • Mixing singular/plural 'model' vs 'models'
3. Given the following MLflow CLI command:
mlflow models transition-stage --model-name sales_forecast --version 5 --stage Staging
What will be the result of running this command?
medium
A. The model version 5 of sales_forecast is moved to the Staging stage
B. The model sales_forecast version 5 is deleted
C. A new version 6 of sales_forecast is created in Staging
D. The model sales_forecast version 5 is retrained automatically

Solution

  1. Step 1: Understand the command purpose

    The command transition-stage moves a specific model version to a new stage.
  2. Step 2: Analyze the command parameters

    It targets model sales_forecast, version 5, moving it to Staging stage.
  3. Final Answer:

    The model version 5 of sales_forecast is moved to the Staging stage -> Option A
  4. Quick Check:

    transition-stage moves model version to new stage [OK]
Hint: transition-stage moves specified version to target stage [OK]
Common Mistakes:
  • Thinking it deletes or retrains the model
  • Assuming it creates a new version
  • Confusing model name and version
4. You run the command mlflow models transition-stage --model-name my_model --version 2 --stage Production but get an error saying "Stage 'Production' does not exist." What is the most likely cause and fix?
medium
A. The stage name is case-sensitive; change 'Production' to 'production'
B. The stage 'Production' is not registered; create the stage before promotion
C. The MLflow server is down; restart the server
D. The model version 2 does not exist; create it first

Solution

  1. Step 1: Analyze the error message

    The error says the stage 'Production' does not exist, meaning it is not registered in MLflow.
  2. Step 2: Determine the fix

    You must create or register the 'Production' stage before promoting a model to it.
  3. Final Answer:

    The stage 'Production' is not registered; create the stage before promotion -> Option B
  4. Quick Check:

    Stage must exist before promotion [OK]
Hint: Check if target stage exists before promoting model [OK]
Common Mistakes:
  • Assuming stage names are case-insensitive
  • Blaming model version existence
  • Ignoring server status
5. You want to automate promoting the best performing model version to Production only if it passes testing. Which approach best fits this requirement?
hard
A. Automatically promote every new model version to Production without testing
B. Manually run mlflow models transition-stage after testing
C. Use a CI/CD pipeline that runs tests, then promotes the model version to Production stage if tests pass
D. Delete all previous versions and keep only the latest model

Solution

  1. Step 1: Understand automation and testing requirements

    Automation requires a pipeline that runs tests and promotes models only if tests pass.
  2. Step 2: Evaluate options for automation

    Use a CI/CD pipeline that runs tests, then promotes the model version to Production stage if tests pass describes a CI/CD pipeline that tests and promotes automatically, matching the requirement.
  3. Final Answer:

    Use a CI/CD pipeline that runs tests, then promotes the model version to Production stage if tests pass -> Option C
  4. Quick Check:

    Automate with CI/CD pipeline and conditional promotion [OK]
Hint: Automate promotion with CI/CD pipeline after tests pass [OK]
Common Mistakes:
  • Promoting without testing
  • Manual promotion defeats automation
  • Deleting versions unnecessarily