Devops Vs MLOPS- Understand The Differences And Why IT is Important

This article describes the similarities and differences between DevOps and MLOps, as well as the platforms available for MLOps.

In recent years, as the field of machine learning has matured, there has been an increasing need to automatically integrate Continuous Integration (CI), Continuous Delivery (CD), and Continuous Training (CT) into machine learning systems; the application of DevOps thinking to machine learning systems is referred to as MLOps.

The goal of MLOps is to integrate machine learning (ML) system development with machine learning (Ops) system operations.

What is DevOps?

DevOps is a methodology used by individuals and teams to develop software systems. The benefits that individuals and teams can gain from a DevOps culture and practice include

Continuous Integration: consolidate the code base into a central repository/code repository, automate the process of building the software system, and test the components of the code base.

Continuous Delivery: automate the delivery of software. Existing skills on the team: people developing machine learning models/algorithms often do not have a software engineering background and focus mainly on the proof of concept/prototyping phase. It is impossible to guarantee in advance that an algorithm will be successful without first trying it out and experimenting with it.

Testing a machine learning system goes beyond unit testing and involves recording a variety of experiments, feature engineering steps, model parameters, metrics, etc. The implementation of a machine learning model is highly customized and depends on the nature of the problem it is trying to solve.

This may require a multi-step pipeline of data processing, feature engineering, model training, model registration, and model deployment. Statistics and data distribution must be tracked over time to ensure that what the model currently sees in production matches the data it was trained with. Continuous integration of the code base between developers, data scientists, and data engineers. Testing code and code components of machine learning systems.

In addition to testing the code, MLOps must ensure that data quality is maintained throughout the lifecycle of the machine learning project. MLOps is not just about implementing model artifacts.

MLOps is not just about implementing model artifacts. Implementing a machine learning system may require a machine learning pipeline that includes data extraction, data processing, functional engineering, model training, model registration, and model deployment.

MLOps has a third concept that DevOps does not: Continuous Training (CT). This step automatically identifies scenarios/events where models need to be re-trained and re-implemented in production because the currently deployed models/machine learning systems are not performing as desired.

Platforms and tools to support MLOps

mlflow (https://mlflow.org/): this is an open source platform that supports the model tracking, model registration, and model deployment steps. I believe this is also what Azure Machine Learning uses in its platform; Databricks has integrated mlflow into its platform. They also have a version control system in place.

  • Github
  • Idiot Lab
  • Azure DevOpsCloud service for running experiments and implementing machine learning pipelines.
  • AWS SageMaker (https://aws.amazon.com/sagemaker/)
  • Azure Machine Learning (https://docs.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-ml)
  • Data Bricks (https://databricks.com/)

Leave a Reply

Your email address will not be published. Required fields are marked *