课程必读深入
斯坦福 CS336:从零构建语言模型(2026 春)
斯坦福大学 2026 年春季 CS336 “Language Modeling from Scratch” 课程主页,授课教师为 Tatsunori Hashimoto 和 Percy Liang,另列有多名课程助理及各自的答疑时间,课程录像发布在 YouTube 播放列表。页面介绍课程定位:语言模型是现代自然语言处理应用的基础,课程通过带学生走完开发语言模型的完整流程,帮助其全面理解语言模型。页面还提供往期开课(2025 春、2024 春)链接和课程联系方式说明。课程涉及大规模模型训练,适合具备深度学习与系统实现基础、希望深入理解语言模型构建过程的人了解。
- 收录时间
- 2026-10-29
- 难度
- 深入
- 语言
- 英文
- 规模
- 19 讲
- 费用
- 免费
- 动手
- 5 次作业 · 从零实现
学完你能
- 从分词、模型结构到优化器,从零实现并训练一个标准 Transformer 语言模型
- 用性能剖析与基准工具分析模型,并用 Triton 自行实现 FlashAttention2
- 构建显存友好、分布式的训练代码,理解多机 GPU 上的并行训练
- 改写 Transformer 各组件的功能,并通过训练 API 拟合缩放律来预测模型规模
- 把原始 Common Crawl 数据转成可用的预训练数据,并做过滤与去重
- 用监督微调与强化学习训练语言模型解题推理,并可选择实现 DPO 等安全对齐方法
适合你吗
适合
- 具备较强 Python 与软件工程能力、愿意写大量代码的学习者
- 熟悉 PyTorch 与深度学习、并了解内存层级等基本系统概念的人
- 希望完整走一遍语言模型从数据、训练到评估部署流程的工程师与研究者
暂不适合
- 编程经验有限、期望课程提供大量脚手架代码的初学者
- 不打算投入较多时间完成重实现型作业的人
需要先会
需要熟练的 Python 与软件工程能力、PyTorch 与深度学习经验、基本系统优化概念,以及微积分、线性代数、概率统计和机器学习基础。
课程特点
- 内容侧重
- 按操作系统课“从零构建”的思路,覆盖数据收集清洗、Transformer 构建、训练、评估到部署的完整流程,并侧重 GPU 上的高效实现与多机训练。
- 练习与项目
- 5 次作业:基础组件实现与最小模型训练、系统性能剖析与 Triton FlashAttention2、缩放律、数据处理、对齐与推理强化学习(含可选的 DPO 安全对齐);通过 Gradescope 提交,可多次提交、只评最后一次。
- 投入时间
- 课程为 5 学分;讲座为周一、周三 15:00–16:20。
- 费用说明
- 课程材料与 YouTube 录像可公开访问;自行学习如需 GPU 算力需自费使用云服务(如 Modal 单张 B200 约 $6.25/小时)。
内容覆盖
- 第 1 讲 概览与分词
- 第 2 讲 PyTorch(einops)与资源核算(FLOPs、内存、算术强度)
- 第 3 讲 架构与超参数
- 第 4 讲 注意力替代方案与专家混合
- 第 5 讲 GPU 与 TPU
- 第 6 讲 内核与 Triton
- 第 7 讲 并行
- 第 8 讲 并行
- 第 9 讲 缩放律
- 第 10 讲 推理
- 第 11 讲 缩放律
- 第 12 讲 评估
- 第 13 讲 数据(来源与数据集)
- 第 14 讲 数据(过滤、去重、混合、合成数据)
- 第 15 讲 中段/后训练(SFT/RLHF)
- 第 16 讲 后训练——RLVR
- 第 17 讲 对齐——多模态
- 第 18 讲 客座讲座:Daniel Selsam
- 第 19 讲 客座讲座:Dan Fu
课程各讲
已上线 18 讲 · YouTube 视频合集(新标签页打开)
- Recordings:(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 2: PyTorch (einops)(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 3: Architectures(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 4: Attention Alternatives(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 5: GPUs, TPUs(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 6: Kernels, Triton, XLA(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 7: Parallelism(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 8: Parallelism(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 9: Scaling Laws(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 10: Inference(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 11: Scaling Laws(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 12: Evaluation(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 13: Data (Sources, Datasets)(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 14: Data(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 15: Mid/Post-Training(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 16: Post-Training - RLVR(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Lecture 17: Alignment - Multimodality(新标签页打开)
- Stanford CS336 Language Modeling from Scratch | Spring 2026 | Guest Lecture: Dan Fu(新标签页打开)