Hidden Technical Debt
From DevOps to MLOps
DevOps was widely adopted in the past decade for developing, testing, deploying, and operating large-scale conventional software systems. With DevOps, development cycles became shorter, deployment speed increased, and system releases became auditable and dependable.
Moreover, with the advances made in the past few years in ML and AI, Machine Learning (ML) has revolutionized the world of computers by allowing them to learn as they progress forward with large datasets. Thus, mitigating many previous programming pitfalls and creating new possibilities/use-cases that conventional programming cannot resolve. Unfortunately, applying DevOps principles directly to Machine learning development is not possible. Because unlike DevOps where the final product is solely dependent on code.
ML development is code and data dependent. Moreover, ML models’ development is experimental in nature and has more components that are significantly more complex to build and operate. It is worthy to note that the time spent writing ML code is Approx. 30% of the data scientists’ time, the rest is data analysis, feature engineering, experimenting with different hyperparameters, utilizing remote hardware to run multiple experiments in parallel, experiment tracking, model serving, and many more.
What is MLOps?
That brings us to MLOps. It was founded at the intersection of DevOps and Machine Learning. Therefore, MLOps is modeled after DevOps. However, it adds data scientists and machine learning engineers to the team. Machine learning operations intend to automate as much as possible, from data sourcing to model monitoring and model re-training.
MLOps abstracts the complex infrastructure (bare metal, virtualized cloud, container orchestration) with diverse hardware (CPU, GPU, TPU) and diverse environment needs – libs, frameworks and provides a set of interoperable tools that accelerates ML Model development in all its phases.
A brief intro into the key phases of MLOps
PHASE 1: DATA GATHERING AND ANALYSIS
Data analysis is about performing exploratory data analysis to understand the available data for building the ML model.
This process leads to the following:
- Understanding the data schema and characteristics that are expected by the model.
- Identifying the data preparation and feature engineering that are needed for the model.
PHASE 2: DATA LABELING
PHASE 3: MODEL TRAINING, DEVELOPMENT, AND VALIDATION
PHASE 4: MODEL SERVING
How the models are deployed into production is what separates an academic ML development from an investment in ML that is value-generating for the business. At scale, this becomes painfully complex. Therefore, an MLOps platform offers a way to serve/deploy ML models so that they can reach the end user faster.
PHASE 5: MODEL MONITORING AND RE-TRAINING
Taking the next step with evoila and MLOps
If you would like to learn more about MLOps, please contact us. In a no-obligation conversation, we will be happy to determine with you how MLOps can improve your development.