Photo by Maksym Kaharlytskyi on Unsplash
MLOps is not DevOps but why?
Here is what makes MLOps completely different from DevOps
6 min read
After a few months as an ML operations engineer, I discovered some of the many misconceptions surrounding the field. These misconceptions came from various directions and the online space is one of them. One of the most prevalent is the belief that MLOps is simply the application of DevOps principles to machine learning. While there are certainly similarities, the reality is that MLOps is a unique and complex discipline, requiring a deep understanding of both the technical and organizational aspects of machine learning. In this article, I will delve deeper into the distinctions between MLOps and DevOps, and provide a more comprehensive understanding of the role and responsibilities of an MLOps engineer.
Definition of MLOps:
Nvidia defines Machine learning operations, as "best practices for businesses to run AI successfully with help from an expanding smorgasbord of software products and cloud services."
Databricks' definition brings in more context as it defines MLOps as a core function of Machine Learning engineering, focused on streamlining the process of taking machine learning models to production, and then maintaining and monitoring them.
From both definitions, we can agree that our piece of software is a machine-learning model that is created during training. Maintaining such a model in production implies monitoring or tracking performance. The model changes if we have trained it with a different set of data and this brings the need for data and model versioning.
Definition of DevOps
"DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality" -Wikipedia.
DevOps have been around for at least a decade now and it grew and matured over time. I often remember it with this infinity diagram.
--photo by agapeconsultinggroup
There are a few concepts that stand out, although some are shared across the ML domain they are not necessarily applied in the same manner.
Overview of the differences between MLOps and DevOps
Version control is a software famous portion that when looked at in the light of MLOps we see that it's not about just the code. We need to version our data and models but until recently there was not an easy way to do it. Version control was built for code and that was tailored to software engineering needs not machine learning engineering needs. This in simple terms means even though DevOps and MLOps do version control, they are applying them differently with different tools.
MLOps is not DevOps because it is specifically designed to automate and streamline the process of building, training, and deploying machine learning models. It focuses on the unique challenges of managing machine learning models, such as data versioning, model versioning, and model monitoring. --AI coauthored answer to the question in the title
Why MLOps is Different from DevOps
MLOps Focuses on Machine Learning
MLOps is specifically designed to streamline the process of building, training, and deploying machine learning models. Building these models and deploying them comes with unique challenges that the MLOps engineer has to solve. Data versioning, model versioning, and model tracking are unique essential challenges for machine learning that aren't addressed by DevOps. In addition to this, there are other aspects of ML system design that don't exist in the software engineering paradigm. For example features generation, provisioning, and processing. Generating features from data is a unique component of machine learning systems and comes with various levels of complexity from an operational perspective if the system is online versus offline. The necessity for all these operational infrastructures increases with the growing governance rules and reproducibility becomes more than a feature.
MLOps Requires Different Tools
Code version control has been one of the most remarkable artefacts of the tech industry today. A tool like Git grew and inspired different projects like Github, Gitlab and all the other Git-something out there. The current tooling was built with code in mind and as machine learning became an integral part of different systems there comes the need to track the model, data and performance.
To address the need for tracking and versioning there are tools to be added to the stack. Among these tools:
DVC is a tool for data tracking that is compatible with git. DVC helps you version your data and track any changes as if it's a piece of code.
MLflow brings more to your stack to streamline and facilitate model versioning via its registry and tracking of experiments with complete logging capabilities for most machine learning frameworks.
The required tools for MLOps are different and they are not as simple as alternatives to Git, but full-fledged capabilities that needed to be added to the stack of operations. The two examples of DVC and MLflow are simple examples and such tools will keep evolving.
The revolution continues with pre-trained models and LLMs. GPT and the like will bring about a new set of tooling that allows and facilitates working with foundational models. These new tools for prompts engineering and others will naturally add to the MLOps stack unless time proves a new age of LLMOps.
MLOps Requires Different Skills
MLOps requires a different set of skills than DevOps, as the field is focused on the specific challenges and complexities of machine learning. Some of the key skills that an MLOps engineer should possess include:
Machine learning expertise: An understanding of the various types of machine learning algorithms, their strengths and weaknesses, and how to implement them in a production environment.
Data science knowledge: Familiarity with data preprocessing, feature engineering, and model evaluation is essential for MLOps engineers to be able to work effectively with data scientists.
Monitoring and troubleshooting: Understanding how to monitor machine learning models in a production environment and troubleshoot issues that arise is crucial for maintaining the performance and accuracy of the models.
Understanding of ML Governance, ML Security, ML Privacy, ML Explainability, and ML Fairness.
MLOps is a unique and complex field that requires a specialized set of tools, skills, and knowledge to manage the specific challenges and complexities of machine learning models and data. It's important to understand that MLOps is not simply the application of DevOps principles to machine learning and that it requires a deep understanding of both the technical and organizational aspects of machine learning. As the field of AI continues to evolve, the distinctions between the two fields must become even more pronounced. Machine learning leaders and practitioners need to recognize these differences and not be held back by assumptions about similarities between the two fields. By recognizing the nuances of MLOps and approaching them with a clear understanding, organizations can more effectively deploy and manage their machine learning models in production.