
从胡佛塔俯瞰斯坦福大学校园(2014 年 5 月 19 日拍摄)。摄影:Pmlineditor,来源:Wikimedia Commons,许可:CC BY-SA 4.0。
斯坦福 CS336「Language Modeling from Scratch」最新一期是 2026 年春季学期,课程网站、YouTube 讲座录像和 GitHub 作业都已公开,可以免费跟学。五个作业从分词器和 Transformer 写起,依次覆盖 GPU 系统优化、规模定律、预训练数据处理和对齐。门槛在于扎实的 Python 与 PyTorch 功底、大量编码时间和自付的 GPU 费用,公开自学不发证书。
公开资料与开课时间
课程官网 cs336.stanford.edu 目前标注为「Stanford / Spring 2026」,并保留 2025、2024 两期春季课程的往期页面。2026 年春季由 Percy Liang 与 Tatsunori Hashimoto 主讲,3 月 30 日开课,到 6 月 3 日共 19 次课,最后两次是嘉宾讲座。前 17 讲在课表里都附有讲义:Percy 主讲的部分是可执行的 Python 讲义(lecture_XX.py),Tatsu 主讲的部分是 PDF 幻灯片。录像集中在 YouTube 播放列表「Stanford CS336: Language Modeling from Scratch | Spring 2026」,官网课表标题旁也有入口。
课程代码放在 GitHub 组织 stanford-cs336 下:lectures 仓库存放本期讲义源码,assignment1-basics 到 assignment5-alignment 是五个作业的学生版,往期讲义另有 spring2024-lectures 和 spring2025-lectures 两个仓库。2026 年 10 月 22 日查询 GitHub 显示,课程网站仓库最近一次提交在 2026 年 6 月 1 日,lectures 仓库最近一次推送在 2026 年 9 月 12 日,assignment1-basics 最近一次推送在 2026 年 4 月 7 日。作业 1 仓库采用 MIT 许可证,lectures 仓库未声明许可证,转载或改编讲义前需要另行确认。还有一处小差异:作业 2 至 5 的 README 标题都写 Spring 2026,作业 1 主分支的 README 标题仍是 Spring 2025,开始前以官网课表里作业 1 的 code 与 preview 链接为准。
五个作业与对应讲座
课程以五个作业为主线,讲座进度基本围绕作业展开。下表按官网 2026 年春季课表整理,日期为当期发布日与截止日,官网注明截止日期为暂定。
| 作业 | 要做什么 | 对应讲座 | 2026 春发布—截止 |
|---|---|---|---|
| 作业 1:Basics | 自己实现分词器、Transformer 模型结构和优化器,训练一个小型语言模型;数据用 TinyStories 和 OpenWebText 子样本 | 第 1–4 讲:分词,PyTorch 与资源核算(FLOPs、显存、算术强度),架构与超参数,注意力替代方案与混合专家 | 3 月 30 日—4 月 15 日 |
| 作业 2:Systems | 用性能分析工具测量模型各层,用 Triton 自写 FlashAttention2,再实现显存高效的分布式训练 | 第 5–8 讲:GPU 与 TPU,算子与 Triton,并行(两讲) | 4 月 15 日—4 月 29 日 |
| 作业 3:Scaling | 理解 Transformer 各组件的作用,调用训练 API 拟合规模定律并外推 | 第 9、11 讲:规模定律 | 4 月 29 日—5 月 6 日 |
| 作业 4:Data | 把 Common Crawl 原始转储处理成可用的预训练数据,做过滤和去重 | 第 13–14 讲:数据来源,过滤、去重、配比与合成数据 | 5 月 6 日—5 月 20 日 |
| 作业 5:Alignment and Reasoning RL | 用监督微调和强化学习训练模型解数学题;可选第二部分实现 DPO 等安全对齐方法 | 第 15–17 讲:中期与后训练(SFT/RLHF),RLVR,对齐与多模态 | 5 月 20 日—6 月 3 日 |
表外还有第 10 讲推理、第 12 讲评测,以及 6 月 1 日、3 日两场嘉宾讲座(Daniel Selsam、Dan Fu),不直接对应作业。官网对选课学生的规定也值得自学者参考:作业讲义自成体系,除非讲义另有说明,不应查看网上的现成实现;可以向 ChatGPT 等询问底层编程或概念问题,但不能让它直接解题;课程还强烈建议关闭 Cursor Tab、GitHub Copilot 这类 AI 自动补全,理由是它会让人难以深入理解内容。
基础要求、算力费用与证书
官网列出的先修要求有五项:熟练使用 Python 并具备软件工程能力;有深度学习和系统优化经验,熟悉 PyTorch,了解内存层次等基本系统概念;大学微积分与线性代数,能看懂矩阵与向量记号;基础概率统计,如高斯分布、均值、标准差;机器学习基础,相当于斯坦福 CS221、CS229、CS230、CS124 或 CS224N 中的一门。官网特别提醒,作业几乎不给脚手架,代码量比其他课程至少多一个数量级。这是一门 5 学分的课,Stanford Online 标注的投入为 10 周、每周 20–25 小时。
算力需要自己解决。官网列出了 2026 年 3 月 28 日单张 B200 GPU 的公开价格:课程赞助方 Modal 每小时 6.25 美元,每月另有 30 美元免费额度;Lambda 6.69 美元;RunPod 4.99 美元;Nebius 5.50 美元(可抢占实例 3.05 美元);Together 7.49 美元,但最少租 8 张。官网建议先在 CPU 上调通正确性,再按各作业推荐的卡数,用 GPU 完成作业 1、4、5 的训练和作业 2 的 GPU 基准测试。最吃算力的是作业 4:README 写明最终训练使用 8 张 B200,按 Modal 列价约合每小时 50 美元,实际时长要看作业讲义(待核对)。作业 3 的托管训练 API 需要斯坦福学号,非选课者要按 README 自行运行训练脚本,算力同样自付。官方没有给出整门课的总费用估算,总花费待核对,以上价格也会随平台调整。

