MMI712 MACHINE LEARNING SYSTEMS DESIGN AND DEPLOYMENT
Course Code: | 9090712 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (3.00 - 0.00) |
ECTS Credit: | 8.0 |
Department: | Multimedia Informatics |
Language of Instruction: | English |
Level of Study: | Graduate |
Course Coordinator: | |
Offered Semester: | Fall Semesters. |
Course Objectives
Via this course, the students will have a grasp on the ML system development pipeline and by the successful completion thereof, the students will be able to:
- compare and contrast ML system design with traditional software design
- create and manage training dataset
- effectively develop and train models
- scale-up training for large models
- evaluate and calibrate models and debug ML systems
- track experiments and handle model versioning
- compress and optimize the models and deploy them on various platforms
Course Content
The course covers several aspects of designing reliable and scalable machine learning systems for real-world deployment. It deals with development of production quality models and introduces the machine learning pipeline, concepts on machine learning system design and data engineering. It provides know-how on model development, and how to scale up the training for large models as well as evaluation, calibration and debugging of these models. Generation of reproducible models via experiment tracking tools and model versioning is also covered. Hardware platforms and frameworks for deployment are introduced, followed by basic deployment concepts, containerized deployment and testing.
The course aims to balance theory and practice. The lab sessions allow students to experience the concepts first-hand and cover deployment (Model Development and Training, Model, Data, Parallelism, Experiment Tracking) and deployment aspects (Model Compression and Optimization, Basic Deployment, Containerized Deployment, Testing in Production).