Book Image

Accelerate Deep Learning Workloads with Amazon SageMaker

By : Vadim Dabravolski
Book Image

Accelerate Deep Learning Workloads with Amazon SageMaker

By: Vadim Dabravolski

Overview of this book

Over the past 10 years, deep learning has grown from being an academic research field to seeing wide-scale adoption across multiple industries. Deep learning models demonstrate excellent results on a wide range of practical tasks, underpinning emerging fields such as virtual assistants, autonomous driving, and robotics. In this book, you will learn about the practical aspects of designing, building, and optimizing deep learning workloads on Amazon SageMaker. The book also provides end-to-end implementation examples for popular deep-learning tasks, such as computer vision and natural language processing. You will begin by exploring key Amazon SageMaker capabilities in the context of deep learning. Then, you will explore in detail the theoretical and practical aspects of training and hosting your deep learning models on Amazon SageMaker. You will learn how to train and serve deep learning models using popular open-source frameworks and understand the hardware and software options available for you on Amazon SageMaker. The book also covers various optimizations technique to improve the performance and cost characteristics of your deep learning workloads. By the end of this book, you will be fluent in the software and hardware aspects of running deep learning workloads using Amazon SageMaker.
Table of Contents (16 chapters)
1
Part 1: Introduction to Deep Learning on Amazon SageMaker
6
Part 2: Building and Training Deep Learning Models
10
Part 3: Serving Deep Learning Models

Developing a BYO container for inference

In this section, we will learn how to build a SageMaker-compatible inference container using an official TensorFlow image, prepare an inference script and model server, and deploy it for inference on SageMaker Hosting.

Problem overview

We will develop a SageMaker-compatible container for inference. We will use the latest official TensorFlow container as a base image and use AWS MMS as a model server. Please note that MMS is one of many ML model serving options that can be used. SageMaker doesn’t have any restrictions on a model server other than that it should serve models on port 8080.

Developing the serving container

When deploying a serving container to the endpoint, SageMaker runs the following command:

docker run <YOUR BYO IMAGE> serve

To comply with this requirement, it’s recommended that you use the exec format of the ENTRYPOINT instruction in your Dockerfile.

Let’s review our BYO Dockerfile...