Book Image

Mastering Azure Machine Learning

By : Christoph Körner, Kaijisse Waaijer
Book Image

Mastering Azure Machine Learning

By: Christoph Körner, Kaijisse Waaijer

Overview of this book

The increase being seen in data volume today requires distributed systems, powerful algorithms, and scalable cloud infrastructure to compute insights and train and deploy machine learning (ML) models. This book will help you improve your knowledge of building ML models using Azure and end-to-end ML pipelines on the cloud. The book starts with an overview of an end-to-end ML project and a guide on how to choose the right Azure service for different ML tasks. It then focuses on Azure Machine Learning and takes you through the process of data experimentation, data preparation, and feature engineering using Azure Machine Learning and Python. You'll learn advanced feature extraction techniques using natural language processing (NLP), classical ML techniques, and the secrets of both a great recommendation engine and a performant computer vision model using deep learning methods. You'll also explore how to train, optimize, and tune models using Azure Automated Machine Learning and HyperDrive, and perform distributed training on Azure. Then, you'll learn different deployment and monitoring techniques using Azure Kubernetes Services with Azure Machine Learning, along with the basics of MLOps—DevOps for ML to automate your ML process as CI/CD pipeline. By the end of this book, you'll have mastered Azure Machine Learning and be able to confidently design, build and operate scalable ML pipelines in Azure.
Table of Contents (20 chapters)
1
Section 1: Azure Machine Learning
4
Section 2: Experimentation and Data Preparation
9
Section 3: Training Machine Learning Models
15
Section 4: Optimization and Deployment of Machine Learning Models
19
Index

Controlled rollouts and A/B testing

Deployments of ML models can be considered similar to that of features and changes in application development. Consider a retrained and reoptimized model to be similar to a small UI change in the application when rolling a model out to your users. This might not be obvious at first, but put yourself into a user's shoes in a scenario where suddenly a recommendation algorithm changes from its previous behavior.

Rollouts should never be uncontrolled or based on personal feelings or preferences—they should be based solely on hard metrics. The best and most systematic way to roll out new features and updates to your users is to define a key metric, roll out your new model to one section of the users (group B) and serve the old model to the remaining section of the users (group A). Once the metrics for the users in group B exceed the metrics from group A over a defined period of time, you can confidently roll out the feature to all your...