Technology Fridays: Azure ML Model Management Brings DevOps to the Machine Learning World
Welcome to Technology Fridays! A few days ago, I wrote about the release of three new additions to the Azure Machine Learning(ML) stack that improve the lifecycle management of machine learning solutions. Today, I would like to deep dive into one of those recent releases Azure ML Model Management.
In recent years, we’ve seen an explosion on the number of machine learning and deep learning frameworks and platforms that enable the implementation of machine intelligence solutions. However, the tools for training, management and operating machine learning applications at scale have no evolved at the same pace. Not surprisingly, most organizations rely heavily on human-centric processes when comes to deploying and executing mission-critical machine learning workloads.
Azure ML Model Management is a platform that enables the automation and lifecycle management of machine learning workflows. The platform brings a set of much-needed devops capabilities to the Azure eML ecosystem.
Deployment is, arguably, the area in which Azure ML Model Management innovates the most. Moving away from the traditional proprietary runtime approach adopted by most cloud ML platforms, Azure ML Model Management enables the generation of Docker containers that encapsulate ML models and its dependencies. Those containers can be run locally or deployed to Docker runtimes such as the Azure Container Service. Using Azure ML Model Management, devops can leverage the emerging Kubernetes tool ecosystem to create highly sophisticated deployment workflows for machine learning programs. Additionally, containers generated using Azure ML Model Management include all necessary dependencies so that they can also be deployed to other Docker-Kubernetes cloud runtimes such as AWS or Google Cloud Container Services.
Model instrumentation and tracking are two other key capabilities of the Azure ML Model Management platform. Devops can configure automated logging and telemetry settings that can be used not only to evaluate the runtime behavior of ML algorithms but also to improve its future training. The telemetry information collected its streamed to the Azure Application Insights service and archived for future usage.
API generation is another area of innovation of Azure ML Model Management and one that builds upon the capabilities of the Azure ML service. Azure ML Model Management allows the generation of APIs for deployed ML models. Those APIs can then be used from third party applications using the SDKs available in languages such as Python, Java or C# as well as from the Azure ML CLI.
Speaking of the CLI, this is the main command-line scripting interface to automate operations on ML models. Some of those capabilities are also available through the Azure ML Model Management API which is also the main endpoint used to retrain models. From that perspective, devops can author scripts that retrain deployed models using the platform’s REST API.
Azure ML Model Management provides seamless interoperability with other Azure services which enables the implementation of highly sophisticated model automation workflows. The platform represents a strong differentiator with Azure ML top competitors such as AWS ML or Google Cloud ML.
Azure ML Model Management can be considered a unique offering in the cloud ML platform space. Startups such as Bitfusion or Floyd provide comparable capabilities. We should also expect platforms such as AWS ML, Google Cloud ML or Alibaba ML service to release similar capabilities in the near future.