CMU 11-868 大语言模型系统课程指南:从自动微分、CUDA 内核到分布式训练与推理的 LLM 系统工程实战
【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning
文章导读
本文依据本仓库《计算机自学指南》中 CMU 11-868 课程文档 整理而成。CMU 11-868(Large Language Model Systems)是卡内基梅隆大学面向研究生开设的一门「从算法到工程」的 LLM 系统课,核心贯穿 GPU 编程、自动微分框架实现、分布式训练、模型压缩与推理服务化等全链路主题。读完本文,你将掌握这门课的定位、先修要求、四大内容板块、五次编程作业的难度分布,并获得一套可直接执行的自主学习方法与配套选课建议。
课程基本信息
CMU 11-868 是当前业界少有的、把「大语言模型算法」与「底层系统工程」紧密结合的研究生课程,文档中的基础信息如下:
| 属性 | 内容 |
|---|---|
| 所属大学 | Carnegie Mellon University(CMU) |
| 先修要求 | 强烈建议已修读 Deep Learning(11-785)或 Advanced NLP(11-611 或 11-711) |
| 编程语言 | Python |
| 课程难度 | 🌟🌟🌟🌟(四星) |
| 预计学时 | 约 120 学时 |
其中先修要求是硬门槛:课程要求你对深度学习已有扎实预备知识,不适合纯小白入手。文档特别指出可参阅课程官网 FAQ 中的先修要求说明。如果你尚不具备深度学习基础,仓库建议的路径是先完成 CMU 11-785(深度学习入门) 或 CMU 11-711(高级 NLP) 类的课程再进入本课学习。
补充定位:本仓库的深度生成模型学习路线将 CMU 11-868 定位为「侧重底层系统优化」的代表课程,与偏上层算法与应用的 CMU 11-667、CMU 11-711 形成互补,也与同仓库收录的 CMU 15-779(ML Systems, LLM 版) 同属系统视角课程群。
课程定位与核心亮点
该课程聚焦「大语言模型系统」的完整构建过程,覆盖从算法原型到可上线系统的所有关键环节。相比同类课程,文档总结了三大差异化优势:
- 紧密结合最新论文与开源实现:通过 miniTorch 框架动手扩展 CUDA 支持,让学生把论文里的系统优化思想落到真实可运行的代码上;
- 项目驱动的作业体系:共五次编程作业加一个期末大项目,作业本身就是一条完整的系统构建主线;
- 工业嘉宾讲座:邀请业界工程师分享真实世界中 LLM 工程实践的挑战与解决方案,弥补纯学术课程的工程视野空白。
文档同时在自学建议中指出:作业路线本质上是把 miniTorch 框架从纯 Python 逐步拓展到真实 CUDA 内核。仓库的深度生成模型学习路线也印证了这一点——该路线将本课作业描述为「先实现一个迷你 PyTorch,然后在上面实现各种大语言模型的系统级优化」,这既是本课区别于纯理论课的最大特色,也是其难度来源。
四大内容板块详解
课程内容涵盖但不限于以下四个方面,这也是理解整门课知识地图的骨架:
1. GPU 编程与自动微分
- 掌握 CUDA kernel 的调用与编写;
- 并行编程基础(线程组织、内存层次、同步与归约);
- 深度学习框架设计原理(反向传播如何被抽象为计算图与自动微分引擎)。
这一板块是后续所有系统优化的地基,对应了文档「先修需复习并行计算与深度学习基础(自动微分、张量运算)」的自学建议。
2. 模型训练与分布式系统
- 高效的训练算法;
- 通信优化技术:ZeRO(优化器状态/梯度/参数分片)、FlashAttention(IO 感知的注意力计算);
- 分布式训练框架:DDP(数据并行)、GPipe(流水线并行)、Megatron-LM(张量并行)。
该板块解决的核心问题是:当模型参数量与数据规模超出单卡内存时,如何切分计算与通信,让训练既跑得动、又跑得快。
3. 模型压缩与加速
- 量化:GPTQ(训练后量化);
- 稀疏化:MoE(混合专家架构);
- 编译技术:JAX、Triton(面向 GPU 的 tile 级 DSL);
- 推理服务化设计:vLLM(含 PagedAttention 等推理系统优化)、CacheGen(KV 缓存传输优化)。
这一板块把「训练完成后的模型」推向「低延迟、高吞吐、低成本」的在线服务形态。
4. 前沿技术与系统实践
- 检索增强生成(RAG);
- 多模态 LLM;
- RLHF系统(基于人类反馈的强化学习系统工程);
- 端到端的在线维护与监控(上线后的可观测性与稳定性问题)。
这一板块覆盖了从研究原型走向真实产品时必备的系统工程视野。
五次编程作业:一条完整的系统构建主线
文档明确列出了四次主要作业的内容与难度(原文按标题列有 Assignment1–4,描述为五次编程作业体系,下面按文档罗列的核心任务展开)。作业整体有相当难度,且一次比一次更接近真实的 LLM 系统工程:
| 作业 | 核心任务 | 涉及的工程能力 |
|---|---|---|
| Assignment 1 | 自动微分框架 + CUDA 手写算子 + 基础神经网络构建 | 计算图设计、算子注册、GPU kernel 编写 |
| Assignment 2 | GPT2 模型构建 | Transformer 架构从零实现、训练与采样管线 |
| Assignment 3 | 手写 CUDA 的 Softmax 与 LayerNorm 算子,优化模型训练速度 | 内存访问优化、kernel 融合思想(FlashAttention 思路的先导练习) |
| Assignment 4 | 分布式模型训练 | 多卡通信、并行策略;文档特别提醒自学时环境配置可能较麻烦 |
文档对作业难度的评价值得重视:「实验总体来说是有难度的」,其中Assignment 4(分布式训练)对自学者而言,环境配置是一个明显的坎。建议在进入该阶段前先规划好多 GPU 环境或做好容器化准备。
自学建议与环境准备
文档给出的自学习建议可以总结为「三提前、一跟随」:
- 提前配置支持 CUDA 的开发环境:NVIDIA GPU + CUDA Toolkit + PyTorch;
- 提前复习基础:并行计算与深度学习基础(自动微分、张量运算);
- 提前进入阅读节奏:每次课前阅读指定的论文与幻灯片;
- 跟随作业主线:按作业顺序把 miniTorch 框架从纯 Python 逐步拓展到真实 CUDA 内核——这是本课知识落地的核心路径。
结合仓库其他课程文档的经验(如 CMU 15-779 也强调将课程当作「按周推进的系统训练营」而非只看幻灯片),自学本课时建议为每次作业预留完整的时间块,尤其是 Assignment 3(手写 CUDA 算子)与 Assignment 4(分布式训练)这类需要反复调试的环境密集型任务。
课程资源
文档列出的课程资源以线上课程站为主,配套材料包括:
- 课程网站:课程主页与讲义入口(文档对应 2025 春季学期版本);
- 课程大纲:Syllabus 页面,包含每讲主题与阅读材料;
- 课程作业站:作业发布、说明与评测入口(与主站分离维护);
- 课程教材:精选研究论文 + 《Programming Massively Parallel Processors, 4th Ed》(简称 PMPP)部分章节。
PMPP(《大规模并行处理器编程》第 4 版)是 GPU 编程领域的经典教材,本课引用其部分章节为 CUDA 与并行编程板块提供系统化的教材级支撑,配合精选论文一起构成「教材打底、论文拔高」的阅读体系。
课程站还有配套的英文版本说明,本仓库提供与之对应的英文页面 CMU11-868.en.md,英文阅读无障碍的读者可以直接对照学习。
与仓库内同类课程的横向对比
为了帮你判断这门课是否适合自己,这里结合仓库中其他相关课程文档做一次横向定位:
| 课程 | 视角 | 侧重点 | 与 11-868 的关系 |
|---|---|---|---|
| CMU 11-868 | 系统 | GPU 编程、分布式训练、压缩、推理服务 | 本文主角,从算法到工程全栈 |
| CMU 15-779 | 系统 | kernel 分解、ML 编译、自动并行化、Serving | 同属系统视角,更偏编译与执行层 |
| CMU 11-667 | 算法/应用 | LLM 方法、对齐、RAG、偏见缓解 | 偏上层算法,与 11-868 互补 |
| CMU 11-785 | 深度学习基础 | CNN/RNN/Transformer 全谱系 | 官方建议的先修课 |
总结
CMU 11-868 的核心学习价值在于:用一条从零写自动微分框架到实现分布式训练的主线,把 LLM 系统领域最重要的工程能力完整走一遍。它的最大门槛是深度学习和并行计算基础,最大收获则是让你对 GPU 加速、分布式训练、模型压缩与推理服务这些真实工业场景的核心技术建立「亲手实现过」的理解。对于有志于 LLM 系统方向(训练框架、推理引擎、ML infra)的同学,这是仓库深度生成模型学习路线中非常值得投入的一门课。
【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考