CS 336(Language Modeling from Scratch)是斯坦福大学开设的研究生课程,灵感来自操作系统课程「从零写一个操作系统」:让学生从空白起步,亲手实现语言模型的每一个环节——数据收集与清洗、Transformer 模型构建、训练、评估到部署。
课程亮点
全流程手写
- Assignment 1(基础):实现分词器、模型架构、优化器,训练一个最小语言模型
- Assignment 2(系统):用 Triton 手写 FlashAttention2,实现高效分布式训练
- Assignment 3(扩展):拟合 scaling law,预测模型扩展行为
- Assignment 4(数据):把原始 Common Crawl 清洗为可用的预训练数据
- Assignment 5(对齐):SFT + 强化学习训练模型数学推理,可选实现 DPO 安全对齐
开源可自学
- 全部课件、代码与作业公开在 GitHub(stanford-cs336)
- 课堂录像公开在 YouTube,可免费自学
- 课程提供云 GPU 计费参考,方便在家完成作业
适合人群
- 想深入理解 LLM 内部原理的工程师
- 想亲手训练 GPT-2 级模型的科研人员
- 具备 Python、PyTorch 基础,愿意写大量代码的学习者
前置要求
- 熟练的 Python 与软件工程能力(作业脚手架极少)
- PyTorch 与系统优化基础(内存层次等)
- 微积分、线性代数、概率统计与机器学习基础