Skip to content

LLM from Scratch

从一段原始文本出发,逐步实现 Tokenizer、Transformer、训练循环与推理程序。课程参考 Stanford CS336 的知识体系,但不假设读者已经熟悉完整的深度学习工程栈。

你会学到什么

完成课程后,你应该能够解释并实现一个小型语言模型的完整链路:

  1. 将文本转换为模型可以处理的 token;
  2. 从基本张量运算搭建 Transformer;
  3. 组织训练数据,计算损失并更新参数;
  4. 识别显存、吞吐量与数值稳定性问题;
  5. 加载模型并完成自回归生成。

学习路线

章节内容目标
0. 准备工作Python、PyTorch、环境配置能运行并调试课程代码
1. BPE Tokenizer字节表示、预分词与 BPE 训练将原始文本转换为 token
2. TransformerAttention、MLP、残差连接理解模型内部的数据流
3. 训练语言模型数据、优化器、训练循环独立训练一个小型模型

阅读方式

正文负责解释思路,代码块给出最小实现。标为“动手”的部分建议亲自完成;只阅读代码,很容易错过张量形状、边界条件和数值误差这些真正重要的问题。

建议

第一次学习请从“准备工作”开始。若你已经熟悉 PyTorch,可以直接进入“文本与 Tokenizer”。

课程说明

本教程是独立编写的中文教学材料,并非 CS336 官方翻译。课程会引用公开资料,同时加入适合中文学习者的背景说明、实现拆解和练习设计。