搭载 NVIDIA Tesla GPU 的计算集群,仅作 GPU 算力的示意,并非 CS336 作业所用的 B200。摄影:ChrisDag,来源:Wikimedia Commons,许可:CC BY 2.0。
免费公开的网站、录像和作业不附带证书。官网写明的提交方式是面向选课学生的 Gradescope,没有提到面向自学者的评分渠道。需要正式凭证的话,Stanford Online 把 CS336 作为研究生课程开放申请:学费 7,875 美元(页面注明可能调整),5 学分,凭证为斯坦福大学成绩单,可计入人工智能研究生证书项目(Artificial Intelligence Graduate Certificate);2026 年这一期的上课时间为 3 月 30 日至 6 月 10 日。截至 2026 年 10 月 22 日,该页面显示当前不开放报名,春季学期标为「可能开设」。由于算力和工作量所限,报名采用候补名单制,需要提交非学位申请和课程专项申请,并要求已获学士学位、本科 GPA 不低于 3.0、修过 CS224N 或类似的自然语言处理课程。下一期的报名截止日期和适用地区页面未写明,待核对。
建议的自学顺序
下面的顺序是本站根据官网课表和各作业 README 整理的建议,不是课程官方要求。
- 先补前置:如果 PyTorch 还不熟练,先把张量操作、自动求导和一个完整的训练循环写熟,再进入 CS336;本站介绍过的 Karpathy 神经网络八讲可以作为衔接。
- 第 1–4 讲 + 作业 1:克隆仓库后用 uv 管理环境,运行
uv run pytest。测试一开始会全部以 NotImplementedError 失败,在tests/adapters.py里接上自己的实现,逐个打通。正确性在 CPU 上调好后,再用 TinyStories 训练小模型。 - 第 5–8 讲 + 作业 2:从这一步开始离不开 GPU。作业 2 仓库自带作业 1 的官方参考实现,作业 1 没有完全做好也能继续。第 10 讲推理可以穿插在这一阶段看。
- 第 9、11 讲 + 作业 3:重点是理解规模定律的拟合与外推。非选课者用不了托管训练 API,动手前先估算自建训练的算力开销。
- 第 12–14 讲 + 作业 4:先用离线模式下载少量文件,把过滤和去重流程写好。README 提示可以调小下载的 WET 文件数量(默认约 2,500 个),预算有限时可以缩小规模,不必照搬 8 卡最终训练。
- 第 15–17 讲 + 作业 5:完成监督微调与强化学习部分,有余力再做可选的安全对齐(DPO 等)。两场嘉宾讲座放在最后看即可。
官方节奏是 10 周跟完全部内容。在职自学者可以按每周实际可用的时间拉长周期,以作业为单位推进,每完成一个作业再进入下一组讲座。