Book Image

Learn Amazon SageMaker

By : Julien Simon
Book Image

Learn Amazon SageMaker

By: Julien Simon

Overview of this book

Amazon SageMaker enables you to quickly build, train, and deploy machine learning (ML) models at scale, without managing any infrastructure. It helps you focus on the ML problem at hand and deploy high-quality models by removing the heavy lifting typically involved in each step of the ML process. This book is a comprehensive guide for data scientists and ML developers who want to learn the ins and outs of Amazon SageMaker. You’ll understand how to use various modules of SageMaker as a single toolset to solve the challenges faced in ML. As you progress, you’ll cover features such as AutoML, built-in algorithms and frameworks, and the option for writing your own code and algorithms to build ML models. Later, the book will show you how to integrate Amazon SageMaker with popular deep learning libraries such as TensorFlow and PyTorch to increase the capabilities of existing models. You’ll also learn to get the models to production faster with minimum effort and at a lower cost. Finally, you’ll explore how to use Amazon SageMaker Debugger to analyze, detect, and highlight problems to understand the current model state and improve model accuracy. By the end of this Amazon book, you’ll be able to use Amazon SageMaker on the full spectrum of ML workflows, from experimentation, training, and monitoring to scaling, deployment, and automation.
Table of Contents (19 chapters)
1
Section 1: Introduction to Amazon SageMaker
4
Section 2: Building and Training Models
11
Section 3: Diving Deeper on Training
14
Section 4: Managing Models in Production

Autoscaling an endpoint

Autoscaling has long been the most important technique in adjusting infrastructure size to incoming traffic, and it's available for SageMaker endpoints. However, it's based on Application Autoscaling, and not on EC2 Autoscaling (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html), although the concepts are extremely similar.

Let's set up autoscaling for the XGBoost model we trained on the Boston Housing dataset:

  1. We first create an Endpoint Configuration, and we use it to build the endpoint. Here, we use the m5 instance family: t2 and t3 are not recommended for autoscaling as their burstable behavior makes it harder to measure their real load:
    model_name = 'sagemaker-xgboost-2020-06-09-08-33-24-782'endpoint_config_name = 'xgboost-one-model-epc'endpoint_name = 'xgboost-one-model-ep'
    production_variants = [{    'VariantName': &apos...