Blog — Advancing Analytics

Machine Learning: From Model to Production with the Cloud, Containers and DataOps — Advancing Analytics

Written by Terry McCann | Jan 31, 2019 12:00:00 AM

Hello,

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.

Agenda

  • M0 - Title Intro Agenda

    • Lab 0 - Check everyone is set up

  • M1 - Intro to Machine Learning with Python

    • Python Fundamentals

    • 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