Bird
Raised Fist0
MLOpsdevops~5 mins

ML lifecycle stages in MLOps - Commands & Configuration

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
Introduction
Machine learning projects go through several steps from understanding the problem to deploying a working model. These steps help organize work and make sure the model solves the right problem and works well in real life.
When you want to build a model to predict customer behavior based on past data
When you need to clean and prepare data before training a model
When you want to test different models to find the best one
When you want to deploy a model so it can make predictions in a live app
When you need to monitor a model’s performance after deployment to keep it accurate
Commands
This command runs an ML project using MLflow, which helps track experiments and organize the ML lifecycle steps.
Terminal
mlflow run .
Expected OutputExpected
2024/06/01 12:00:00 INFO mlflow.projects: === Run (ID='123abc') succeeded ===
--experiment-name - Specify the experiment to track this run under
Starts the MLflow tracking UI so you can see your experiments, runs, and metrics in a web browser.
Terminal
mlflow ui
Expected OutputExpected
2024/06/01 12:00:05 INFO mlflow.server: Starting MLflow UI at http://127.0.0.1:5000
--port - Change the port where the UI runs
Deploys the trained model from a specific run so it can serve predictions via a REST API on port 1234.
Terminal
mlflow models serve -m runs:/123abc/model -p 1234
Expected OutputExpected
2024/06/01 12:00:10 INFO mlflow.models: Serving model at http://127.0.0.1:1234
-m - Specify the model path to serve
-p - Set the port for the model server
Key Concept

If you remember nothing else, remember: the ML lifecycle organizes work into clear steps from data to deployment to keep projects on track and models reliable.

Common Mistakes
Skipping data preparation before training
Poor data quality leads to bad model performance and unreliable predictions
Always clean and prepare your data carefully before training
Not tracking experiments and parameters
You lose track of what settings produced which results, making it hard to improve
Use tools like MLflow to log parameters, metrics, and models
Deploying models without testing
Untested models may fail or give wrong predictions in real use
Test models thoroughly before deployment and monitor them after
Summary
Run ML projects and track experiments with mlflow run and mlflow ui commands.
Deploy trained models as REST APIs using mlflow models serve.
Organize ML work into stages: data prep, training, testing, deployment, and monitoring.

Practice

(1/5)
1. Which stage in the ML lifecycle involves collecting and preparing data for training?
easy
A. Model Training
B. Data Preparation
C. Model Monitoring
D. Model Deployment

Solution

  1. Step 1: Understand the role of data in ML lifecycle

    Data must be collected and cleaned before training a model.
  2. Step 2: Identify the stage focused on data tasks

    Data Preparation is the stage where data is gathered and made ready for training.
  3. Final Answer:

    Data Preparation -> Option B
  4. Quick Check:

    Data Preparation = Collecting and cleaning data [OK]
Hint: Data tasks happen before training starts [OK]
Common Mistakes:
  • Confusing deployment with data tasks
  • Thinking monitoring includes data cleaning
  • Mixing training with data preparation
2. Which of the following is the correct order of stages in a typical ML lifecycle?
easy
A. Data Preparation -> Model Training -> Model Deployment -> Model Monitoring
B. Model Deployment -> Model Training -> Data Preparation -> Model Monitoring
C. Model Training -> Data Preparation -> Model Deployment -> Model Monitoring
D. Model Monitoring -> Model Deployment -> Model Training -> Data Preparation

Solution

  1. Step 1: Recall the logical flow of ML lifecycle stages

    First, data is prepared, then the model is trained, followed by deployment and monitoring.
  2. Step 2: Match the correct sequence from options

    Data Preparation -> Model Training -> Model Deployment -> Model Monitoring correctly lists the stages in order: Data Preparation -> Model Training -> Model Deployment -> Model Monitoring.
  3. Final Answer:

    Data Preparation -> Model Training -> Model Deployment -> Model Monitoring -> Option A
  4. Quick Check:

    Correct stage order = Data Preparation -> Model Training -> Model Deployment -> Model Monitoring [OK]
Hint: Remember: Prepare data before training [OK]
Common Mistakes:
  • Mixing deployment before training
  • Starting with monitoring instead of data
  • Incorrect stage order
3. Consider this simplified ML lifecycle code snippet:
stages = ['Data Preparation', 'Model Training', 'Model Deployment', 'Model Monitoring']
for i, stage in enumerate(stages):
    print(f"Stage {i+1}: {stage}")

What will be the output of this code?
medium
A. Stage 1: Model Training Stage 2: Data Preparation Stage 3: Model Deployment Stage 4: Model Monitoring
B. Stage 0: Data Preparation Stage 1: Model Training Stage 2: Model Deployment Stage 3: Model Monitoring
C. Stage 1: Data Preparation Stage 2: Model Training Stage 3: Model Deployment Stage 4: Model Monitoring
D. Stage 1: Data Preparation Stage 2: Model Deployment Stage 3: Model Training Stage 4: Model Monitoring

Solution

  1. Step 1: Understand enumerate behavior in the loop

    enumerate(stages) gives index and value starting at 0, but print uses i+1 for stage number.
  2. Step 2: Check the order of stages printed

    The loop prints stages in list order with stage numbers 1 to 4 matching the list order.
  3. Final Answer:

    Stage 1: Data Preparation Stage 2: Model Training Stage 3: Model Deployment Stage 4: Model Monitoring -> Option C
  4. Quick Check:

    Index + 1 matches stage number [OK]
Hint: Remember enumerate starts at 0, add 1 for display [OK]
Common Mistakes:
  • Confusing index starting at 0
  • Mixing stage order in output
  • Printing wrong stage names
4. You have this ML lifecycle stage list:
stages = ['Data Preparation', 'Model Training', 'Model Deployment', 'Model Monitoring']
stages.remove('Model Training')
print(stages)

What is the output after running this code?
medium
A. ['Data Preparation', 'Model Deployment', 'Model Monitoring']
B. ['Model Training', 'Model Deployment', 'Model Monitoring']
C. ['Data Preparation', 'Model Training', 'Model Deployment', 'Model Monitoring']
D. Error: 'remove' method not found

Solution

  1. Step 1: Understand what stages.remove('Model Training') does

    This removes the first occurrence of 'Model Training' from the list.
  2. Step 2: Check the list after removal

    The list now excludes 'Model Training', leaving the other three stages.
  3. Final Answer:

    ['Data Preparation', 'Model Deployment', 'Model Monitoring'] -> Option A
  4. Quick Check:

    Remove deletes specified item from list [OK]
Hint: remove() deletes the exact item from list [OK]
Common Mistakes:
  • Expecting an error from remove()
  • Thinking remove deletes by index
  • Not updating the list after removal
5. A team wants to automate retraining their ML model when data changes. Which two ML lifecycle stages must be combined in a pipeline to achieve this?
hard
A. Data Preparation and Model Monitoring
B. Model Deployment and Model Monitoring
C. Model Training and Model Deployment
D. Data Preparation and Model Training

Solution

  1. Step 1: Identify stages involved in retraining after data changes

    Retraining requires fresh data preparation and then training the model again.
  2. Step 2: Select stages that automate retraining

    Data Preparation and Model Training together form the pipeline for retraining.
  3. Final Answer:

    Data Preparation and Model Training -> Option D
  4. Quick Check:

    Retrain = Prepare data + Train model [OK]
Hint: Retraining needs fresh data prep plus training [OK]
Common Mistakes:
  • Confusing deployment with retraining
  • Thinking monitoring triggers retraining alone
  • Ignoring data preparation before training