Deploying Scalable Machine Learning for Data Science
1h 43mIntermediate2018-08-17
Authors

Dan Sullivan
Enterprise Architect, Big Data Expert
Course details
Machine learning models often run in complex production environments that can adapt to the ebb and flow of big data. The tools and practices that help data scientists rapidly build machine learning models are not sufficient to deploy those models at scale. To deliver scalable solutions, you need a whole new toolset. This course provides data scientists and DevOps engineers with an overview of common design patterns for scalable machine learning architectures, as well as tools for deploying and maintaining machine learning models in production. Instructor Dan Sullivan reviews three technologies that enable scalable machine learning: services that expose models through APIs, containers for deploying models, and orchestration tools like Kubernetes that help manage containers and clusters. Plus, get tips for monitoring the performance of your services in production environments.
Learning objectives
Defining scalability
Tools and techniques for scalable machine learning
Architecture design patterns for scalable systems
Machine learning models as services
Containerizing models
Kubernetes for container orchestration
Monitoring performance
Best practices for scaling machine learning models
Learning objectives
Defining scalability
Tools and techniques for scalable machine learning
Architecture design patterns for scalable systems
Machine learning models as services
Containerizing models
Kubernetes for container orchestration
Monitoring performance
Best practices for scaling machine learning models
Skills covered
DockerKubernetesData Science FoundationsMachine LearningPersonaArtificial Intelligence (AI)Data ScienceOpen Source
Concepts
0. Introduction
- 01 - Scaling ML models
- 02 - What you should know
1. The Need to Scale ML Models
- 03 - Building and running ML models for data scientists
- 04 - Building and deploying ML models for production use
- 05 - Definition of scaling ML for production
- 06 - Overview of tools and techniques for scalable ML
2. Design Patterns for Scalable ML Applications
- 07 - Horizontal vs. vertical scaling
- 08 - Running models as services
- 09 - APIs for ML model services
- 10 - Load balancing and clusters of servers
- 11 - Scaling horizontally with containers
3. Deploying ML Models as Services
- 12 - Services encapsulate ML models
- 13 - Using Plumber to create APIs for R programs
- 14 - Using Flask to create APIs for Python programs
- 15 - Best practices for API design for ML services
4. Running ML Services in Containers
- 16 - Containers bundle ML model components
- 17 - Introduction to Docker
- 18 - Building Docker images with Dockerfiles
- 19 - Example Docker build process
- 20 - Using Docker registries to manage images
5. Scaling ML Services with Kubernetes
- 21 - Running services in clusters
- 22 - Introduction to Kubernetes
- 23 - Creating a Kubernetes cluster
- 24 - Deploying containers in a Kubernetes cluster
- 25 - Scaling up a Kubernetes cluster
- 26 - Autoscaling a Kubernetes cluster
6. ML Services in Production
- 27 - Monitoring service performance
- 28 - Service performance data
- 29 - Docker container monitoring
- 30 - Kubernetes monitoring
Conclusion
- 31 - Best practices for scaling ML
- 32 - Next steps