In this chapter of the MLOps tutorial, you will have an introduction to how Machine Learning projects are conventionally deployed, which will lead to an introduction to MLOps and why it is necessary now.
The Current Scenario
Conventionally, deploying Machine Learning models is a one-off exercise. The model is trained on the data, tested, and deployed. However, Machine Learning models are different from traditional software. They are dynamic. They need to be constantly monitored and occasionally retrained. Since various activities related to the development and operationalization of these models, such as monitoring, retraining, etc are manual processes. This causes a lot of time, effort, and therefore money to be spent to keep these projects operational.
And this is where MLOps comes in, a new approach for the development and operationalization of Machine Learning models.
What is MLOps?
MLOps is an acronym for Machine Learning Operations. MLOps refers to the practices for managing, streamlining, standardizing, and up to some extent automating the end-to-end-processes that related to Machine Learning models. These processes include, but are not limited to-
- Collaboration between various stakeholders such as Data Scientists, Software Developers, Machine Learning Engineers, IT Operations, Management, etc.
- Data Collection, Data Exploration, and Data Visualization.
- Feature Selection and Feature Engineering.
- Training the Machine Learning models.
- Versioning of Datasets, Machine Learning models, code, etc.
- Creating Pipelines for Machine Learning projects.
- Deployment and Integration of Machine Learning models into business applications.
- Monitoring the Machine Learning models in production.
- Retraining the model with the latest data.
- Creating new Machine Learning models.
MLOps derives many of its concepts from DevOps, which was developed to manage, standardize, streamline and automate the process of Software Development. MLOps can be considered as an amalgamation of 4 steps-
- Development
- Management
- Deployment and Integration
- Monitoring
These steps are shown in the MLOps flowchart below.
In the next chapters of this tutorial, we will keep returning to this flow chart as we take a deeper look at each of these steps.
Why Now?
Machine Learning has been a field of active research for many years now. However, only recently there has been widespread adoption of Machine Learning for business applications. To manage the increasing adoption creates a need to manage, streamline, standardize and automate the processes that are associated with Machine Learning. As Machine Learning finds itself more and more useful in various business applications, there is going to be an ever-increasing adoption of MLOps.
Advantages
Using MLOps practices for deployment of Machine Learning models have several advantages over conventional Machine Learning model deployment processes such as-
- Easier management of models and pipelines.
- Automation of repetitive manual tasks to keep the model operational.
- Easier to try, test and implement new models.
- Smooth Deployment and Integration of models with Software for the business application.
- Easier monitoring on models in production.
- Easier to audit and inspect models from a governance standpoint.
- Increased efficiency.
- Allows scalability of Machine Learning projects.