DEV Community

Cover image for DEVOPS VS MLOPS
SOMYA RAWAT
SOMYA RAWAT

Posted on

DEVOPS VS MLOPS

What is DevOps ?

DevOps is a software development methodology that combines multiple teams to coordinate and collaborate to produce better, more reliable products.

DevOps aims to shorten development cycles, increase deployment velocity and create dependable release.

What is MLOps ?

MLOps helps simplify the management, logistics, and deployment of machine learning models between teams and machine learning researchers.

From a naive perspective MLOps is the fusion of traditional DevOps processes in the context of data science and machine learning.

Difference between MLOps and DevOps.

MLOps is DevOps for ML while it is true to some extent, there are challenge typical to ML that need to be addressed by MLOps platforms.

Difference-1 : Versioning

In the traditional software application, code versioning tools are used to track changes. But ML is experiment in nature, we try a lot of things to find what works best for the problem as quickly as possible.

The challenge is tracking what worked and what didn't, and maintaining reproducibility while maximizing code reusability.

Difference-2 : Testing

Testing an ML system is more involved than testing other software systems. In addition to typical unit integration tests, you need data validation, trained model quality evaluation, and model validation.

Difference-3 : Deployment

Deployment isn't as simple as deploying an offline-trained ML
model as a prediction service. ML systems can require you to
deploy a multi-step pipeline to automatically retrain and
deploy model.

Difference-4 : Monitoring

Once a model is deployed into production, it begins to generate predictions from new data that it receives from the real world.

This data will continue to change and adapt as the business environment does, resulting in model degradation.

There are multiple dimensions of monitoring such as covariate shift, prior shift, among others

Similarity between MLOps and DevOps

ML and other software systems are similar in continuous integration of source control, unit testing, integration testing, and continuous delivery of the software module or the package.

However, in ML, there are a few notable differences:

  • CI is no longer only about testing and validating code and components, but also testing and validating data, data schemas, and models.

  • CD is no longer about a single software package or a service, but a system (an ML training pipeline) that should automatically deploy another service (model prediction service).

  • CT is a new property, unique to ML systems, that's concerned with automatically retraining and serving the models.

CI - Continuous integration
CD - Continuous delivery/deployment
CT- Continuous training

Top comments (0)