▶What You Will Learn
- Setup your Azure ML workspace for data experimentation and visualization
- Perform ETL, data preparation, and feature extraction using Azure best practices
- Implement advanced feature extraction using NLP and word embeddings
- Train gradient boosted tree-ensembles, recommendation engines and deep neural networks on Azure ML
- Use hyperparameter tuning and AutoML to optimize your ML models
- Employ distributed ML on GPU clusters using Horovod in Azure ML
- Deploy, operate and manage your ML models at scale
- Automated your end-to-end ML process as CI/CD pipelines for MLOps
▶Key Features
- Make sense of data on the cloud by implementing advanced analytics
- Train and optimize advanced deep learning models efficiently on Spark using Azure Databricks
- Deploy machine learning models for batch and real-time scoring with Azure Kubernetes Service (AKS)
▶Who This Book Is For
This machine learning book is for data professionals, data analysts, data engineers, data scientists, or machine learning developers who want to master scalable cloud-based machine learning architectures in Azure. This book will help you use advanced Azure services to build intelligent machine learning applications. A basic understanding of Python and working knowledge of machine learning are mandatory.
▶What this book covers
- Chapter 1, Building an End-to-End Machine Learning Pipeline in Azure, covers all the required components for running a custom end-to-end ML pipeline in Azure. Some sections might be a recap of your existing knowledge with useful practical tips, step-by-step guidelines, and pointers to Azure services to perform ML at scale. You can see it as an overview of the book, after which we will dive into every section in great detail with many practical examples and code throughout the remaining chapters of the book.
- Chapter 2, Choosing a Machine Learning Service in Azure, helps us to find out how to best navigate to all available ML services in Azure and how to select the right one for your goal. Finally, we will explain why Azure ML is the best choice for building custom ML models. This is the service that we will use throughout the book to implement an end-to-end ML pipeline.
- Chapter 3, Data Experimentation and Visualization Using Azure, takes a look at how to implement data experimentation and perform data visualizations with Azure ML. First, you will learn how to prepare and interact with your ML workspace. Once set up, you will be able to perform and track experiments in Azure, as well as trained models, plots, metrics, and snapshots of your code. This can all be done from your authoring Python environment, for example, Jupyter using Azure ML's Compute Instance or any Python interpreter running in PyCharm, VS Code, and so on. You will see many popular embeddings and visualization techniques including PCA, LDA, t-SNE, and UMAP in action.
- Chapter 4, ETL, Data Preparation, and Feature Extraction, explores data preparation and Extract, Transform, and Load (ETL) techniques within the Azure ML using Azure DataPrep. We will start by looking behind the scenes of datasets and data stores, the abstraction for physical data storage systems. Then, you will use Azure DataPrep to implement many popular preprocessing and feature engineering techniques such as imputing missing values, transformations, data type conversions, and many more. This will help you to implement a scalable ETL pipeline using Azure ML.
- Chapter 5, Advanced Feature Extraction with NLP, takes us one step further to extract features from textual and categorical data – a problem that users are faced often when training ML models. This chapter will describe the foundations of feature extraction with NLP. This will help the reader to create semantic embeddings from categorical and textual data using techniques including n-grams, Bag of Words, TF-IDF, Word2Vec, and more.
- Chapter 6, Building ML Models Using Azure Machine Learning, teaches you how to use ensembling techniques to build a traditional ML model in Azure. This chapter focuses on decision tree-based ensemble learning with popular state-of-the-art boosting and bagging techniques through the use of LightGBM in Azure ML. This will help you to apply concepts of bragging and boosting on ML models.
- Chapter 7, Training Deep Neural Networks on Azure, covers training more complex parametric models using deep learning for better generalization over large data. First, we will give a short and practical overview of when and why deep learning works well and its differences with traditional ML approaches. We will focus more on understanding rational, practical principles rather than a theoretical approach. Then we will train a Convolutional Neural Network (CNN) on Azure ML using Keras.
- Chapter 8, Hyperparameter Tuning and Automated Machine Learning, looks at optimizing the training process in order to take away some of the error-prone human choices from ML. These tuning tricks will help you to train better models, faster and more efficiently. First, we will look at hyperparameter tuning (also called HyperDrive in Azure ML), a standard technique for optimizing all parameter choices in an ML process. By evaluating different sampling techniques for hyperparameter tuning such as random sampling, grid sampling, and Bayesian optimization, you will learn how to efficiently manage the trade-offs between runtime and model performance. In the second half of this chapter, we will generalize from hyperparameter optimization to automating the complete end-to-end ML training process using Automated ML, which is often referred to as AutoML. Using AutoML, we can straightforwardly optimize preprocessing, feature engineering, model selection, hyperparameter tuning, and model stacking all together in one simple abstract pipeline.
- Chapter 9, Distributed Machine Learning on Azure ML Clusters, takes a look into distributed and parallel computing algorithms and frameworks for efficiently training ML models in parallel on GPUs. The goal of this chapter is to build an environment in Azure where you can speed up the training process of classical ML and deep learning models by adding more machines to your training environment and hence scaling out the cluster.
- Chapter 10, Building a Recommendation Engine in Azure, dives into traditional and modern recommendation engines that often combine the technologies and techniques covered in the previous chapters. We will take a quick look at the different types of recommendation engines, what data is needed for each type, and what can be recommended using these different approaches, such as content-based recommendations and rating-based recommendation engines. We will combine both techniques into a single hybrid recommender and learn about state-of-the-art techniques for modern recommendation engines. You will implement two hybrid recommenders using Azure ML, one using Python and one using Azure ML Designer—the GUI of Azure ML.
- Chapter 11, Deploying and Operating Machine Learning Models, tackles the next step after training a recommender engine or any of the previously trained ML models: we are going to package the model and execution runtime, register both in a model registry, and deploy them to an execution environment. We will auto-deploy models from Azure ML to Azure Kubernetes Service with only a few lines of code. You will also learn about monitoring your target environments using out-of-the-box custom metrics.
- Chapter 12, MLOps – DevOps for Machine Learning, considers how we've put emphasis throughout the book on the possibility of scripting every step of the ML training and deployment process, either through bash, Powershell, the Python SDK, or any other library wrapping the Azure ML REST service. This is true for creating environments, starting and scaling clusters, submitting experiments, performing parameter optimization, and deploying full-fledged scoring services on Kubernetes. In this chapter, we will reuse all these concepts to build a version-controlled, reproducible, automated ML training, and deployment process as a Continuous Integration/Continuous Deployment (CI/CD) pipeline in Azure.
- Chapter 13, What's Next?, concludes all previous chapters and provides a rough outlook for the future. This chapter also provides ideas on how to continue working with ML in Azure, and which trends and references to watch in the future.