跳转至

CMU 15-442/642: Machine Learning Systems

课程简介

  • 所属大学:CMU
  • 先修要求:系统入门(eg.15-213)、深度学习入门、基本的数学知识
  • 编程语言:Python, C++, CUDA(PTX), TIRx
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时+

随着大语言模型(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。

课程资源

资源汇总

@RisingUppercut 在学习这门课中用到的所有资源和作业实现都汇总在 RisingUppercut/CMU_15442_2026Spring 中。