BY BEN PRESCOTT, AHEAD - This article originally appeared on AHEAD's i/o blog
Recall the year 2013. The world has just topped four zettabytes of generated data (equal to four trillion gigabytes). The term “big data” is taking hold, creeping into every corner of the tech and business worlds.
From that point on, data volumes have grown exponentially. It’s estimated that the world produced more than 44 zettabytes of data by the end of 2020 (growing by a factor of 11 in just seven years). We’re now generating more data than we can effectively manage—and it’s a big problem.
Today’s organizations are searching for ways to harness, manage, and analyze these huge influxes of information. Many are turning to machine learning (ML) and deep learning (DL) models to analyze data and predict what could happen next. In fact, organizations across every industry use ML and DL today in various capacities.
Healthcare innovates pathology detection by leveraging neural networks and tracking patient patterns to predict their length of stay. The pharmaceutical industry uses ML and DL to identify causal factors of diseases for drug development and predict patient response to drug combinations. Manufacturing organizations identify product defects, predict machine malfunctions before they even happen to provide proactive maintenance, and use generative design methods to determine the best structural design for a product (such as a car frame). From a general business perspective, many organizations leverage ML to aid in forecasting business revenue, schedule resources for projects, and drive sales and marketing efficiency.
But building and training effective machine learning models is no easy task. Add the maintenance (operations) component and achieving true machine learning operations (MLOps) is difficult for most organizations.
That’s why a platform like Azure Machine Learning can be beneficial. Azure ML is a hosted service that enables and enhances an organization’s MLOps capabilities through four key benefits:
1. Graphical interface
2. Out-of-the-box machine learning models
3. Single pane of glass view
4. Direct integration with Git and Azure DevOps
Before we dive into the ins and outs of Azure MLOps, let’s define MLOps.
What is MLOps?
MLOps blends DevOps methodologies and processes with the ML development process. There’s a lot that goes into the process of developing ML models, from collecting and cleaning data, to model training, validation, and deployment. But, while the goal is to deploy a model into production, monitoring and maintaining that model are just as, if not more, critical.
Within the DevOps umbrella are concepts known as Continuous Integration and Continuous Delivery (CI/CD), a way to shorten development and deployment cycles while maintaining quality code. While DevOps plays a critical role in core application development, MLOps puts a twist on CI/CD. Within MLOps, CI validates data quality and structure, and CD broadens focus to the full ML solution.
MLOps also introduces a new concept—pushing the deployed ML model back through the training and validation process, often referred to as Continuous Training (CI/CD/CT). This is a way of ensuring the model doesn’t become stale, having only “seen” aging data. It also continually evaluates and improves a model’s ability to predict. After all, the last thing you want is to make business decisions from a model that provides poor predictions or recommendations.
MLOps with Azure Machine Learning
One of the biggest struggles of adopting MLOps is piecing together the services needed to support the full data lifecycle. Data scientists and machine learning engineers are traditionally really good at building robust models, but the process of deployment and monitoring is usually done manually, or not at all.
Once a model is in production and consuming new data, how is it monitored and retrained? The retraining process quickly becomes manual—going back through the same steps performed during development before pushing the retrained model back into production. As soon as it’s back in production, it’s out-of-date again. As with any iterative process, this becomes time-consuming, expensive, and frustrating.
Azure ML supports MLOps by giving teams a platform to manage models and integrate model usage, output, and insights across the organization. It does this through the areas we mentioned earlier—a graphical interface, out-of-the-box algorithms, single pane of glass approach, and integration capabilities.
Azure ML provides both a graphical web interface (Azure ML Studio) as well as SDKs that (at the time of writing) support Python, R, and Azure CLI. This is important because some organizations prefer to work in their existing environments while leveraging the features and capabilities of Azure ML.
Azure ML comes with many pre-built algorithms to help you get started quickly, including those for regression, text analysis, recommendation services, and computer vision. In addition, Azure ML Studio boasts “Automated ML,” a no-code solution to automatically find, train, and tune the best model for your data.
Single Pane of Glass
Azure ML takes a single pane of glass approach that provides capabilities in all areas of the MLOps lifecycle, while integrating with common DevOps services. Each capability within Azure ML can operate as an independent feature to help gradually grow MLOps maturity. Whether it’s data scientists making use of the notebooks and experimentation, infrastructure engineers managing the CPU or GPU-backed compute infrastructure, or security teams leveraging Azure ML’s model change tracking logs, everyone has a role to play in embracing an MLOps methodology. Azure ML helps make this transition easier by providing ready-to-be-consumed services.
Integration with Git and Azure DevOps
Integrating Azure ML with Git and Azure DevOps offers many automation opportunities that are otherwise not accessible:
- Enables the use of Azure DevOps Pipelines to automate the data ingestion process and perform data checks
- Provides the ability to automate the Continuous Training and Continuous Deployment aspects of the MLOps lifecycle, removing the need to manually retrain models as performance degrades
- Automates scaling of compute resources for model training, both up and out, and provides a one-stop-shop for managing backend compute needs
- Automates deployment of trained/retrained models to internal- and external-facing services on Azure Kubernetes Services, Azure App Services, Azure Container Instances, or Azure Virtual Machines, and removes the need to manually deploy new or retrained models
At the end of the day, it’s better to back your MLOps with tools that will get you there better and faster, and that’s just what the Azure ML platform does.
To learn more about how Azure ML can help your organization leverage machine learning, reach out to our team.