Deployment of Machine Learning Models
4.5 (1,580 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,986 students enrolled

Deployment of Machine Learning Models

Build Machine Learning Model APIs
4.5 (1,580 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,986 students enrolled
Last updated 5/2020
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 9 hours on-demand video
  • 30 articles
  • 67 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Deploy machine learning models into the cloud
  • Build machine learning model APIs
  • Send and receive requests from deployed machine learning models
  • Design testable, version controlled and reproducible production code for model deployment
  • Build reproducible machine learning pipelines
  • Understand the optimal machine learning architecture
  • Create continuous and automated integrations to deploy your models
  • Understand the different resources available to you to productionise your models
Course content
Expand all 145 lectures 09:13:32
+ Introduction
10 lectures 30:04
Course Pacing and Practice
04:45
Course Tips
04:09
Guidelines on how to approach the course
02:19
Installing Python in your computer
00:31
Slides covered in this course
00:04
Notes covered in this course
00:09
FAQ: Where can I learn more about the required skills?
00:30
+ Machine Learning Pipeline - Research Environment
15 lectures 01:19:08
Machine Learning Pipeline: Overview
07:12
Machine Learning Pipeline: Feature Engineering
08:01
Machine Learning Pipeline: Feature Selection
10:05
Machine Learning Pipeline: Model Building
03:01
Jupyter notebooks covered in this section
00:19
Note on library versions - DO NOT SKIP
00:12
Download the data set
00:30
Data Analysis - Demo
17:56
Feature Engineering - Demo
12:12
Feature Selection - Demo
03:52
Model Building - Demo
04:23
Getting Ready for Deployment - Demo
07:50
Bonus: Machine Learning Pipeline: Additional Resources
02:12
Randomness in Machine Learning - Setting the Seed
01:11
FAQ: Where can I learn more about the pipeline steps?
00:11
In this assignment, you are required to develop a machine learning pipeline to predict survival in the Titanic. Follow the steps in the notebook, to create and execute each one of the steps, including data analysis, feature engineering, model building and model evaluation.
Develop a Machine Learning Pipeline for Classification
1 question
+ Machine Learning System Architecture
8 lectures 29:51
Machine Learning System Architecture and Why it Matters
02:00
Specific Challenges of Machine Learning Systems
05:57
Machine Learning System Approaches
05:04
Machine Learning System Component Breakdown
05:56
Building a Reproducible Machine Learning Pipeline
10:29
Challenges to Reproducibility - OPTIONAL
00:04
Architecture to Minimise Reproducibility Challenges
00:04
Additional Reading Resources
00:16
+ Machine Learning Pipeline: Writing Production Code
19 lectures 01:40:28
Production Code: Overview
02:45
Procedural Programming Pipeline
11:41
Procedural Programing: House Prices Demo
10:13
Write scripts with pre-processing functions, followed by a training and scoring pipeline, to reproduce a research model to predict survival in the Titanic, which sits on a Jupyter notebook.
Assignment: Procedural Programming
1 question
Designing a Custom Pipeline
06:52
Designing a Custom Pipeline | Demo Files
02:09
Custom Pipeline | Processing steps
09:44
Custom Pipeline| Fit and Transform
06:15
Executing the Custom Pipeline
03:11
Leveraging a Third Party Pipeline: Scikit-Learn
08:35
Shallow Dive into Scikit-learn API
04:17
Note on library versions - DO NOT SKIP
00:13
Third Party Pipeline: Demo Files
01:59
Scikit-Learn compatible Transformers
12:37
Executing the Deployment Pipeline
06:43
Third Party Pipeline: Closing Remarks
01:57
Write Scikit-learn compatible transformers, fit them in a pipeline, and then train the pipeline and obtain its predictions. The code should reproduce a research model to predict survival in the Titanic, which sits on a Jupyter notebook.
Production Code - Third Party Pipeline
1 question
Bonus: Additional Resources on Scikit-Learn
00:10
BONUS: Open Source Libraries for Feature Engineering
04:58
BONUS: Should feature selection be part of the pipeline?
05:56
Bonus: Resources to Improve as a Python Developer
00:12
+ Course Setup and Key Tools
18 lectures 59:18
Section 5.1 - Introduction
01:55
Section 5.2 - Installing and Configuring Git
03:37
Section 5.3 - How to Use the Course Resources, Monorepos + Git Refresher
03:46
Our Github repository
00:25
Section5.3b - Opening Pull Requests
04:01
Section5.3c - Primer on Monorepos
01:53
Section 5.4a - Operating System Differences and Gotchas
01:33
Section 5.4b - System Path and Pythonpath Demo
02:38
Section 5.5a - Quick Word for More Advanced Students
00:42
Section5.5b - Virtualenv Introduction
08:21
Section5.5c - Requirements files Introduction
02:25
Section5.5d - Virtualenv refresher
02:37
Section 5.6 - Text Editors / IDEs
01:24
Section 5.7 - Engineering and Python Best Practices
05:09
Quick Note About the Next 2 Lectures
00:11
Section 5.8 - Introduction to Pytest
11:49
Section 5.9 - Introduction to Tox [DO NOT SKIP]
05:47
Section 5.10 - Wrap Up
01:04
+ Creating a Machine Learning Pipeline Application
11 lectures 48:47
6.1 - Introduction
02:21
6.1B - GOTCHA FOR STUDENTS ENROLLED PRIOR TO April 04, 2020
00:40
6.1C - Don't forget to download the data from Kaggle
00:07
6.2 - Training the Model
08:05
6.3 - Connecting the Pipeline
03:45
6.4 - Making Predictions with the Model
04:26
6.5 - Data Validation in the Model Package
04:09
6.6 - Feature Engineering in the Pipeline
03:27
6.7 - Versioning and Logging
11:34
6.8 - Building the Package
08:17
6.9 - Wrap Up
01:55
+ Serving the model via REST API
8 lectures 26:56
7.1 - Introduction
03:18
7.2 - Creating the API Skeleton
04:35
7.2b - Note On Flask
00:18
7.3 - Adding Config and Logging
04:10
7.4 - Adding the Prediction Endpoint
04:09
7.5 - Adding a Version Endpoint
02:05
7.6 - API Schema Validation
07:19
7.7 - Wrap Up
01:02
+ Continuous Integration and Deployment Pipelines
7 lectures 28:31
8.1 - Introduction to CI/CD
04:24
8.2 - Setting up CircleCI
01:26
8.3 - Setup Circle CI Config
06:23
8.4a - Gotchas
01:47
8.4 - Publishing the Model to Gemfury
07:59
8.5 - Testing the CI Pipeline
05:38
8.6 - Wrap Up
00:54
+ Differential Testing
5 lectures 15:26
9.1 - Introduction
02:15
9.2 - Setting up Differential Tests
04:28
9.3 - Differential Tests in CI (Part 1 of 2)
03:01
9.4 - Differential Tests in CI (Part 2 of 2)
04:01
9.5 Wrap Up
01:41
+ Deploying to a PaaS (Heroku) without Containers
7 lectures 19:43
10.1 - Introduction
04:04
10.2 - Heroku Account Creation
02:37
10.3a - Heroku Gotchas
00:45
10.3 - Heroku Config
04:59
10.4 - Testing the Deployment Manually
01:32
10.5 - Deploying to Heroku via CI
03:41
10.6 - Wrap Up
02:05
Requirements
  • A Python installation
  • A Jupyter notebook installation
  • Python coding skills including pandas and scikit-learn
  • Familiarity with Python environments, OOP and git
  • Familiarity with Machine Learning algorithms
  • This is an intermediate level course (see description)
Description

Learn how to put your machine learning models into production.


What is model deployment?

Deployment of machine learning models, or simply, putting models into production, means making your models available to your other business systems. By deploying models, other systems can send data to them and get their predictions, which are in turn populated back into the company systems. Through machine learning model deployment, you and your business can begin to take full advantage of the model you built.

When we think about data science, we think about how to build machine learning models, we think about which algorithm will be more predictive, how to engineer our features and which variables to use to make the models more accurate. However, how we are going to actually use those models is often neglected. And yet this is the most important step in the machine learning pipeline. Only when a model is fully integrated with the business systems, we can extract real value from its predictions.


Why take this course?

This is the first and only online course where you can learn how to deploy machine learning models. In this course, you will learn every aspect of how to put your models in production. The course is comprehensive, and yet easy to follow. Throughout this course you will learn all the steps and infrastructure required to deploy machine learning models professionally.

In this course, you will have at your fingertips, the sequence of steps that you need to follow to deploy a machine learning model, plus a project template with full code, that you can adapt to deploy your own models.


What is the course structure?

Part 1: The Research Environment

The course begins from the most common starting point for the majority of data scientists: a Jupyter notebook with a machine learning model trained in it.

Part 2: Understanding Machine Learning Systems

An overview of key architecture and design considerations for different types of machine learning models. This part sets the theoretical foundation for the practical part of the course.

Part 3: From Research to Production Code

A hands-on project with complete source code, which takes you through the process of converting your notebooks into production ready code.

Part 4: Deployment Tooling

Continuing with the hands-on project, this section takes you through the necessary tools for real production deployments, like CI/CD, testing, model cloud storage and more.

Part 5: Deployments

In this section, you will deploy models to both cloud platforms (Heroku) and cloud infrastructure (AWS).

Part 6: Bonus sections

In addition, there are dedicated sections which discuss handling big data, deep learning and common issues encountered when deploying models to production.


Important:

This course will help you take the first steps towards putting your models in production. You will learn how to go from a Jupyter notebook to a fully deployed machine learning model, considering CI/CD, and deploying to cloud platforms and infrastructure.

But, there is a lot more to model deployment, like model monitoring, advanced deployment orchestration with Kubernetes, and scheduled workflows with Airflow, as well as various testing paradigms such as shadow deployments that are not covered in this course.


Who are the instructors?

We have gathered a fantastic team to teach this course. Sole is a leading data scientist in finance and insurance, with 3+ years of experience in building and implementing machine learning models in the field, and multiple IT awards and nominations. Chris is an AI software engineer with enormous experience in building APIs and deploying machine learning models, allowing business to extract full benefit from their implementation and decisions.


Who is this course for?

This course is suitable for data scientists looking to deploy their first machine learning model, and software developers looking to transition into AI software engineering. Deployment of machine learning models is a very advanced topic in the data science path so the course will also be suitable for intermediate and advanced data scientists.


How advanced is this course?

This is an intermediate level course, and it requires you to have experience with Python programming and git. How much experience? It depends on how much time you would like to set aside to go ahead and learn those concepts that are new to you. To give you an example, we will work with Python environments, we will work with object oriented programming, we will work with the command line to run our scripts, and we will checkout code at different stages with git. You don’t need to be an expert in all of these topics, but it will certainly help if you have heard of them, and worked with them before.

For those relatively new to software engineering, the course may be challenging. We have added detailed lecture notes and references, so we do believe beginners can take the course, but keep in mind that you will need to put in the hours to read up on unfamiliar concepts. On this point, the course slowly increases in complexity, so you can see how we pass, gradually, from the familiar Jupyter notebook, to the less familiar production code, using a project-based approach which we believe is optimal for learning. It is important that you follow the code, as we build up on it.


Still not sure if this is the right course for you?

Here are some rough guidelines:

Never written a line of code before: This course is unsuitable

Never written a line of Python before: This course is unsuitable

Never trained a machine learning model before: This course is unsuitable. Ideally, you have already built a few machine learning models, either at work, or for competitions or as a hobby.

Have only ever operated in the research environment: This course will be challenging, but if you are ready to read up on some of the concepts we will show you, the course will offer you a great deal of value.

Have a little experience writing production code: There may be some unfamiliar tools which we will show you, but generally you should get a lot from the course.

Non-technical: You may get a lot from just the theoretical section (section 3) so that you get a feel for the possible architectures and challenges of ML deployments. The rest of the course will be a stretch.


To sum up:

With more than 50 lectures and 8 hours of video this comprehensive course covers every aspect of model deployment. Throughout the course you will use Python as your main language and other open source technologies that will allow you to host and make calls to your machine learning models.


We hope you enjoy it and we look forward to seeing you on board!

Who this course is for:
  • Data scientists who want to deploy their first machine learning models
  • Data scientists who want to learn best practices around model deployment
  • Software developers who want to transition into artificial intelligence
  • Intermediate and advanced data scientists who want to level up their skills
  • Data engineers who build data pipelines to productionise machine learning models
  • Lovers of coding and open source