In an earlier article, What is MLOps? we shared background on MLOps and how it helps streamline the machine learning (ML) lifecycle. Today, we’re continuing that discussion with a deeper dive into the ML lifecycle and machine learning models, concluding with how you might bring all these elements together in a real-world implementation with AWS.
Lifecycle of an ML model
When beginning work with ML models, it’s important to develop with business objectives in mind. After all, the goal of ML models is to help the business unearth new ways of working – whether that’s retrieving better quality information that helps reduce costs or mining more value from existing data to find new revenue opportunities. Regardless of your use case, we recommend the following questions to help synchronize your ML model with the business:
- What are the business objectives?
- What is the problem we’re trying to solve?
- What questions do we need to answer?
- What we are trying to predict or classify?
Data selection & sourcing
As machine learning is about developing a model based on data, there is a need to drill down a layer further and understand the following components to create an effective data selection and sourcing strategy. Specifically, we recommend asking:
- What datasets and features do we need to develop the model?
- Do we have the data?
- If not, where can the data be sourced?
- Is the data accurate?
- Does the data need cleansing?
Once we have a data set, the right features should be identified for the model to be effective. NeptuneBlog says it well, “Feature Engineering is the art of creating features from raw data, so that predictive models can deeply understand the dataset and perform well on unseen data. Feature engineering is not a generic method that you can apply on all datasets in the same way. Different datasets require different approaches.”
Model training and testing
Your ML models should be trained against a range of attribute weights using a training data set. Doing so should help you identify the correct weighting that produces the lowest error rate for the training data set. In addition to training, a part of the data set should be used to test various metrics, evaluating the efficacy of the model.
Once your ML model is production ready, it can be deployed as a service or packaged into an application.
Monitoring and releases
The production deployment should be monitored like any other production application. As new data becomes available, expect the model to change, with those new versions trained, tested and released to production.
Bringing the lifecycle together, we can see how MLOps borrows from DevOps to release ML models to production faster by streamlining the process of building, training, deploying and monitoring ML models with automation.
Key MLOps components
Yet, to operationalize requires several elements to come together. Enterprises need people, skills and software aligned to the following key infrastructure components.
The implementation of MLOps requires a variety of software tooling across the MLOps phases we’ve discussed here. While all the major cloud service providers have the tools to implement MLOps, we use AWS services here to illustrate how these various MLOps components and their functionality can effectively come together.
Implementing these MLOps processes and tools helps to create a repeatable, automated process for development and deployment of ML models. In addition to helping streamline the process of bringing ML models to production, MLOps can help reduce the cost and time of bringing new ML projects to market. This allows organizations, in turn, to spend more time on developing and improving models than on manual tasks in the development lifecycle. Cloud provides an excellent toolbox that helps in achieving the automation that is required across all ML development lifecycle phases from build and train, to evaluate, deploy and monitor.
Would you like help getting started with MLOps? Reach out to our team today or learn more here.
Post Date: 08/11/2021