从零构建大语言模型 · 中文课件
从零构建大语言模型 · 中文课件
本课件参考开源仓库 rasbt/LLMs-from-scratch(MIT License)的章节结构,结合大语言模型领域的公开知识,用中文重新撰写而成,内容为原创教学讲义,不是对原书的翻译。
适合对象:有 Python 和基础深度学习经验,想从底层理解 GPT 类模型如何被构建、训练、微调的开发者与学生。
📖 章节目录
| 章节 | 主题 | 关键产出 | 补充材料 |
|---|---|---|---|
| 第 1 章 | 理解大语言模型 | 弄清 LLM 的范式、训练阶段与 Transformer 角色 | 📖 补充 |
| 第 2 章 | 文本数据处理 | 分词、BPE、滑窗采样、嵌入与位置编码 | 📖 补充 |
| 第 3 章 | 注意力机制 | 自注意力、因果掩码、多头注意力的逐步实现 | 📖 补充 |
| 第 4 章 | 从零实现 GPT 模型 | 残差、LayerNorm、GELU、Transformer Block 拼装 | 📖 补充 |
| 第 5 章 | 在无标注数据上预训练 | 损失函数、训练循环、采样策略、权重加载 | 📖 补充 |
| 第 6 章 | 文本分类微调 | 替换输出头、冻结/解冻、评估垃圾邮件分类 | 📖 补充 |
| 第 7 章 | 指令微调 | 指令数据格式、对齐式训练、初步评估 | 📖 补充 |
| 附录 A | PyTorch 速览 | 张量、自动求导、Dataset/DataLoader、GPU | |
| 附录 D | 训练循环增强 | 学习率热身、余弦衰减、梯度裁剪 | |
| 附录 E | LoRA 参数高效微调 | LoRA 原理与最小实现 |
💡 补充材料来自 MLNLP-World 和 Datawhale 中文翻译项目,经提炼整合后与主章互补,涵盖术语注解、背景知识、进阶实验等扩展内容。
🗺️ 学习路径建议
- 先粗读 1、2 章,搞清楚”大模型到底在学什么”以及输入是怎么变成张量的。
- 重点啃 3、4 章,注意力 + Transformer Block 是后面所有内容的地基;建议每个公式都自己用纸笔画一遍。
- 第 5 章配合一个小语料(如几本古登堡公版书)跑一次完整训练,再加载官方 GPT-2 权重做对比。
- 第 6、7 章任选一条线动手做:分类微调更像传统 NLP,指令微调更接近 ChatGPT 的雏形。
- 附录按需查阅,LoRA 在显存吃紧时尤其有用。
💻 配套代码
所有可运行代码请直接使用原仓库:
git clone https://github.com/rasbt/LLMs-from-scratch.git
cd LLMs-from-scratch
pip install -r requirements.txt
本课件中的代码片段均为标准 PyTorch 实现,方便对照 notebook 学习;变量命名尽量与原仓库保持一致,便于检索。
📐 约定
- 形如
(B, T, C)的注释表示(batch_size, sequence_length, channels),全文统一。 - 公式块用 LaTeX,行内公式用
$...$,块级公式用$$...$$。 - 每章结尾设有 检查清单 与 练习题,建议合上代码再做一遍。
课件版本:v1.0 · 2026-05