Syllabus for CS4787/5777

Principles of Large-Scale Machine Learning — Fall 2026

Term Fall 2026 Instructor Christopher De Sa
Course website www.cs.cornell.edu/courses/cs4787/2026fa/ E-mail cmd353@cornell.edu
Schedule MW 7:30–8:45PM Office hours Wednesdays 2–3PM
Room Kimball Hall B11 Office Gates 426

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

New this year, your knowledge of the content from the problem sets and the programming assignments will also be checked via short oral “mastery checks” with the TAs. Logistical details of how these will be conducted and scheduled are still being finalized and will be announced later in the semester.

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.

Course Calendar Plan

Monday, August 24
Aug
23
Aug
24
Aug
25
Aug
26
Aug
27
Aug
28
Aug
29
Monday, August 24
Lecture 1. Introduction and course overview. [Notes PDF]

Problem Set 1 Released. [Notebook] [HTML]
Wednesday, August 26
Aug
23
Aug
24
Aug
25
Aug
26
Aug
27
Aug
28
Aug
29
Wednesday, August 26
Lecture 2. Linear algebra done efficiently: Mapping mathematics to numpy. ML via efficient kernels linked together in python. [Notebook] [HTML]

Background reading material:
Monday, August 31
Aug
30
Aug
31
Sep
1
Sep
2
Sep
3
Sep
4
Sep
5
Monday, August 31
Lecture 3. Software for learning with gradients. Numerical differentiation, symbolic differentiation, and automatic differentiation. Efficient gradients with backpropagation. [Notebook] [HTML]

Background reading material:
Wednesday, September 2
Aug
30
Aug
31
Sep
1
Sep
2
Sep
3
Sep
4
Sep
5
Wednesday, September 2
Lecture 4. Machine learning frameworks. [Notebook] [HTML]

Background reading material:

Problem Set 1 Due.
Monday, September 7
Sep
6
Sep
7
Sep
8
Sep
9
Sep
10
Sep
11
Sep
12
Monday, September 7
Labor Day. No Lecture.
Wednesday, September 9
Sep
6
Sep
7
Sep
8
Sep
9
Sep
10
Sep
11
Sep
12
Wednesday, September 9
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:
Monday, September 14
Sep
13
Sep
14
Sep
15
Sep
16
Sep
17
Sep
18
Sep
19
Monday, September 14
Lecture 6. Adapting algorithms to hardware. Minibatching and the effect of the learning rate. Our first hyperparameters. [Notebook] [HTML]

Background reading material:
Wednesday, September 16
Sep
13
Sep
14
Sep
15
Sep
16
Sep
17
Sep
18
Sep
19
Wednesday, September 16
Lecture 7. Optimization techniques for efficient ML. Accelerating SGD with momentum. [Notebook] [HTML]

Background reading material:
Monday, September 21
Sep
20
Sep
21
Sep
22
Sep
23
Sep
24
Sep
25
Sep
26
Monday, September 21
Lecture 8. Optimization techniques for efficient ML, continued. Accelerating SGD with preconditioning and adaptive learning rates. [Notebook] [HTML]

Background reading material:
Wednesday, September 23
Sep
20
Sep
21
Sep
22
Sep
23
Sep
24
Sep
25
Sep
26
Wednesday, September 23
Lecture 9. Sparsity and dimension reduction. [Notebook] [HTML] [Demo Notebook] [Demo HTML]

Background reading material:
Monday, September 28
Sep
27
Sep
28
Sep
29
Sep
30
Oct
1
Oct
2
Oct
3
Monday, September 28
Lecture 10. Deep neural networks review. The overparameterized regime and how it affects optimization. Matrix multiply as computational core of learning. [Notebook] [HTML]

Background reading material:
Wednesday, September 30
Sep
27
Sep
28
Sep
29
Sep
30
Oct
1
Oct
2
Oct
3
Wednesday, September 30
Lecture 11. Deep neural networks review continued. Transformers and sequence models. [Notebook] [HTML]

Background reading material:
Monday, October 5
Oct
4
Oct
5
Oct
6
Oct
7
Oct
8
Oct
9
Oct
10
Monday, October 5
Lecture 12. Hyperparameter Optimization. Grid search. Random search. Manual hyperparameter tuning. [Notebook] [HTML]

Background reading material:
Wednesday, October 7
Oct
4
Oct
5
Oct
6
Oct
7
Oct
8
Oct
9
Oct
10
Wednesday, October 7
Lecture 13. Prelim review & Ways to make deep learning fast. [Jeopardy] [Notebook] [HTML]
Thursday, October 8
Oct
4
Oct
5
Oct
6
Oct
7
Oct
8
Oct
9
Oct
10
Thursday, October 8
Prelim Exam. 7:30PM, WRNB25, WRNB75.
Monday, October 12
Oct
11
Oct
12
Oct
13
Oct
14
Oct
15
Oct
16
Oct
17
Monday, October 12
Fall Break. No Lecture.
Wednesday, October 14
Oct
11
Oct
12
Oct
13
Oct
14
Oct
15
Oct
16
Oct
17
Wednesday, October 14
Lecture 14. Scaling laws.

