课程仓库: https://github.com/garry-x/llm-course

本地阅读: clone 后 ./serve.sh serve 启动,默认 http://localhost:8080

状态: 持续更新中,本文基于 2026-06-15 的 commit e3e2b08(345 commits)


一句话定位

这是一门 code-first 的 LLM 实战课:不用调 API、不追新版本,而是用 Python + PyTorch 一行行写出 Tokenizer、Attention、Transformer Block、GPT、Training Loop、Inference Optimization,最终拼成一套能训、能生成、能对齐、能部署的完整工程系统。

课程主页:11 章导航 + 章节索引

这课为什么值得看

市面上讲 LLM 的资料不少,但大多分两类:一类是"读论文看公式"的理论课,一类是"调包跑 demo"的项目课。这门课卡在中间,做了件少见的事——把公式翻译成 PyTorch 张量,把论文里的架构改写成工业级代码

具体一点:

  • 11 章 / 251 个 section,从 BPE 到 vLLM 级推理优化全覆盖
  • 每章都有编程作业starter.py + reference_solution.py + tests.py,写完能跑测试验证
  • 工业级架构案例:MLA、MoE、FP8、GRPO/DAPO/GSPO、稀疏/压缩 Attention、Linear Attention、SSM/Mamba、Learnable Residual——不是列名词,而是用代码理解它们解决什么瓶颈
  • 9 份工程附录:符号约定、PyTorch 速查、ML 基础桥接、经典 NLP 衔接、扩展阅读清单

课程的副标题很直白:

Starting from code, 11 chapters to build a complete large language model engineering system.

11 章地图

章节 核心问题 sections
Ch01 Environment Setup & Tokenization 文本怎么变成 token ID(BPE) 19
Ch02 Embedding Layer & Positional Encoding token 怎么变成向量,位置怎么编码 20
Ch03 Single-Head Self-Attention 单头注意力的张量流 20
Ch04 Multi-Head Attention & MLA 多头、KV 复用、MLA 18
Ch05 Transformer Block 残差、Norm、FFN、Block 组合 20
Ch06 Assembling a Complete GPT Model 把上面拼成一个能 forward 的 GPT 18
Ch07 Training Loop next-token prediction = MLE,loss / PPL / 优化器 / checkpoint 26
Ch08 Text Generation 采样策略、KV Cache、解码 25
Ch09 Fine-Tuning & Alignment SFT / LoRA / DPO / GRPO / RFT,行为改写 27
Ch10 Inference Optimization & Frontiers KV Cache、稀疏/线性 Attention、量化、RAG、Agent 38
Ch11 Classical Neural NLP & Evaluation RNN / LSTM / seq2seq / BERT,与现代 LLM 的联系 20

Ch10 是目前最厚的一章(38 个 section,约 235 分钟阅读),信息密度很高:

Chapter 10 首屏:Inference Optimization & Frontiers

这一章的核心不是"罗列 KV Cache / FlashAttention / 量化 / RAG"这些名词,而是教你按瓶颈(计算、内存、IO、调度、检索、部署)给优化技术分类,看完能判断一个慢/贵的推理问题卡在哪个环节。

四个值得关注的细节

1. 每章都有"完成标准"

不是看完视频就算学完。每章开头给出 Prerequisites → In-Chapter Internalization → Validation Signal 三段,结尾给出 Completion Criteria。比如 Ch01 BPE 的标准是:"你能解释一段文本如何变成 token ID,token ID 如何还原成文本"——能用自己的话复述,才算过。

2. 数学和代码不拆成两门课

需要矩阵乘法、链式法则、softmax 求导时,就在当下章节展开,不另开"数学先导课"。附录 docs/math-prerequisites.html 统一整理了符号约定(B/T/S/V/d_model/H/H_kv/D/N/M 等十几个张量符号的语义和 shape),遇到 confusion 再翻,不必先修。

数学前置附录的符号约定表

3. 三阶段学习路径(官方建议)

课程体量大,第一次学不要全修。官方建议三遍走:

  • 第一遍(主干必修):Ch01-Ch06,搭一个能 forward 的 GPT——必须写代码作业
  • 第二遍(让它跑起来):Ch07-Ch08,训练一个小模型并让它生成文本——重点看 loss / optimizer / sampling 的输入输出 shape
  • 第三遍(进阶选读):Ch09-Ch10,微调、对齐、推理优化——先建概念地图,再回头补公式

4. 知识地图可视化

每章顶部都有 SVG 知识地图,标出"学这章前需要知道什么 / 这章解决什么 / 学完后接着读什么"。前后章通过张量流强关联,不跳章效果更好。

Chapter 1 首屏:导览 + 知识地图 + 概念对比表

怎么用

方式一:本地起服务(推荐)

1
2
3
4
git clone https://github.com/garry-x/llm-course
cd llm-course
./serve.sh serve # 默认 0.0.0.0:8080
# 自定义端口: ./serve.sh serve -p 3000

然后打开 http://localhost:8080serve.sh 会自动检测端口占用并询问是否终止占用进程。

方式二:跑作业

1
pip install -r requirements.txt

requirements.txt 只有 4 个核心包:

1
2
3
4
torch>=2.0.0
numpy>=1.24.0
tqdm>=4.65.0
transformers>=4.36.0

每个作业目录(assignments/chXX_xxx/)包含 4 个文件:

  • README.md — 任务说明
  • starter.py — 你的代码起点
  • reference_solution.py — 参考实现
  • tests.py — 验证脚本

跑测试统一用仓库根的 run_assignment_tests.py

适合谁

  • 懂 Python + 基础线性代数,想从代码层真正"造一个 LLM"
  • 已经会用 transformers / LangChain,但想搞清里面到底怎么算的
  • 做训练 / 推理工程,需要把 MLA、MoE、KV Cache、FlashAttention、GRPO 从"听过"变成"能写能调"
  • 不适合:只想调 API 调 prompt 的纯应用层;完全没写过 Python 的纯数学背景

总结

这门课的稀缺之处在于"代码深度 + 工程视野"同时拉满。251 个 section + 11 个编程作业 + 9 份附录,每个知识点都回答三件事:数学上解决什么问题、代码上怎么落到 PyTorch 张量、工程上引入了什么 cost/speed/quality 的取舍。

如果你认真想搞懂 LLM 全链路,推荐从 Ch01 BPE 开始,把 assignments/ch01_bpe/starter.py 写完,跑通 tests.py,然后决定要不要继续往下走。

Star / 提 Issue / 提 PR 都在 https://github.com/garry-x/llm-course,作者维护活跃。


本文配图来自课程仓库 README 与各 chapter / docs 页面截图,版权归属课程作者 garry-x