In this article I would like to share useful links, which helped me to gain deeper understanding — Why MLOps vs DevOps?
According to Wikipedia:
MLOps or ML Ops is a set of practices that aims to deploy and maintain machine learning models in production reliably and efficiently.
We are still here, and all-in DevOps :). Moving on …
Image is courtesy of AWS:
As any virtual asset ML has a lifecycle, and someone needs to take care of the pipeline, and here it comes MLOps which manages data, model training/retraining and model code.
To make it fair, I provide links to 2 cloud providers: #AWS and #IBM, other CSPs have similar whitepapers — it is on you to find it :)
#AWS has an excellent white paper defining MLOps, explaining application of DevOps principles in areas of Machine Learning.
Beside explaining technical components of ML, it also provides several implementation examples.
Image is courtesy of AWS:
I really do not want to copy/paste content here, it is definitely worth reading. Yet another excellent source is Taming Machine Learning on AWS with MLOps: A Reference Architecture which explains key components of MLOps Pipeline, and provides Reference Architecture and Implementation Strategy.
IBM has several good articles, I found ML Operationalization Starter Kit for ML Operationalization and MLOps Guide (not IBM) really helpful. The latter provides sample Implementation tutorial, with a good explanation of MLOps.
Image is courtesy of https://mlops-guide.github.io
Nevertheless, in all MLOps definitions — Monitoring is an integral part of the pipeline (hah, similar to DevOps :))
So far, so good. But …
Do you ask yourself a question?
In DevOps pipeline is managing:
- New features
- Bug fixes
- Application architecture changes — for example, from monolith to microservices.
- Application runtime possible change, and so on…
What, then, is unique to MLOps ?
- Biased data, algorithms and concept drift — as bug fix
- Dataset may change (e.g external conditions change observations)
- CT- Continuous training and more…
There are many articles trying to explain MLOps vs DevOps, some links are below, in no particular order:
The main drivers in MLOps are Data and Models. Once you start understanding what is going on with data and models it becomes much easier to support MLOps pipeline.
There is an excellent presentation which explains what may happen with the model, and why monitoring is a must have.
And by the way, tools like AWS Amazon SageMaker and IBM Watson will make managing the MLOps pipeline much easier — but that is another story…
Hope you find this quick reference useful…