Promoting models between stages in MLOps - Time & Space Complexity
Start learning this pattern below
Jump into concepts and practice - no test required
When moving machine learning models from one stage to another, like from testing to production, it's important to know how the time needed grows as more models or stages are involved.
We want to understand how the process time changes when handling more models or stages.
Analyze the time complexity of the following code snippet.
for model in models:
for stage in stages:
promote_model(model, stage)
This code promotes each model through all defined stages one by one.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Calling
promote_modelfor each model and stage combination. - How many times: Once for every model times every stage (models x stages).
As the number of models or stages increases, the total promotions grow by multiplying these counts.
| Input Size (models x stages) | Approx. Operations |
|---|---|
| 10 models x 3 stages | 30 promotions |
| 100 models x 3 stages | 300 promotions |
| 100 models x 10 stages | 1000 promotions |
Pattern observation: The total work grows by multiplying the number of models and stages.
Time Complexity: O(models x stages)
This means the time needed grows proportionally with both the number of models and the number of stages.
[X] Wrong: "Promoting models only depends on the number of models, not stages."
[OK] Correct: Each model must be promoted through every stage, so stages multiply the total work, not just models alone.
Understanding how tasks multiply when combining two lists, like models and stages, helps you explain real-world automation steps clearly and confidently.
"What if we promoted only models that passed tests instead of all models? How would the time complexity change?"
Practice
Solution
Step 1: Understand model promotion
Promoting a model means moving it from one stage to another, like from testing to production.Step 2: Identify the purpose of promotion
This process ensures the model is stable and reliable before it is used live.Final Answer:
To move a model to a more stable and reliable environment -> Option AQuick Check:
Model promotion = move to stable environment [OK]
- Confusing promotion with retraining
- Thinking promotion deletes models
- Assuming promotion changes model algorithms
my_model version 3 to the Production stage using MLflow CLI?Solution
Step 1: Identify correct MLflow CLI command
The MLflow CLI usesmlflow models transition-stageto promote models between stages.Step 2: Check command options
The correct options are--model-name,--version, and--stageto specify the model, version, and target stage.Final Answer:
mlflow models transition-stage --model-name my_model --version 3 --stage Production -> Option DQuick Check:
MLflow promote command = transition-stage with correct flags [OK]
- Using 'promote' instead of 'transition-stage'
- Wrong flag names like --name or --ver
- Mixing singular/plural 'model' vs 'models'
mlflow models transition-stage --model-name sales_forecast --version 5 --stage StagingWhat will be the result of running this command?
Solution
Step 1: Understand the command purpose
The commandtransition-stagemoves a specific model version to a new stage.Step 2: Analyze the command parameters
It targets modelsales_forecast, version5, moving it toStagingstage.Final Answer:
The model version 5 of sales_forecast is moved to the Staging stage -> Option AQuick Check:
transition-stage moves model version to new stage [OK]
- Thinking it deletes or retrains the model
- Assuming it creates a new version
- Confusing model name and version
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?Solution
Step 1: Analyze the error message
The error says the stage 'Production' does not exist, meaning it is not registered in MLflow.Step 2: Determine the fix
You must create or register the 'Production' stage before promoting a model to it.Final Answer:
The stage 'Production' is not registered; create the stage before promotion -> Option BQuick Check:
Stage must exist before promotion [OK]
- Assuming stage names are case-insensitive
- Blaming model version existence
- Ignoring server status
Solution
Step 1: Understand automation and testing requirements
Automation requires a pipeline that runs tests and promotes models only if tests pass.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.Final Answer:
Use a CI/CD pipeline that runs tests, then promotes the model version to Production stage if tests pass -> Option CQuick Check:
Automate with CI/CD pipeline and conditional promotion [OK]
- Promoting without testing
- Manual promotion defeats automation
- Deleting versions unnecessarily
