CSC 6605 - Machine Learning Production Systems

4 lecture hours 0 lab hours 4 credits
Course Description
Students will design, implement, deploy, and operate a machine learning-powered service, including components for data processing, model training, modeling serving, model evaluation, and monitoring. Technologies and design patterns for streaming and batch data processing as well as storage systems will be introduced. This course builds on and integrates previous course work in offline machine learning and microservices.
Prereq: CSC 5610  or CSC 5601  or CSC 4601 or instructor consent
Note: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design, implement, deploy, and operate a machine learning-powered RESTful service and supporting backend systems 
  • Design and implement data processing systems that use batch and stream processing patterns and technologies for ingesting and processing event data 
  • Apply design patterns and data storage systems to design and implement data storage services to support batch and streaming data processing, model training, and model evaluation 
  • Create distributed systems to support model training and evaluation 
  • Automate and monitor model training, evaluation, deployment, and operation 
  • Evaluate and compare architectures of ML-powered systems 

Prerequisites by Topic
  • Cloud computing
  • Microservices
  • Machine learning 

Course Topics
  • Distributed batch and streaming data processing platforms and associated programming paradigms 
  • Data representation and storage patterns to support batch and streaming data pipelines and services 
  • Reliability, consistency, and scalability challenges and solutions for big data systems 
  • Patterns for handling model training and evaluation on data that changes or updates over time 
  • Tradeoffs between batch and streaming systems in terms of efficiency, computational capabilities, and time until updates are available based on new data 
  • Model serving and deployment 
  • Monitoring and alerting for services and performance of machine learning model predictions  
  • Implementation of systems for common machine learning tasks such as classification/regression and recommendations 

Coordinator
Dr. RJ Nowling


Print-Friendly Page (opens a new window)