Term | Fall 2025 | Instructor | Christopher De Sa |
Course website | www.cs.cornell.edu/courses/cs4787/2025fa/ | cmd353@cornell.edu | |
Schedule | MW 7:30–8:45PM | Office hours | Wednesdays 2–3PM |
Room | Kimball B11 | Office | Gates 426 |
[Canvas] [Discussion]
Description: CS4787 explores the principles behind scalable machine learning systems. The course will cover the algorithmic and the implementation principles that power the current generation of machine learning on big data. We will cover training and inference for both traditional ML algorithms such as linear and logistic regression, as well as deep models such as transformers. Topics will include: estimating statistics of data quickly with subsampling, stochastic gradient descent and other scalable optimization methods, mini-batch training, accelerated methods, adaptive learning rates, methods for scalable deep learning, hyperparameter optimization, parallel and distributed training, quantization and model compression, and efficient inference.
Prerequisites: CS3780 or equivalent, CS 2110 or equivalent
Format: Lectures during the scheduled lecture period will cover the course content. Problem sets will be used to encourage familiarity with the content and develop competence with the more mathematical aspects of the course. Programming assignments will help build intuition and familiarity with how machine learning algorithms run. There will be one midterm exam and one final exam, each of which will test both theoretical knowledge and programmming implementation of concepts.
Material: The course is based on books, papers, and other texts in machine learning, scalable optimization, and systems. Texts will be provided ahead of time on the website on a per-lecture basis. You aren't expected to necessarily read the texts, but they will provide useful background for the material we are discussing.
Grading: Students taking CS4787 will be evaluated on the following basis.
15% | Problem sets |
35% | Programming assignments |
20% | Prelim Exam |
30% | Final Exam |
CS5777 has an additional paper-reading component, and students taking CS5777 will be evaluated as follows.
10% | Problem sets |
30% | Programming assignments |
10% | Paper reading |
20% | Prelim Exam |
30% | Final Exam |
Inclusiveness: You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn—and enjoy—this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructor know so that we can address the issue. We are personally committed to this, and subscribe to the Computer Science Department's Values of Inclusion.
AI Use Policy: It is an academic integrity violation to represent the output of a generative AI tool as your own work. You may not submit any work produced by generative AI as part of the solution of problem sets, programming assignments, or paper reading assignments. It is an academic integrity violation to use any sort of generative AI to assist you during an exam.
Beyond this, you may use AI as you like to assist your own learning in the course, including by asking the AI about course content, asking it to document functions, asking it for the name of a function that does something, asking it to explain an error message, etc.
Course calendar may be subject to change.
Monday, August 25 Aug 24Aug 25Aug 26Aug 27Aug 28Aug 29Aug 30 |
Monday, August 25
Lecture 1. Introduction and course overview. [Notes PDF]
Problem Set 1 Released. [Notebook] [HTML]
|
Wednesday, August 27 Aug 24Aug 25Aug 26Aug 27Aug 28Aug 29Aug 30 |
Wednesday, August 27
Lecture 2. Linear algebra done efficiently: Mapping mathematics to numpy. ML via efficient kernels linked together in python. [Notebook] [HTML]
Background reading material:
|
Monday, September 1 Aug 31Sep 1Sep 2Sep 3Sep 4Sep 5Sep 6 |
Monday, September 1
Labor Day. No Lecture.
|
Wednesday, September 3 Aug 31Sep 1Sep 2Sep 3Sep 4Sep 5Sep 6 |
Wednesday, September 3
Lecture 3. Software for learning with gradients. Numerical differentiation, symbolic differentiation, and automatic differentiation. Efficient gradients with backpropagation. [Notebook] [HTML]
Background reading material:
Programming Assignment 1 Released. [Instructions] [Starter Code]
|
Monday, September 8 Sep 7Sep 8Sep 9Sep 10Sep 11Sep 12Sep 13 |
Monday, September 8
Background reading material:
Problem Set 1 Due.
|
Wednesday, September 10 Sep 7Sep 8Sep 9Sep 10Sep 11Sep 12Sep 13 |
Wednesday, September 10
Lecture 5. Scaling to complex models by learning with optimization algorithms. Learning in the underparameterized regime. Gradient descent, convex optimization and conditioning. Stochastic gradient descent. [Notebook] [HTML]
Background reading material:
Problem Set 2 Released. [PDF]
|
Monday, September 15 Sep 14Sep 15Sep 16Sep 17Sep 18Sep 19Sep 20 |
Monday, September 15
Lecture 6. Adapting algorithms to hardware. Minibatching and the effect of the learning rate. Our first hyperparameters. [Notebook] [HTML]
Background reading material:
|
Wednesday, September 17 Sep 14Sep 15Sep 16Sep 17Sep 18Sep 19Sep 20 |
Wednesday, September 17
Lecture 7. Optimization techniques for efficient ML. Accelerating SGD with momentum. [Notebook] [HTML]
Background reading material:
|
Thursday, September 18 Sep 14Sep 15Sep 16Sep 17Sep 18Sep 19Sep 20 |
Thursday, September 18
Programming Assignment 1 Due.
|
Monday, September 22 Sep 21Sep 22Sep 23Sep 24Sep 25Sep 26Sep 27 |
Monday, September 22
Lecture 8. Optimization techniques for efficient ML, continued. Accelerating SGD with preconditioning and adaptive learning rates.
Background reading material:
|
Wednesday, September 24 Sep 21Sep 22Sep 23Sep 24Sep 25Sep 26Sep 27 |
Wednesday, September 24
Lecture 9. Sparsity and dimension reduction.
Background reading material:
Problem Set 2 Due.
|
Monday, September 29 Sep 28Sep 29Sep 30Oct 1Oct 2Oct 3Oct 4 |
Monday, September 29
Lecture 10. Deep neural networks review. The overparameterized regime and how it affects optimization. Matrix multiply as computational core of learning.
Background reading material:
|
Wednesday, October 1 Sep 28Sep 29Sep 30Oct 1Oct 2Oct 3Oct 4 |
Wednesday, October 1
Lecture 11. Deep neural networks review continued. Transformers and sequence models.
Background reading material:
|
Monday, October 6 Oct 5Oct 6Oct 7Oct 8Oct 9Oct 10Oct 11 |
Monday, October 6
Lecture 12. Topic TBD
|
Wednesday, October 8 Oct 5Oct 6Oct 7Oct 8Oct 9Oct 10Oct 11 |
Wednesday, October 8
Lecture 13. Topic TBD
|
Monday, October 13 Oct 12Oct 13Oct 14Oct 15Oct 16Oct 17Oct 18 |
Monday, October 13
Indigenous Peoples' Day. No Lecture.
|
Wednesday, October 15 Oct 12Oct 13Oct 14Oct 15Oct 16Oct 17Oct 18 |
Wednesday, October 15
Lecture 14. Topic TBD
|
Thursday, October 16 Oct 12Oct 13Oct 14Oct 15Oct 16Oct 17Oct 18 |
Thursday, October 16
Prelim Exam. 7:30PM, BKL200.
|
Monday, October 20 Oct 19Oct 20Oct 21Oct 22Oct 23Oct 24Oct 25 |
Monday, October 20
Lecture 15. Topic TBD
|
Wednesday, October 22 Oct 19Oct 20Oct 21Oct 22Oct 23Oct 24Oct 25 |
Wednesday, October 22
Lecture 16. Topic TBD
|
Monday, October 27 Oct 26Oct 27Oct 28Oct 29Oct 30Oct 31Nov 1 |
Monday, October 27
Lecture 17. Topic TBD
|
Wednesday, October 29 Oct 26Oct 27Oct 28Oct 29Oct 30Oct 31Nov 1 |
Wednesday, October 29
Lecture 18. Topic TBD
|
Monday, November 3 Nov 2Nov 3Nov 4Nov 5Nov 6Nov 7Nov 8 |
Monday, November 3
Lecture 19. Topic TBD
|
Wednesday, November 5 Nov 2Nov 3Nov 4Nov 5Nov 6Nov 7Nov 8 |
Wednesday, November 5
Lecture 20. Topic TBD
|
Monday, November 10 Nov 9Nov 10Nov 11Nov 12Nov 13Nov 14Nov 15 |
Monday, November 10
Lecture 21. Topic TBD
|
Wednesday, November 12 Nov 9Nov 10Nov 11Nov 12Nov 13Nov 14Nov 15 |
Wednesday, November 12
Lecture 22. Topic TBD
|
Monday, November 17 Nov 16Nov 17Nov 18Nov 19Nov 20Nov 21Nov 22 |
Monday, November 17
Lecture 23. Topic TBD
|
Wednesday, November 19 Nov 16Nov 17Nov 18Nov 19Nov 20Nov 21Nov 22 |
Wednesday, November 19
Lecture 24. Topic TBD
|
Monday, November 24 Nov 23Nov 24Nov 25Nov 26Nov 27Nov 28Nov 29 |
Monday, November 24
Lecture 25. Topic TBD
|
Wednesday, November 26 Nov 23Nov 24Nov 25Nov 26Nov 27Nov 28Nov 29 |
Wednesday, November 26
Thanksgiving Break. No Lecture.
|
Monday, December 1 Nov 30Dec 1Dec 2Dec 3Dec 4Dec 5Dec 6 |
Monday, December 1
Lecture 26. Topic TBD
|
Wednesday, December 3 Nov 30Dec 1Dec 2Dec 3Dec 4Dec 5Dec 6 |
Wednesday, December 3
Lecture 27. Topic TBD
|
Monday, December 8 Dec 7Dec 8Dec 9Dec 10Dec 11Dec 12Dec 13 |
Monday, December 8
Lecture 28. Topic TBD
|