CS336: Language Modeling from Scratch
从零构建语言模型 — Stanford 中文学习笔记
课程简介
CS336 是 Stanford 大学开设的一门硬核 LLM 课程。与其他 AI 课程不同,本课程要求学生从零实现语言模型的每一个组件 — 从 BPE tokenizer 到 Transformer 架构,从 AdamW optimizer 到分布式训练,最后到 RLHF alignment。
课程的核心理念是"通过构建来理解"(Understanding through Building)。学生需要编写的代码量比大多数 AI 课程多一个数量级。
关于本站
本站基于 CS336 Spring 2025 课程内容,整理为中文学习资料。技术术语保留英文原文,方便查阅论文和代码。课程原始资料请访问 官方网站。
课程大纲
课程分为 5 个模块,共 17 讲:
模块一:基础(Basics)
课程概述与 Tokenization
课程介绍、语言模型的训练流程、BPE tokenizer 的原理与实现
PyTorch 与计算资源核算
PyTorch 核心概念、Tensor 操作、FLOPs/内存的计算方法
Transformer 架构与 Hyperparameters
Attention 机制、Transformer 各层详解、超参数选择
模块二:系统(Systems)
Mixture of Experts (MoE)
稀疏模型架构、Expert 路由策略、Load Balancing
GPU 架构与编程模型
GPU 硬件架构、Memory Hierarchy、CUDA 编程模型
GPU Kernels 与 Triton
Kernel 编写、Triton 编程、Flash Attention 实现
Parallelism(上)
Data Parallelism、Distributed Data Parallel (DDP)、通信原语
Parallelism(下)
Tensor Parallelism、Pipeline Parallelism、ZeRO 优化
Inference 优化
KV Cache、Quantization、Speculative Decoding、Batching 策略
模块三:规模(Scaling)
Scaling Laws(上)
Chinchilla Scaling Laws、IsoFLOP 分析、Loss 预测
Scaling Laws(下)
Scaling 的实际细节、超参数转移、训练稳定性
模块四:数据与评估(Data & Evaluation)
Evaluation 评估方法
Perplexity、Benchmark 体系、LM Evaluation Harness
Data Processing(上)
预训练数据来源、文本提取、质量过滤、有害内容检测
Data Processing(下)
Deduplication、PII 移除、数据混合与 Reweighting
模块五:对齐(Alignment)
Alignment: SFT 与 RLHF
Supervised Fine-Tuning、RLHF 流程、Reward Model 训练
Alignment: RLVR
RL from Verifiable Rewards、数学推理任务中的 RL 应用
Alignment: 强化学习进阶
GRPO、Expert Iteration、DPO 等高级 alignment 技术
课程作业
课程共 5 个大型作业,每个都要求从零实现核心组件:
| 作业 | 主题 | 核心内容 |
|---|---|---|
| Assignment 1 | Basics | BPE Tokenizer、Transformer LM、AdamW、Training Loop |
| Assignment 2 | Systems | Triton Flash Attention 2、DDP + Optimizer Sharding |
| Assignment 3 | Scaling | IsoFLOP Scaling Laws 拟合与预测 |
| Assignment 4 | Data | Common Crawl HTML 转文本、过滤、Deduplication |
| Assignment 5 | Alignment | SFT、Expert Iteration、GRPO、Qwen 2.5 Math RL |
前置知识
- 数学基础:线性代数(矩阵运算)、概率论与统计
- 机器学习:相当于 CS229/CS224N 水平
- 编程能力:熟练的 Python + PyTorch 经验
- 系统知识:了解 Memory Hierarchy 等基本概念