COS568: Systems and Machine Learning (Spring 2025)

 

Summary

This graduate course builds on a previous graduate seminar (COS 598D) offered in recent years. It focuses on exploring the intersection of systems and machine learning (ML) through the study and discussion of recent research papers in two primary areas:

  1. Systems for ML: Papers related to efficient ML and efficient systems for ML.  Topics include the pipelines for LLM training, efficient methods such as network pruning, quantization, distillation, mixture-of-experts,  parallel and distributed training, and inference, and hardware accelerators such as GPUs, TPUs, Cerebras and Groq.
  2. ML for Systems: Papers on applying ML techniques to design better hardware and software systems, such as learning component for making choices, learned compilation, learned resource allocation, and learned approach for hardware design.

The course features lectures by numerous guest speakers, student presentations, assignments and projects.  It emphasizes active student participation.

 

The course is primarily for graduate students but is also open to seniors with a strong interest in these topics, subject to the instructor’s approval. Note that this course does not have a Pass/D/Fail (P/D/F) grading option. All students are required to present papers, participate in discussions, complete assignments and a small project.

.

Requirements and Grading

Students taking this course will be graded as follows:

      Presentation (20%)
Students are required to work in pairs to give a presentation of a paper / topic (see syllabus below), and lead the discussion of the questions. Each presentation should take about 40 minutes, leaving 20 minutes for discussions. 

      Reading and participation (10%)
Students are required to read the main papers for each topic, submit your takeaway messages for each paper and guest lecture, and participate in the discussions in class. 

      Programming Assignment 1 (20%)

      Programming Assignment 2 (20%)

      Project (30%)

 

Administrative Information

      Classes Times: Friday 1:30 – 4:20 pm

      Classroom: Friend Center 008

      Instructor: Professor Kai Li (li@cs.princeton.edu), office hours by appointments

      Teaching assistant: Tedi Zadouri (tz6037@cs.princeton.edu), office hours Friday 4:20pm - 5:20pm

Warmup

The goal of this warmup is to get familiar with ML frameworks with computing resources.  Since some students may have done programming in Pytorch, this assignment is not required and will not be graded.  We strongly encourage all students without experience to complete the MNIST classification warmup exercise.  A related paper is Gradient-Based Learning Applied to Document Recognition. 1998.

 

MNIST dataset will be automatically downloaded if using  MNIST classification. We have also set up the same on Google Colab: https://colab.research.google.com/drive/1wUWfzIY81x7R6Xe8WZUkgzFoKmTws7co?usp=sharing

Computing Resources

Adroit Cluster: Princeton Research Computing Cluster for development

Google Colab: Free compute resources

Amazon AWS: Some free student credits

Microsoft Azure: Some free student credits

 

Programming Assignments, Project, and Tentative Schedule