ML System¶
当我们在 PyTorch 中写下 loss.backward() 和 optimizer.step() 时,训练框架、GPU、显存与通信网络在背后分别完成了什么工作?为什么模型越来越大后,单纯增加 GPU 数量并不一定能够带来线性的训练加速?面对一个训练速度慢、显存不足或扩展效率低的问题,我们又该如何找到瓶颈,并将其转化为一个机器学习系统研究问题?
在本节课程中,我们将以 ML 训练系统为主线,介绍机器学习系统的基本结构,包括数据加载、自动微分、计算图、编译与运行时、GPU 算子、分布式通信、并行训练、任务调度和容错等模块。课程还将梳理 MLSys 中常见的重要方法,如混合精度训练、数据并行、张量并行、流水线并行、ZeRO、激活重计算与算子融合,帮助同学们建立对 ML 训练系统完整技术栈的初步认识。
课程材料¶
学习资源¶
- MLSysBook|https://mlsysbook.ai/
- TinyTorch|https://mlsysbook.ai/tinytorch/
- CMU 10-414/714: Deep Learning Systems|https://dlsyscourse.org/
- Stanford CS149: Parallel Computing|https://gfxcourses.stanford.edu/cs149/fall25/
- Stanford CS336: Language Modeling from Scratch|https://cs336.stanford.edu/
- MIT 6.5940: TinyML and Efficient Deep Learning Computing|https://efficientml.ai/
- Full Stack Deep Learning|https://fullstackdeeplearning.com/course/2022/
评论
作者: