Book Image

Applied Machine Learning and High-Performance Computing on AWS

By : Mani Khanuja, Farooq Sabir, Shreyas Subramanian, Trenton Potgieter
Book Image

Applied Machine Learning and High-Performance Computing on AWS

By: Mani Khanuja, Farooq Sabir, Shreyas Subramanian, Trenton Potgieter

Overview of this book

Machine learning (ML) and high-performance computing (HPC) on AWS run compute-intensive workloads across industries and emerging applications. Its use cases can be linked to various verticals, such as computational fluid dynamics (CFD), genomics, and autonomous vehicles. This book provides end-to-end guidance, starting with HPC concepts for storage and networking. It then progresses to working examples on how to process large datasets using SageMaker Studio and EMR. Next, you’ll learn how to build, train, and deploy large models using distributed training. Later chapters also guide you through deploying models to edge devices using SageMaker and IoT Greengrass, and performance optimization of ML models, for low latency use cases. By the end of this book, you’ll be able to build, train, and deploy your own large-scale ML application, using HPC on AWS, following industry best practices and addressing the key pain points encountered in the application life cycle.
Table of Contents (20 chapters)
1
Part 1: Introducing High-Performance Computing
6
Part 2: Applied Modeling
13
Part 3: Driving Innovation Across Industries

What this book covers

Chapter 1, High-Performance Computing Fundamentals, introduces the concepts of HPC, highlighting the importance of HPC as it relates to real-world scenarios. We then talk about technological advancements in HPC and how you can use it to solve complex business problems with unlimited capacity, the most advanced computing capabilities, and the elasticity of the cloud, while still optimizing cost, to innovate faster and gain a competitive business advantage.

Chapter 2, Data Management and Transfer, dives into data management and transfer. The first step to running HPC applications on the cloud is to move the required data to the cloud. Therefore, this chapter focuses on different aspects of data migration, including challenges and key pain points businesses might face, and how AWS data migration services can help resolve them, following the best practices and still maintaining data integrity, consistency and security.

Chapter 3, Compute and Networking, explains how once you have the data in the cloud, you need to understand the compute options provided by AWS as well as their differences, in order to optimally select the right option based on your business requirements. Furthermore, to scale and secure your HPC applications, we then dive into the Networking section, to explain the concepts of private VPC, low latency networking, and optimizing the performance of inter-instance communications.

Chapter 4, Data Storage, explains that before you can begin performing ML using HPC, it’s important to understand the storage options and storage costs for both the transient and permanent storage requirements. This chapter dives deep into the various storage services in the AWS ecosystem, to help you select the right tool for the right job.

Chapter 5, Data Analysis, teaches you how to explore the data, collect metrics, perform data correlation, and process large amounts of data using AWS to ensure data quality before using it for training ML models.

Chapter 6, Distributed Training of Machine Learning Models, shows you how to implement a large ML model using vast amounts of data by leveraging distributed data parallel and model parallel concepts.

Chapter 7, Deploying Machine Learning Models at Scale, discusses model deployment and inference. We will start with what managed deployment means on AWS, then go on to discuss the right deployment options, followed by various inference options (batch, asynchronous, and real-time). We will then discuss the reliability and availability of model endpoints on AWS infrastructure and the blue/green deployment option for different versions of the model.

Chapter 8, Optimizing and Managing Machine Learning Models for Edge Deployment, explores ML models on edge devices. We will start with an introduction to edge computing, followed by factors we need to consider for the optimization of machine learning models. You will also learn about architecture design for edge deployment.

Chapter 9, Performance Optimization for Real-Time Inference, discusses some of the key performance metrics used for ML models, techniques to reduce the memory footprint of large models, choosing the right machine (instance type) to deploy the model, load testing, and performance tuning of models.

Chapter 10, Data Visualization, covers Amazon SageMaker Data Wrangler, a tool that enables users working in the domains of data science, ML, and analytics to build insightful data visualizations without writing much code. In addition, we will also briefly touch upon the topic of AWS’s graphics-optimized instances, since these instances can be used to create animated live data visualizations along with other high-performance computing applications such as game streaming, and ML.

Chapter 11, Computational Fluid Dynamics, introduces the field of computational fluid dynamics (CFD), which uses numerical analysis to solve fluid flow problems. CFD has far-reaching applications in many industries such as the automotive industry, oil and gas, and manufacturing. We will discuss how CFD solvers can be used on AWS for massive-scale problems, and how recent advances in ML help with accelerating CFD applications.

Chapter 12, Genomics, introduces the field of genomics, and how AWS can help customers with large-scale genomics applications that typically use large datasets. We also discuss typical architectures for storing and analyzing such data, along with how ML is currently being applied to genomics, followed by an example of protein structure analysis.

Chapter 13, Autonomous Vehicles, discusses autonomous vehicles (AVs) and the technology used to safely and efficiently operate a vehicle at various levels of automation. Today, companies use petabytes of data from sensors and cameras on large-scale clusters to perform deep neural network (DNN) training. Specifically, we discuss services that support AV development, architectures for large-scale data processing, and the use of DNNs for training AV models.

Chapter 14, Numerical Optimization, introduces you to what numerical optimization is, and why it is important to solve large-scale problems that we might encounter in this space. We will touch upon some common use cases in this domain and the HPC available to solve these use cases. We will also discuss the application of ML to numerical optimization.