navigation

Operationalizing Machine Learning (IDS594)

Note: Also known as ML Deployment in the course catalog.

xkcd image

This practice-oriented course surveys modern best practices around getting machine learning (ML) models into production. It continues where IDS 572 and IDS 575 left off, which is to learn multiple ways of operationalizing machine learning work flows and models in the context of the larger business end-goals. The course is complementary to IDS 561. We will gain a better understanding of strategies for model management, monitoring and deployment. We will also intertwine these topics with online experimentation techniques (A/B testing) and software engineering ideas such as version control, containerization, and continuous integration/continuous deployment.

A tentative list of topics is as follows:

  • Deploying ML models using web servers (e.g., using Flask)
  • Containers for machine learning: the Docker ecosystem and Kubernetes
  • Model management: model tracking and logging
    • General tools such as Apache Airflow and Apache Kafka.
    • Case studies using Databricks’ MLFlow, Google’s TFX/Kubeflow, Uber’s Michelangelo, Facebook’s FBLearner Flow.
  • A/B testing of model performance and data considerations
  • Git, CI/CD and their modifications for ML workflows

See the playlist on Youtube for the recorded lectures. These were recorded in Fall 2020.