Background reading material:
Monday, October 19
Oct
18
Oct
19
Oct
20
Oct
21
Oct
22
Oct
23
Oct
24
Monday, October 19
Lecture 15. Parallelism. [Notebook] [HTML]

Background reading material:
  • Good resource on parallel programming, particularly on GPUs: Chapter 1 of Programming Massively Parallel Processors: A Hands-On Approach, Second Edition (by David B. Kirk and Wen-mei W. Hwu). This book is available on the Cornell library.
  • Classical work providing background on parallelism in computer architecture: Chapters 3, 4, and 5 of Computer Architecture: A Quantitative Approach. This book is available on the Cornell library.
Wednesday, October 21
Oct
18
Oct
19
Oct
20
Oct
21
Oct
22
Oct
23
Oct
24
Wednesday, October 21
Lecture 16. Memory locality and memory bandwidth. [Notebook] [HTML] [Demo Notebook] [Demo HTML]
Monday, October 26
Oct
25
Oct
26
Oct
27
Oct
28
Oct
29
Oct
30
Oct
31
Monday, October 26
Lecture 17. Floating-point arithmetic. Quantized, low-precision machine learning. [Notes PDF]

Background reading material:
  • A classic example of a blog post illustrating the use of low-precision arithmetic for deep learning.
Wednesday, October 28
Oct
25
Oct
26
Oct
27
Oct
28
Oct
29
Oct
30
Oct
31
Wednesday, October 28
Lecture 18. Parallelism on the GPU: Kernels and Warps. [Notes PDF]
Monday, November 2
Nov
1
Nov
2
Nov
3
Nov
4
Nov
5
Nov
6
Nov
7
Monday, November 2
Lecture 19. Parallelism on the GPU 2: CUDA and TensorCores and NVLink. [Notebook] [HTML] [Demo Notebook] [Demo HTML]
Wednesday, November 4
Nov
1
Nov
2
Nov
3
Nov
4
Nov
5
Nov
6
Nov
7
Wednesday, November 4
Lecture 20. Distributed learning and the parameter server. [Notebook] [HTML] [Slides PDF]

Background reading material:
Monday, November 9
Nov
8
Nov
9
Nov
10
Nov
11
Nov
12
Nov
13
Nov
14
Monday, November 9
Lecture 21. Distributed learning 2: More sophisticated patterns; fully-sharded data parallel; distributed inference. [Slides PDF]

Background reading material:
Wednesday, November 11
Nov
8
Nov
9
Nov
10
Nov
11
Nov
12
Nov
13
Nov
14
Wednesday, November 11
Lecture 22. Machine learning on hardware beyond GPUs. ML Accelerators. [Slides PDF]

Background reading material:
  • Parallel programming on GPUs: Chapters 2-5 of Programming Massively Parallel Processors: A Hands-On Approach, Second Edition (by David B. Kirk and Wen-mei W. Hwu). This book is available on the Cornell library.
  • The original TPU paper In-datacenter performance analysis of a tensor processing unit ISCA, 2017.
Monday, November 16
Nov
15
Nov
16
Nov
17
Nov
18
Nov
19
Nov
20
Nov
21
Monday, November 16
Lecture 23. Deployment and low-latency inference. Real-time learning. Deep neural network compression and pruning. [Slides PDF]

Background reading material:
Wednesday, November 18
Nov
15
Nov
16
Nov
17
Nov
18
Nov
19
Nov
20
Nov
21
Wednesday, November 18
Lecture 24. Foundation Models. Transfer Learning. In-context learning. Fine-tuning. [Notes PDF]
Monday, November 23
Nov
22
Nov
23
Nov
24
Nov
25
Nov
26
Nov
27
Nov
28
Monday, November 23
Lecture 25. Online learning. Multimodal learning and tokenization. [Notes PDF]

Background reading material:
  • The Qwen2-VL vision language model I used for the demo.
Wednesday, November 25
Nov
22
Nov
23
Nov
24
Nov
25
Nov
26
Nov
27
Nov
28
Wednesday, November 25
Thanksgiving Break. No Lecture.
Monday, November 30
Nov
29
Nov
30
Dec
1
Dec
2
Dec
3
Dec
4
Dec
5
Monday, November 30
Lecture 26. Alternatives to Autoregressive Transformers. Diffusion models. State-space models. [Notebook] [HTML]
Wednesday, December 2
Nov
29
Nov
30
Dec
1
Dec
2
Dec
3
Dec
4
Dec
5
Wednesday, December 2
Lecture 27. The future of machine learning. Competitors to the transformer. [Notebook] [HTML]
Monday, December 7
Dec
6
Dec
7
Dec
8
Dec
9
Dec
10
Dec
11
Dec
12
Monday, December 7
Lecture 28. Final exam review. Course summary and open questions. [Jeopardy] [Notebook] [HTML]