MLOps Maturity Levels according to Google

Hey!

This article is also available on YouTube:

What is MLOps?

MLOps is a methodology of operation that aims to facilitate the process of bringing an experimental Machine Learning model into production and maintaining it efficiently. MLOps focus on bringing the methodology of DevOps used in the software industry to the Machine Learning model lifecycle. (https://mlops-guide.github.io)

Data science and ML are becoming core capabilities for solving complex real-world problems, transforming industries, and delivering value in all domains.

Therefore, many businesses are investing in their data science teams and ML capabilities to develop predictive models that can deliver business value to their users.

Only a small fraction of a real-world ML system is composed of the ML code. The required surrounding elements are vast and complex.

In this diagram, the rest of the system is composed of configuration, automation, data collection, data verification, testing and debugging, resource management, model analysis, process and metadata management, serving infrastructure, and monitoring.

The Steps

Let’s focus on the steps that shape an average MLOps process.

  1. Data extraction: You select and integrate the relevant data from various data sources for the ML task.
  2. Data analysis: You perform exploratory data analysis (EDA) to understand the available data for building the ML model. This process leads to the following:
    1. Understanding the data schema and characteristics that are expected by the model.
    2. Identifying the data preparation and feature engineering that are needed for the model.
  3. Data preparation: The data is prepared for the ML task. This preparation involves data cleaning, where you split the data into training, validation, and test sets. You also apply data transformations and feature engineering to the model that solves the target task. The output of this step are the data splits in the prepared format.
  4. Model training: The data scientist implements different algorithms with the prepared data to train various ML models. In addition, you subject the implemented algorithms to hyperparameter tuning to get the best performing ML model. The output of this step is a trained model.
  5. Model evaluation: The model is evaluated on a holdout test set to evaluate the model quality. The output of this step is a set of metrics to assess the quality of the model.
  6. Model validation: The model is confirmed to be adequate for deployment—that its predictive performance is better than a certain baseline.
  7. Model deploy: The model is deployed to a target environment.
  8. Model serving: The model is serving predictions. This container can be one of the following:
    1. Microservices with a REST API to serve online predictions.
    2. An embedded model to an edge or mobile device.
    3. Part of a batch prediction system.
  9. Model monitoring: The model predictive performance is monitored to potentially invoke a new iteration in the ML process.