想读懂 vLLM 为什么要把 KV cache 切成固定大小的块,你得同时知道三件事:Transformer 在 decode 阶段每步要读哪些张量、操作系统的分页是怎么回事、GPU 显存为什么是瓶颈。这三件事分别来自 ML、操作系统和体系结构三门课。AI Infra 难入门,原因就在这里:它几乎不独立成一门课,而是建在整条 CS 基础之上。

所以路线是一条依赖链:编程 → 数学与算法 → 计算机系统 → 机器学习 → LLM。编程给你把想法变成可运行代码的能力;线性代数和概率是读懂任何模型的语言,算法课教你分析复杂度;系统课(CSAPP、操作系统、网络)解释内存层次、进程、并发,这正是推理引擎和训练框架每天在对付的东西;ML 课建立反向传播和训练闭环的直觉;最后 CS336 这类 LLM 课把前面所有东西拧在一起:从 BPE、Transformer 一路写到 FlashAttention、DDP、scaling law 和对齐。

这条链不必严格串行。数学三门课可以并行,每天各一小时;系统和 ML 两条线在第二年可以交错推进。但有两处硬依赖跳不过去:没有反向传播的直觉,Karpathy 的 GPT 视频会看得很吃力;没写过 C 和指针,CSAPP 的 Lab 无从下手。下面每个阶段的表格给出课程、链接、耗时和本库对应的篇目。耗时按每天有效学习 6–8 小时估计,核心路线约两年;实际耗时可对照 csdiy.wiki 上多人的反馈。

阶段零:工具与入门

工具链越早学越省时间。这几门课不在主线上,但会贯穿后面所有 Lab。

课程视频 / 作业耗时本库对应
MIT Missing Semester讲义与录播同在官网(如 shell 讲)1–2 周Shell 与命令行环境、Git 的数据模型、调试测试与工程实践
Harvard CS50x 2024讲义;另有 CS50 SQLC 与内存部分 1–2 周C++ 内存与所有权、信息的表示
Crash Course Computer ScienceYouTube · B 站40 集,鸟瞰用全路线的地图,不替代任何一门课
NUS CS2113T 软件工程教材网页版按需查调试测试与工程实践、Git 的数据模型

阶段一:编程与抽象(6–8 周)

课程视频 / 作业耗时本库对应
Berkeley CS61A讲义、作业、project、自动评分器全部公开;教材 Composing Programs,中文版 csfive/composing-programs-zh6–8 周函数与环境模型、高阶函数与递归、数据抽象与对象、迭代器生成器与解释器

61A 之后再补 Python 的工程面和 C++:Python 对象模型、Python 并发与性能、C++ 内存与所有权、编译链接与 Python 扩展。Scheme 解释器 project 即使会 Python 也值得做,它让你看清程序是怎么被解析和求值的。

阶段二:数学(2–3 个月,三门并行)

课程视频 / 作业耗时本库对应
MIT 18.06 线性代数OCW Spring 2010(习题与解答) · 视频 35 讲;几何直觉弱先看 3Blue1Brown(3–4 小时)每天约 1 小时线性代数
Harvard Stat 110 概率论YouTube 34 讲;Strategic Practice 附解答每天约 1 小时概率论
MIT 6.042J 离散数学OCW 上视频、讲义、习题、考试全免费按需查离散数学

学过的数学课可以当字典用:卡在某个概念时回到对应篇目,再看相应讲次。6.042J 的图论和递推会在 CS161 里以算法的形式重现,系统和 AI 方向的读者看不懂正确性证明时再回来。

阶段三:算法与数据结构(3–4 个月)

课程视频 / 作业耗时本库对应
Stanford CS161 / Algorithms Illuminated讲座视频免费;Coursera 专项(4 门);每周编程作业约 2 个月算法设计
Berkeley CS61B当前学期 Spring 2026,历史学期如 sp25;课程用 Java约 2 个月(没写过 Java 加 1 周)数据结构

阶段四:计算机系统(4–5 个月)

这是 AI Infra 方向最该下功夫的阶段。内存层次、虚拟内存、并发在后面的 GPU 和推理系统里会以新面目再出现一次。

课程视频 / 作业耗时本库对应
CMU 15-213 CSAPP教材官网(Student Site 公开全部 Lab) · B 站录播约 2 个月;前置 C 与指针 1–2 周信息的表示、机器级程序、内存层次与缓存、进程异常与信号、虚拟内存、并发与同步、文件系统与 IO
MIT 6.1810 操作系统xv6 Labs;旧课号 6.828;预习 OSTEP(通读约 2 周)约 2 个月虚拟内存、并发与同步、文件系统与 IO、进程异常与信号
Stanford CS144 计算机网络官网含全部 Lab 说明;轻量方案:Kurose 前六章约 2 周 + 两个 Lab1–2 个月网络:从链路到 IP、网络:TCP 与应用层

阶段五:机器学习与深度学习

