liveBook · Manning

What you will learn in Distributed Machine Learning Patterns

by Yuan Tang

Chapter by chapter

Chapter 1: Introduction to distributed machine learning systems

1.1 Large-scale machine learning · 1.1.1 The growing scale · 1.1.2 What can we do? · 1.2 Distributed systems · 1.2.1 What is a distributed system? · 1.2.2 The complexity and patterns · 1.3 Distributed machine learning systems · 1.3.1 What is a distributed machine learning system? · 1.3.2 Are there similar patterns? · 1.3.3 When should we use a distributed machine learning system? · 1.3.4 When should we not use a distributed machine learning system? · 1.4 What we will learn in this book · 1.5 Summary

What you learn in chapter 1 →

Chapter 2: Data ingestion patterns

2.1 What is data ingestion? · 2.2 The Fashion-MNIST dataset · 2.3 Batching pattern · 2.3.1 The problem: Performing expensive operations for Fashion MNIST dataset with limited memory · 2.3.2 The solution · 2.3.3 Discussion · 2.3.4 Exercises · 2.4 Sharding pattern: Splitting extremely large datasets among multiple machines · 2.4.1 The problem · 2.4.2 The solution · 2.4.3 Discussion · 2.4.4 Exercises · 2.5 Caching pattern · 2.5.1 The problem: Re-accessing previously used data for efficient multi-epoch model training · 2.5.2 The solution · 2.5.3 Discussion · 2.5.4 Exercises · 2.7 Section 2.3.4 · 2.8 Section 2.4.4 · 2.9 Section 2.5.4 · 2.10 Summary

What you learn in chapter 2 →

Chapter 3: Distributed training patterns

3.1 What is distributed training? · 3.2 Parameter server pattern: Tagging entities in 8 million YouTube videos · 3.2.1 The problem · 3.2.2 The solution · 3.2.3 Discussion · 3.2.4 Exercises · 3.3 Collective communication pattern · 3.3.1 The problem: Improving performance when parameter servers become a bottleneck · 3.3.2 The solution · 3.3.3 Discussion · 3.3.4 Exercises · 3.4 Elasticity and fault-tolerance pattern · 3.4.1 The problem: Handling unexpected failures when training with limited computational resources · 3.4.2 The solution · 3.4.3 Discussion · 3.4.4 Exercises · 3.6 Section 3.2.4 · 3.7 Section 3.3.4 · 3.8 Section 3.4.4 · 3.9 Summary

What you learn in chapter 3 →

Chapter 4: Model serving patterns

4.1 What is model serving? · 4.2 Replicated services pattern: Handling the growing number of serving requests · 4.2.1 The problem · 4.2.2 The solution · 4.2.3 Discussion · 4.2.4 Exercises · 4.3 Sharded services pattern · 4.3.1 The problem: Processing large model serving requests with high-resolution videos · 4.3.2 The solution · 4.3.3 Discussion · 4.3.4 Exercises · 4.4 The event-driven processing pattern · 4.4.1 The problem: Responding to model serving requests based on events · 4.4.2 The solution · 4.4.3 Discussion · 4.4.4 Exercises · 4.6 Section 4.2 · 4.7 Section 4.3 · 4.8 Section 4.4 · 4.9 Summary

What you learn in chapter 4 →

Chapter 5: Workflow patterns

5.1 What is workflow? · 5.2 Fan-in and fan-out patterns: Composing complex machine learning workflows · 5.2.1 The problem · 5.2.2 The solution · 5.2.3 Discussion · 5.2.4 Exercises · 5.3 Synchronous and asynchronous patterns: Accelerating workflows with concurrency · 5.3.1 The problem · 5.3.2 The solution · 5.3.3 Discussion · 5.3.4 Exercises · 5.4 Step memoization pattern: Skipping redundant workloads via memoized steps · 5.4.1 The problem · 5.4.2 The solution · 5.4.3 Discussion · 5.4.4 Exercises · 5.6 Section 5.2 · 5.7 Section 5.3 · 5.8 Section 5.4 · 5.9 Summary

What you learn in chapter 5 →

Chapter 6: Operation patterns

6.1 What are operations in machine learning systems? · 6.2 Scheduling patterns: Assigning resources effectively in a shared cluster · 6.2.1 The problem · 6.2.2 The solution · 6.2.3 Discussion · 6.2.4 Exercises · 6.3 Metadata pattern: Handle failures appropriately to minimize the negative effect on users · 6.3.1 The problem · 6.3.2 The solution · 6.3.3 Discussion · 6.3.4 Exercises · 6.5 Section 6.2 · 6.6 Section 6.3 · 6.7 Summary

What you learn in chapter 6 →

Chapter 7: Project overview and system architecture

7.1 Project overview · 7.1.1 Project background · 7.1.2 System components · 7.2 Data ingestion · 7.2.1 The problem · 7.2.2 The solution · 7.2.3 Exercises · 7.3 Model training · 7.3.1 The problem · 7.3.2 The solution · 7.3.3 Exercises · 7.4 Model serving · 7.4.1 The problem · 7.4.2 The solution · 7.4.3 Exercises · 7.5 End-to-end workflow · 7.5.1 The problems · 7.5.2 The solutions · 7.5.3 Exercises · 7.7 Section 7.2 · 7.8 Section 7.3 · 7.9 Section 7.4 · 7.10 Section 7.5 · 7.11 Summary

What you learn in chapter 7 →

Chapter 8: Overview of relevant technologies

8.1 TensorFlow: The machine learning framework · 8.1.1 The basics · 8.1.2 Exercises · 8.2 Kubernetes: The distributed container orchestration system · 8.2.1 The basics · 8.2.2 Exercises · 8.3 Kubeflow: Machine learning workloads on Kubernetes · 8.3.1 The basics · 8.3.2 Exercises · 8.4 Argo Workflows: Container-native workflow engine · 8.4.1 The basics · 8.4.2 Exercises · 8.6 Section 8.1 · 8.7 Section 8.2 · 8.8 Section 8.3 · 8.9 Section 8.4 · 8.10 Summary

What you learn in chapter 8 →

Chapter 9: A complete implementation

9.1 Data ingestion · 9.1.1 Single-node data pipeline · 9.1.2 Distributed data pipeline · 9.2 Model training · 9.2.1 Model definition and single-node training · 9.2.2 Distributed model training · 9.2.3 Model selection · 9.3 Model serving · 9.3.1 Single-server model inference · 9.3.2 Replicated model servers · 9.4 The end-to-end workflow · 9.4.1 Sequential steps · 9.4.2 Step memoization · 9.5 Summary

What you learn in chapter 9 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.