[COURSE] Add CMU 15-442/642 Machine Learning Systems (#869)

This commit is contained in:
David Xia
2026-07-21 18:17:48 +08:00
committed by GitHub
parent ffc70148d3
commit 08d91a7a9c
3 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
# CMU 15-442/642: Machine Learning Systems
## Course Overview
- University: CMU
- Prerequisites: Intro to Computer Systems (e.g., 15-213), Intro to Deep Learning, Basic Math
- Programming Languages: Python, C++, CUDA (PTX), TIRx
- Difficulty: 🌟🌟🌟🌟
- Estimated Hours: 100+ hours
With the explosive growth of Large Language Models (LLMs), efficiently training and deploying these massive models has become one of the core challenges in the AI field today. If you are not satisfied with merely being a "simple API caller" who just pieces together PyTorch functions, but are extremely curious about the underlying mechanisms of cutting-edge inference frameworks like vLLM and SGLang, and want to personally write low-level kernels that squeeze every drop of compute out of modern GPUs, then this course taught by Prof. Tianqi Chen and Prof. Zhihao Jia is an excellent starting point.
The course adopts a holistic, full-stack perspective of "Model, Data, Systems, and Hardware," building a complete knowledge map from bare-metal hardware to high-level distributed frameworks. It starts with the foundational elements of deep learning frameworks like automatic differentiation, then dives deep into hardware acceleration and native-level programming on modern GPUs (such as the latest Blackwell B200 architecture). After unlocking extreme single-card performance, the course extends to distributed training for large models, detailing mechanisms like the ZeRO redundancy optimizer, as well as tensor and pipeline model parallelism. Finally, the course focuses on current LLM inference serving, providing in-depth analyses of core optimization strategies such as Continuous Batching, PagedAttention, and Speculative Decoding, while offering a forward-looking exploration of modern machine learning compiler abstractions and Mega-Kernel systems.
The biggest highlight of this course lies in its highly challenging and industry-aligned programming assignments. There are three assignments in total: 1. Implement an automatic differentiation framework for computational graphs. 2. In the distributed training assignment, you will use MPI and NumPy to implement the communication logic for ZeRO Stage 3 parameter sharding and tensor model parallelism. 3. In the most hardcore GPU kernel assignment, you will use the TIRx DSL targeting the latest NVIDIA Blackwell (B200) architecture to manually write and optimize an FP16 GEMM (Matrix Multiplication) kernel from scratch. You will not only need to handle the 128B Swizzle memory layout to eliminate bank conflicts, but also manually dispatch TMA (Tensor Memory Accelerator) asynchronous load instructions, design Warp Specialization software pipelines, and implement 2-CTA cluster scheduling. Ultimately, you will skyrocket the performance from an initial 0.02 TFLOP/s to 1300+ TFLOP/s, rivaling the highly-optimized official cuBLAS library.
## Course Resources
- Course Website: <https://mlsyscourse.org/>
- Course Videos: None
- Course Assignments:
1. <https://github.com/mlsyscourse/assignment1>
2. <https://github.com/mlsyscourse/assignment-distributed-training>
3. <https://github.com/mlsyscourse/assignment-tirx-gemm>
## Resource Aggregation
All resources and assignment implementations used by @RisingUppercut in this course are consolidated in [RisingUppercut/CMU_15442_2026Spring - GitHub](https://github.com/RisingUppercut/CMU_15442_2026Spring)

View File

@@ -0,0 +1,36 @@
# CMU 15-442/642: Machine Learning Systems
## 课程简介
- 所属大学:CMU
- 先修要求:系统入门(eg.15-213)、深度学习入门、基本的数学知识
- 编程语言:Python, C++, CUDA(PTX), TIRx
- 课程难度:🌟🌟🌟🌟
- 预计学时:100小时+
<!-- 用一两段话介绍这门课程,内容包括但不限于:
(1)课程覆盖的知识点范围
(2)与同类课程相比它的优势与特点
(3)学习这门课程的体验与感受
(4)自学这门课的注意点(踩过的坑、难度预警等等)
(5)... ...
-->
随着大语言模型(LLM)的爆发,如何高效训练和部署这些庞然大物成为了当今 AI 领域最核心的挑战之一。如果你不满足于仅仅做一个调用 PyTorch API 的“炼丹侠”,而是十分好奇并且想探究 vLLM、SGLang 等顶尖推理框架的背后的底层原理,并且想亲自编写榨干现代 GPU 算力的底层算子,那么这门由 Tianqi Chen 和 Zhihao Jia 教授讲授的课程将是一个不错的入门途径。
课程内容采用“模型、数据、系统、硬件”全栈协同的视角,构建了从底层物理硬件到上层分布式框架的完整知识地图。首先从自动微分等深度学习框架基石讲起,随后切入现代 GPU(如最新的Blackwell B200 架构)的底层硬件加速及编程。在打通单卡极致性能后,课程内容延伸至大模型的分布式训练,详细讲解 ZeRO 冗余优化器及张量与流水线等并行机制。最后,课程将目光聚焦于当下的 LLM 推理,深入剖析连续批处理、PagedAttention、投机解码等核心优化策略,并前瞻性地探讨了现代机器学习编译抽象以及巨型算子(Mega-Kernel)等内容。
这门课最大的特色在于其具有挑战性且与工业界前沿接轨的编程作业。一共有三个作业:1. 第一个作业是实现一个扩展图的自动微分框架。2. 在分布式训练作业中,你需要使用 MPI 和 NumPy 实现 ZeRO Stage 3 的参数分片与张量模型并行的通信逻辑。3. 而在最硬核的 GPU 算子作业中,你将使用 TIRx DSL,针对最新的 NVIDIA Blackwell (B200) 架构,从零开始一步步手写并优化 FP16 矩阵乘法。你不仅需要处理 128B Swizzle 的内存错位排列来消除 Bank 冲突,还要手动下发 TMA(张量内存加速器)异步搬运指令,并设计 Warp Specialization 软流水线机制和 2-CTA 集群调度,最终将算力从最初的 0.02 TFLOP/s 飙升至媲美官方 cuBLAS 的 1300+ TFLOP/s。
## 课程资源
- 课程网站:<https://mlsyscourse.org/>
- 课程视频:无
- 课程作业:
1. <https://github.com/mlsyscourse/assignment1>
2. <https://github.com/mlsyscourse/assignment-distributed-training>
3. <https://github.com/mlsyscourse/assignment-tirx-gemm>
## 资源汇总
@RisingUppercut 在学习这门课中用到的所有资源和作业实现都汇总在 [RisingUppercut/CMU_15442_2026Spring](https://github.com/RisingUppercut/CMU_15442_2026Spring) 中。

View File

@@ -272,6 +272,7 @@ nav:
- "Stanford CS229: Machine Learning": "机器学习/CS229.md"
- "UCB CS189: Introduction to Machine Learning": "机器学习/CS189.md"
- 机器学习系统:
- "CMU 15-442/642: Machine Learning Systems": "机器学习系统/CMU15-442.md"
- "智能计算系统": "机器学习系统/AICS.md"
- "CMU 10-414/714: Deep Learning Systems": "机器学习系统/CMU10-414.md"
- "MIT6.5940: TinyML and Efficient Deep Learning Computing": "机器学习系统/EML.md"