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.
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!