Often, MLOps (Machine Learning Operations) is described as the intersection of Machine Learning, Data Engineering, and DevOps, with an emphasis on the addition of DevOps principles (especially CI/CD). It has also been described as adding a feedback loop to training ML models. Similarly, MLOps has been said to be monitoring the output of ML models. And, in a sense, these are all correct. CI/CD pipelines, monitoring, and feeback loops are invaluable in productionizing machine learning models. However, preparing ML models for production in enterprise settings takes more.
Enterprise-Ready MLOps (eMLOps)
Enterprise-Ready MLOps (eMLOps) solutions apply enterprise processes and operations to machine learning models in a manner that maximizes the benefit to the enterprise. eMLOps involves multiple levels, products, services, and components that work together to facilitate the deployment, management, and scaling of machine learning models in production enterprise environments.
Consider this adaptation from a popular animated movie:
MLOgre: For your information, there’s a lot more to eMLOps than people think.
Executive: Example?
MLOgre: Example? Ok… eMLOps is like onions.
Executive: It stinks?
MLOgre: Yes… No!
Executive: Oh, it makes you cry?
MLOgre: Noooooo… Layers! eMLOps has layers!
Our friendly ogre is right! eMLOps has layers!
eMLOps has Layers
While every enterprise deployment will be different, here’s a breakdown of what these layers might include:
- Data Layer:
- This is the foundation where data collection, preprocessing, and management occur. It involves tasks like data ingestion, cleaning, transformation, and ensuring data quality. Data versioning and lineage tracking also fall within this layer. Data is important to creating the machine learning model, and it’s just as important when productionizing that model!
- Model Development Layer:
- In this layer, data scientists develop, train, and evaluate machine learning models. It includes tasks such as feature engineering, model selection, hyperparameter tuning, and experimentation. Tools for version control of code and models are also part of this layer. In order to provide the best return to the enterprise, model development should be included in the eMLOps solution.
- Model Deployment Layer:
- This layer involves packaging and deploying models into production. It includes setting up APIs or microservices to serve the model, managing model versions, and ensuring the deployment pipeline is automated and robust. How the model is deployed into production is a major consideration for eMLOps.
- Monitoring and Maintenance Layer:
- Post-deployment, this layer ensures that the models perform as expected. It involves monitoring model performance, detecting data drift, and managing model retraining or updates. This layer also covers logging, alerting, and maintaining infrastructure. And, monitoring and maintenance should cover the entire production pipeline from end-to-end.
- Automation and CI/CD Layer:
- This layer focuses on the automation of the entire MLOps lifecycle. It includes continuous integration/continuous delivery (CI/CD) pipelines, automated testing, and infrastructure as code (IaC). This layer helps in making the MLOps process repeatable, scalable, and reliable. Yes, DevOps is important to eMLOps; but eMLOps is not DevOps for machine learning.
- Governance and Compliance Layer:
- This layer ensures that the eMLOps process adheres to organizational policies, ethical standards, and regulatory requirements. It includes model explainability, fairness, auditability, and compliance with data protection laws. eMLOps should include data governance and compliance throughout the pipeline.
Other layers could easily be included in this list: Security Layer, Infrastructure Layer, Collaboration Layer, Feedback Layer, Analytics (BI) Layer. The relative importance of each layer can only be defined and described by the particular enterprise application and benefits.
Each of these layers represents a crucial aspect of eMLOps; and, together, they ensure that machine learning models can be developed, deployed, and maintained effectively in enterprise production environments. By focusing on each layer – those listed and others as required by each project – eMLOps can be a valuable solution to enhance the benefits derived from machine learning models.
So remember, eMLOps has layers. And an eMLOps solution will integrate those layers using the people, processes, and platforms necessary to derive the maximum benefit for the enterprise.