Productionizing Machine Learning Models
Published by O'Reilly Media, Inc.
Practice building a robust system for operationalizing, deploying, and serving an ML model
Course outcomes
- Understand the reasons for running model experiments and run an experiment on of three model options
- Practice writing a model orchestration flow that runs in the cloud and allows the model to train, be evaluated, and be stored in the cloud
- Practice visualizing the outcomes of model runs, so you can compare different versions of models
- Create an API that pulls in your model artifact, accepts inputs as API queries, and outputs model predictions
- Deploy this API so the public can query it
Course description
What do you do with a machine learning model once you’ve gotten it to work? Operationalizing, updating, and maintaining a model is a whole separate skill set—and often one that machine learning engineers and the software engineers that support them have to muddle through on the job.
Join expert Chelsea Troy to learn a systematic approach to getting a model that has been developed in a local or Colab notebook or Sagemaker account into production. You’ll use some exemplary tools, but the skills you gain will translate to similar tools in use (or that you could introduce) at any organization pursuing machine learning solutions.
NOTE: With today’s registration, you’ll be signed up for all four sessions. Although you can attend any of the sessions individually, we recommend participating in all four weeks.
What you’ll learn and how you can apply it
- Understand how to test out different versions of the model and compare them to each other
- Learn how to run model training automatically in the cloud and how to choose what machine to run it on
- Explore how to set up models to run programmatically or on a regular schedule
- Learn where to put the trained model and how to version trained models
- Understand the sorts of validation to do to test new versions of the model or ensure that the incoming production data matches the assumptions the model was trained with
- Discover how to pull the model into an inference server to let people request its predictions from a service in the cloud and how to publish your inference server’s API on the internet
This live event is for you because...
- You’re a machine learning engineer or software engineer at an organization that uses a machine learning model in production.
- You’d like to become an ML engineer.
Prerequisites
- A software engineering background with experience in Python
- (Optional) Experience at least experimenting with machine learning models in a Jupyter, Colab, or Sagemaker notebook
Recommended preparation:
- Download the course repository prior to the class, set up dependencies, and try to run one of the models
Recommended follow-up:
- Read Machine Learning Production Systems (book)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Day 1
The status quo (60 minutes)
- Presentation: The status quo of machine learning operations; example steps to turn a notebook into a file; MLOps maturity levels and what they mean
- Hands-on exercises: Clone the notebook, install the dependencies, and run it locally
- Q&A
- Break
Making changes to models (30 minutes)
- Presentation: Why and how to make changes
- Hands-on exercise: Set up your own experiment on this model and see what your results are
Running models in the cloud (30 minutes)
- Presentation: Getting set up with Metaflow and Outerbounds; running the model
- Hands-on exercise: Put your ML model into a flow
- Wrap-up
Day 2
Running the model remotely (70 minutes)
- Presentation: Problems from previous week and how to resolve them; running the model remotely
- Hands-on exercise: Run your model remotely
- Q&A
- Break
Visualization (50 minutes)
- Presentation: Visualization options
- Hands-on exercise: Make a visualization, or make changes to your existing one
- Q&A
Day 3
Building an inference server (70 minutes)
- Presentation: Problems from previous week and how to resolve them; building an inference server
- Hands-on exercise: Build an inference server
- Break
- Q&A
Deploying your server (50 minutes)
- Hands-on exercise: Deploy your server
- Q&A
Day 4
Production data monitoring (70 minutes)
- Presentation and demonstration: Problems from previous week and how to resolve them; review of MLOps maturity model from Day 1; production data monitoring options; tools and their alternatives
- Break
- Q&A
Building a production data monitoring flow (50 minutes)
- Hands-on exercise: Build a production data monitoring flow
- Presentation: Additional options and more advanced approaches; what you can do with your flow; additional places for information
- Q&A
Your Instructor
Chelsea Troy
Chelsea Troy leads the machine learning operations team at Mozilla. She also teaches in the Master’s Program in Computer Science at the University of Chicago. Her online workshop, Fundamentals of Technical Debt, is available On Demand through the O’Reilly platform, and she also gives live courses about machine learning, large language models, and product thinking.