课程视频 / 作业耗时本库对应
Andrew Ng Machine Learning Specialization每周 Jupyter 实验(2022 重制版)2–3 周;学过 ML 可跳过从线性回归到神经网络
Stanford CS231n讲义 cs231n.github.io;A1–A3 手写网络、CNN、Transformer1–2 个月训练深度网络与 CNN、从线性回归到神经网络
Stanford CS224n讲义、slides、作业全部公开;A1–A4 从词向量到 LLM 评估1–2 个月序列模型与注意力的起源、Transformer 架构、评估
Karpathy · Let’s build GPT视频(约 2 小时,边看边写 1–2 天) · ng-video-lecture · nanoGPT1 周(含 micrograd、makemore、tokenizer)Transformer 架构、分词

Karpathy 的视频节奏快,默认你理解梯度怎样在计算图里流动。先做 CS231n 的反向传播作业,或花半天写一遍 micrograd,再看会顺很多。

阶段六:大语言模型与 AI Infra

课程 / 项目视频 / 作业耗时本库对应
Stanford CS336 Language Modeling from Scratch(Spring 2026)lecture materials · YouTube 录像 · B 站;18 讲 + 5 个作业一学期见下表
llm.c纯 C/CUDA 实现的 LLM 训练学完 CSAPP 后 1–2 周GPU 与 Kernel、并行训练

CS336 的 5 个作业几乎覆盖本库第 06 部分:

作业内容本库对应
A1 BasicsBPE、Transformer、AdamW、training loop分词、Transformer 架构、资源核算与 Scaling Laws
A2 Systemsprofiling、Triton FlashAttention2、DDP / FSDPGPU 与 Kernel、FlashAttention、并行训练
A3 Scalingscaling-law 实验与预测资源核算与 Scaling Laws
A4 DataCommon Crawl 处理、过滤、去重预训练数据
A5 AlignmentSFT、reasoning RL、DPO后训练、评估

讲座里另有 MoE、推理、多模态几讲,对应 注意力变体与 MoE、推理系统、多模态。应用层的检索与工具调用见 RAG 与 Agent。

做完 CS336 想接触工业级代码,可以按方向读这些开源框架:训练侧 Megatron-LM core、Pai-Megatron-Patch;后训练侧 verl(从 GRPO examples 入手)、ms-swift;数据侧 DCLM;评估侧 lm-evaluation-harness。完整开源配方可读 Tülu 3 和 OLMoE 两篇技术报告。

阶段七:进阶系统(选修)

课程视频 / 作业耗时本库对应
MIT 6.5840 分布式系统每周一篇论文 + Go Labs(Raft 层层叠加);旧课号 6.824完整约 2 个月;只读论文约 2 周分布式系统
CMU 15-445 数据库系统YouTube 官方录播;Project 基于 BusTub完整约 2 个月;只看讲座约 2 周数据库系统

分布式系统和 并行训练 共享同一组问题(容错、一致性、通信),想做集群调度或训练框架的读者值得修。

学习方法

自学最常见的失败,是同时开五门课然后全部半途而废。所以第一条规则是一次只学一门:学完或明确放弃,再开下一门。第二条是以产出为判据:能独立写出 Lab、答出本库各篇的测验,才算学完,“视频看完了”不算。不做题等于没学,慢一点反而更快。

卡住时先自己想满两小时,再求助;求助的顺序是测试用例 → 思路 → 代码。社区仓库大多停在旧学期(CS144 Sponge、xv6 2020/2022、CS61B 2018–2022),作业版本以官网当前学期为准。star 数衡量的是受众规模而非难度:Ng 专项的解答仓库 7.7k★,CSAPP Labs 仓库 2.6k★,后者的含金量高得多。课程、教材和论文大多是英文,英文阅读是硬性前提。

场景社区解答怎么用
价值在”自己拆”的 Lab(Bomb / Attack、Page tables / COW、CS231n 手写网络、CS161 编程作业)完全不看解答;卡住查工具用法(如 GDB),不查答案
有性能评分的 Lab(Cache / Malloc)做完自己的版本后,对照别人的实现看性能差距
”不知道改哪个结构体”型卡点(xv6、Raft 边界情况)卡满两小时无进展,看 writeup 的思路与踩坑部分,不看代码
概念没看懂看官方讲义、中文笔记

跨课程社区资源

单门课的解答仓库不在这里列,用上面的规则按需搜。

资源说明
PKUFlyingPig/cs-self-learning(网页版 csdiy.wiki)中文 CS 自学指南,覆盖本路线几乎每门课,标注先修、难度、耗时与资源;耗时来自多人反馈
OpenExamFDU/FDU-csdiy复旦版自学指南
LamberttLiu/CS-Basic-SelfLearning数据结构 / 操作系统 / 网络 / 组成原理四门的自学记录,偏国内考研体系
harvardnlp/annotated-transformer · 中文版逐行注释的 Transformer 论文实现,配合 CS224n 与 Karpathy 视频
wzchen/probability_cheatsheet10 页概率速查表,Stat 110 助教制作
MLNLP-World/MIT-Linear-Algebra-Notes18.06 按讲次整理的中文笔记
CS336 第三方中文笔记CS336 2026 逐讲中文笔记

记住这三件事

  1. 路线是依赖链:编程 → 数学与算法 → 系统 → ML → LLM,AI Infra 建在系统和 ML 两条线的交点上。
  2. 一次只学一门,以写出 Lab、答出测验为学完的判据。
  3. 卡住先自己想两小时,社区解答按”测试用例 → 思路 → 代码”的顺序用。

延伸阅读