Language Modeling from Scratch
沿着语言模型的构建流程,学习数据、模型、训练与系统的相互联系。
关于这组笔记
个人自学讲义,参考公开课程内容,并加入自行编写的端到端语言模型实验。
查看原课程资料适合的起点
建议熟悉 Python、PyTorch、深度学习与 Transformer。
本系列为个人学习整理,非学校官方发布,不代表学校或授课教师的认可或背书。
沿着目录阅读
当前 18 篇课程讲义
- Lecture 01第 1 讲:课程概述与分词(Tokenization)
- Lecture 02第 2 讲:PyTorch、einops 与资源核算
- Lecture 03第 3 讲:架构与超参数
- Lecture 04第 4 讲:注意力的替代方案与混合专家(MoE)
- Lecture 05第 5 讲:GPU 与 TPU
- Lecture 06第 6 讲:核函数与 Triton
- Lecture 07第 7 讲:并行 I —— 集合通信、数据并行与 ZeRO
- Lecture 08第 8 讲:并行 II —— 流水线、张量、序列、专家并行与 3D 并行
- Lecture 09第 9 讲:规模定律 I —— 用小实验预测大模型
- Lecture 10第 10 讲:推理 —— 为什么生成文本又慢又贵,怎么加速?
- Lecture 11第 11 讲:规模定律 II —— 超参数怎样随规模变化(案例与细节)
- Lecture 12第 12 讲:评估 —— 怎么判断一个模型"好不好"?
- Lecture 13第 13 讲:数据 I —— 训练数据从哪里来?
- Lecture 14第 14 讲:数据 II —— 过滤、去重、混合,以及后训练数据
- Lecture 15第 15 讲:中期训练与后训练 —— SFT 与 RLHF
- Lecture 16第 16 讲:后训练 II —— 可验证奖励的强化学习(RLVR)
- Lecture 17第 17 讲:多模态模型 —— 让语言模型看见图片
- Lecture 18第 18 讲(拓展):全流程实战 —— 从零训练一个会写故事的小模型
从讲义到代码
按课程目录整理的配套示例,保留各单元的文件结构。阅读讲义时,可以下载整套代码,在本地逐步探索。
下载 CS336 代码请在独立虚拟环境中查看依赖后运行;未附模型权重和运行产物;示例未逐一验证。