Machine Learning: From Model to Production with the Cloud, Containers and DataOps
On April 26th I will delivering a full day about Machine Learning in Exeter. The training day is being offered by the Data In Devon conference. This event is part of the #GlobalAzureBootcamp and has a fantastic selection of session on offer.
Who is the course for?
The course is for anyone who is looking to get in to Machine Learning, working with Machine Learning or looking to understand how models get deployed. Seldom do models make from concept in to production. That because the skills required to build a machine learning model and the skills required to deploy are model are not the same! This session will show you what you need to know to get a model deployed.
Agenda for the day:
Pick up a book on Machine learning and it will explain the process for machine learning, many citing CRISP-DM as the ideal process. CRISP-DM is an iterative approach to Data Mining. It starts with business understanding the flows to data understanding, data preparation, modelling, evaluation, then either loops back around or is deployed.
How it is deployed, well no one ever tells you that! Well, I want to talk about it!
In this full-day session we will build a series of basic models and promote them into production. This will be an interactive session, make sure you have your laptop with you. As we go through the day we will talk about the following:
Developing a Machine Learning Engineering environment Develop multiple basic machine learning models Deploy multiple basic machine learning models Develop an architecture capable of supporting and deploying any machine learning language Sounds awesome right? My intention is to show you a method for deploying machine learning models.
We will do this by looking at the following tech stack:
Microsoft Azure – A Cloud environment to deploy to. (All the tech we are using will work on a platform of your choice)
Python – To build our models
Docker – A container to run our models
Kubernetes – A Container runtime environment to handle the load balancing of our models.
Azure Service Bus – A stream service for our models
PowerBI – A reporting tool to visualise the usage of our models.
We will use a composition of other languages as we go.
All the scripts we will use will be available to GitHub for you to follow along.
At the end of the day we will have built a simple model and deployed it. You will take away a tried and tested architecture for deploying a model in to production. I will demo a method for deploying changes to your model using DevOps.
M0 - Title Intro Agenda
Lab 0 - Check everyone is set up
M1 - Intro to Machine Learning with Python
Demo - Clustering
Demo - Regression
Demo - Classification
M2 - Creating our first Machine learning model.
Demo - Creating a model - Diabetes Regression
Lab 1 - Creating a Python Model
M3 - Python Serailisation.
Demo - Serialisation in Python - Pickle
Lab 2 - The basics of serialisation in Python
M4 - Creating REST APIs
Lab 3 - Adding Flask to our model to expose an API
M5 - An introduction to Docker
Lab 4 - Hello World! in Docker
Lab 5 - Deploying a web app in to Docker
Lab 6 - Deploying our model in to Docker
M6 - An Introduction to Kubernetes
Lab 7 - Deploying Azure Container Reg
Lab 8 - Deploying our model in Kubernetes
M7 - DevOps for Machine Learning
Demo - Setting up a Build pipeline for deploying changes
M8 - Extending the design - The Rendezvous pattern
If we somehow make it through the day and we still have a load of time left over. I will demo how we can serialise a model inside SQL Server and use a database to productionise a model