去年我们把 CS336 Spring 2025 从头跟了一遍,写了十几篇笔记。今年 Spring 2026 的课也更新完了,相比于 2025,今年的 CS336 有什么新东西?
一、五条主线
2026 年的 CS336 不是 2025 的修订版,而是一次围绕"MoE + 长上下文 + Agent"的重新组织。
具体展开是五条贯穿全年的主线:
| 主线 | 2025 的状态 | 2026 的状态 | 落点 |
|---|---|---|---|
| MoE 成为默认选择 | L4 一个专题 | dense 模型正在消失,EP 升格为第三类并行,稀疏度本身成了 scaling 维度 | L3 / L4 / L8 / L11 |
| 长上下文成为约束 | 年度主题是"训练稳定性" | 年度主题换成"长上下文",注意力替代方案首次进入课程 | L3 / L4 / L10 |
| Agent 成为第一性变量 | 只在评测里提一句 | 重定义了"语言模型是什么",并改写推理动机、数据合成、后训练 | L1 / L10 / L12 / L14 / L16 |
| 推理经济学反噬训练 | Chinchilla 20:1 是黄金比 | over-train 的第一性理由是 serving,Chinchilla 已成常识 | L9 / L10 |
| 系统—模型co-design 回流 | kernel 只讲怎么写 | 数值格式、网络拓扑、KV cache 开始反向决定架构 | L5 / L8 / L19 |
还有一个不太好归类但很有信息量的观察:Tatsu 在 L11 直接说,近年的 scaling 论文"数量在减少,且大部分来自中国的开源社区"。Kimi K2/K2.5、Qwen3/3.5、GLM-5、DeepSeek V3.2/V4、MiniMax、小米 MiMo 在引用里的密度,已经压过了 Llama 和 Mistral。
二、逐讲增量
在逐讲之前,先说一处能直接反映今年技术取向的改动——Assignment 5 被重写了:
| 2025 | 2026 | |
|---|---|---|
| 基座模型 | Qwen2.5-Math-1.5B | OLMo-2-0425-1B |
| 数据集 | MATH | GSM8K |
| 内容 | SFT(用 R1 的推理轨迹)+ Expert Iteration + GRPO | 删掉 SFT 和 Expert Iteration;改为 prompting + GRPO + 策略梯度变体(RFT、Dr. GRPO、MaxRL) + off-policy GRPO |
| 工程 | — | 新增 vllm_utils.py(起 vLLM server 并同步权重)、drgrpo_grader.py |
SFT 被拿掉,Dr. GRPO 直接进作业——这和后文 L16 对 GRPO 方差归一化的批评是同一件事,是"研究结论当年就进课堂"的样本。作业的变化往往比讲义更能说明技术风向,因为它反映的是"我们觉得你现在该会什么"。
L1 Overview, tokenization [Percy]
课程总览 + 分词。前半讲为什么要有这门课、哪些知识能教哪些只能靠你自己体会、五个单元怎么组织;后半讲 BPE 分词器从零实现,以及压缩率、词表大小这些权衡。
1 | # 开场定位 |
开放模型谱系那张表是整讲里信息密度很高的一块——一年之间从"Llama / DeepSeek 几家"扩到 Kimi、GLM、MiniMax、小米、OLMo 3、Nemotron 3、Marin 全上桌。另外 Scaling laws 单元从"选 N 还是选 D"改成 scaling recipe,等于把这门课对 scaling 的定位从"拟合曲线"抬到了"定配方"。
L2 PyTorch (einops), resource accounting [Percy]
算清账。一张张量占多少显存、一个算子要多少 FLOPs、一次前向+反向总共多少开销——重点是让你在写下代码之前就能估出能不能跑、要跑多久。
1 | # 算术强度与 roofline |
算术强度 + roofline 这一块是今年一处很有教学价值的增量。它把"这个算子快不快"从玄学变成可以手算的式子,而且是 Assignment 2 写 kernel 的直接前置——你不先知道瓶颈在带宽还是在算力,就不知道该优化什么。另外 AdamW 那条默认假设从纯 fp32 改成 bf16 混合精度,本身就是个信号:混合精度已经不是"优化技巧",是基线。
L3 Architectures, hyperparameters [Tatsu]
Transformer 逐个部件拆开讲——归一化放哪、用什么激活函数、RoPE 怎么算、各维度怎么配,以及每一项选择的实验证据。
1 | # 讲次标题与年度主题 |
"cheap layer"分裂成了 SWA 和 SSM 两条路线,而 Gemma 4 是唯一还在大幅改架构的玩家(P-RoPE、逐层 embedding、aspect ratio 降到 61)。
L4 Attention alternatives and MoEs [Tatsu]
2025 年只讲 MoE(混合专家)。2026 年前半讲全新:怎么把 attention 的二次复杂度降下来;后半讲才是 MoE。60 页里前 13 页是 2025 年完全不存在的内容。
1 | # 讲次标题 |
这讲几乎整讲都是新内容。四代模型用一个公式骨架串起来(线性注意力 → 加 γ 门控 = Mamba-2 → 加 β 门与方向擦除 = GDN),讲法上非常干净。而 DSA 是完全不同的第二条路线——稀疏而非线性,且能 post-hoc 插进长上下文扩展阶段。
L5 GPUs, TPUs [Tatsu]
GPU 到底是怎么组织的——执行单元(SM 里的 SP)与存储层级(L1 / shared memory / L2 / HBM)长什么样,thread / block / warp 的执行与内存模型是什么,中间插两页 TPU 对照;然后用 roofline 讲清"GPU 为什么会慢",给出六招(控制发散、低精度、算子融合、重计算、内存合并、分块),最后用这套语言把 FlashAttention 拆开。
1 | # 讲次标题 |
L6 Kernels, Triton [Percy]
怎么知道 GPU 代码慢在哪、以及怎么手写 kernel 提速。前半讲是 benchmarking(只看端到端时间)与 profiling(看时间花在哪个 kernel 上);后半讲用 Triton 从逐元素的 GeLU 写到按行归约的 softmax / row-sum,再写到分块的 matmul。(今年主讲人从 Tatsu 换成 Percy。)
1 | # 硬件表 |
重心从"怎么写 kernel"移到了"为什么慢"。warp occupancy / bank conflict / memory coalescing 这块 2025 年完全没有,而且能手算——占用率 12 warps / 64 = 18%、coalescing 阈值 128B,每一样都能直接指导 Assignment 2。更干脆的信号是手写 CUDA 整段被删,五种写法砍到三种:"NVIDIA 的编译器已经相当成熟,只有不那么成熟的加速器才值得人去写 PTX。"
L7 Parallelism(Percy)
怎么把一个大模型塞进多张卡。先讲硬件——GPU 之间的互联带宽(NVLink / Infiniband / Ethernet)是并行的物理上限;再讲集合通信原语(all-gather / reduce-scatter / all-reduce);最后用"有效带宽"这个式子回答"加卡到底能快多少"。
1 | # 硬件互联(升为独立章,数字换代) |
硬件数字全面换代是今年并行的主旋律——B200 的 NVLink 1.8 TB/s 对上 HBM 8 TB/s,约 4 倍差距直接划定了"什么操作必须留在单卡、什么可以跨卡"的边界。all-to-all 作为专门为 MoE 新增的通信原语,是 MoE 成为默认架构在系统层的直接投影;而有效带宽"与 world size、拓扑都无关"这个结论,把"加卡能不能线性提速"从经验主义变成了可以心算的式子。
L8 Parallelism(Tatsu)
上一讲讲"卡之间怎么通信",这一讲讲"模型怎么切到多张卡上"。四种模型并行——pipeline(按层切)、tensor(按算子切)、sequence(按序列切)、expert(按专家切)——怎么组合、各自吃多少显存,以及真实模型(Mixtral / Nemotron / Qwen / DeepSeek)的配置长什么样。
1 | # 并行分类 |
"三类并行"取代"两类"、EP 独立成章,背后是同一个事实——MoE 已经从专题变成默认。把"为什么 tensor 并行永远不够、必须配 sequence 并行"从一个工程直觉,变成了一笔能摆出来的账。相比之下,删掉 Ring attention、让位给 EP,说明课程自己的取舍也在跟着产业走。
L9 Scaling laws basics(Tatsu)
scaling law 基础——Kaplan 与 Chinchilla 为什么对不上、over-train 到多少比例合适、数据不够时会怎样,以及这些"律"到底在什么条件下才成立、什么时候会失效。
1 | # 算力与数据 |
这讲里"scaling law 是下界不是上界"这句值得记住——它提醒你,这些曲线是用来筛掉坏 recipe 的,不是用来外推未来的。over-train 的叙事也变了:20:1 从黄金比降格为"那个还没被 serving 折磨过的时代"的产物。
L10 Inference(Percy)
模型训好了之后怎么高效地 serve——KV cache 是推理的核心开销,量化、投机采样、推理框架都是围绕它做的优化。
1 | # 为什么推理重要 |
这讲两处改动值得留意:一是把"为什么推理重要"的论证从"人类读得过来就行"改成 agent 视角(agent 自己放大 token 需求,推理效率=算力经济);二是砍掉讲 transformer 替代架构的一大块正文(S4/Mamba/Jamba/BASED/MiniMax-01/扩散 LM),只在总结里留一句"长上下文仍是机会所在"。焦点因此从"架构探索"挪到了"怎么把现有注意力架构高效地 serve 出来"。
L11 Scaling: case study and details(Tatsu)
scaling 的实战细节——超参(batch、LR)到底怎么定、优化器(Adam 还是 Muon)怎么选,用 StepFun、Kimi K2、Qwen 的具体研究当案例。
1 | # 超参怎么定(StepFun 研究) |
这一讲把"定超参"从玄学拉回可操作——batch ∝ √D、最优 LR 随 D 升随模型降,这些都可以直接抄。但真正的戏肉是 Muon 的完整叙事弧:从 nanoGPT 惊艳、到大规模收益递减、再到 Kimi K2 全模型实跑但没 ablation,最后用一句"有没有进过大规模训练 run"收尾——这几乎是判断"一项新研究值不值得跟进"的通用尺子。
L12 Evaluation(Percy)
怎么衡量"模型好不好"。从 benchmark 的选择、污染的定义、到"什么叫好"这件事本身——2026 年的答案把 agent 和成本也算了进去。
1 | # 开场(整体替换) |
开场那张"智能指数 vs 推理成本"散点图值得记住——它把"好"的定义从榜单分数扩展成了性价比,这是 2025 年完全没有的视角。agents 被提进 takeaway 的"methods vs models vs agents"三件套,意味着评测的对象已经不只是模型,而是"scaffold + model"这个组合。
L13 Data: sources, datasets(Percy)
数据从哪来、什么数据能用、具体有哪些源。2026 年把法务提前到最前面,数据合规从"附录"变成了"前提"。
1 | # 叙事重构 |
把法务从最后一页挪到第一页,本身就是行业成熟度的信号——数据合规从"之后再说"变成了"先想清楚能不能用"。CommonPile 那三个坑尤其值得记,因为它们都是"看起来干净、实际踩了才知道脏"的问题,license laundering 和 data laundering 这两个词,几乎就是这一讲的浓缩。
L14 Data: filtering, dedup, mixing, synthetic data(Percy)
拿到数据之后怎么清洗、去重、混合、合成。两个全新整块——data mixing 和 agent 轨迹合成数据——是 2025 年完全没有的内容。
1 | # 标题 |
data mixing 从 0 到一整块,是这门课从"怎么训练"转向"怎么喂数据"的一个清晰信号。那个 epoch 隐藏陷阱(10T+10B 混训 1T 让高质源悄悄被 epoch 50 次)是少数能直接搬进自己工作里的思维模型。合成数据从"扩量"转向"造 agent 轨迹",则和 L16 的 agentic RL 首尾呼应。
L15 Mid/post-training(Tatsu)
预训练之后、RL 之前的这段——mid-training(在 decay 阶段混高质量数据)和 SFT。标题从 "Alignment - SFT/RLHF" 改成了 "Mid/post-training"。
1 | # Mid-training 成为正式框架 |
"base model 是谎话":市面上那些"base model"其实都已经见过聊天数据,做研究时别把它们当纯净起点。mid-training 的工程价值不在效果,而在"比预训练短、能跑 10 倍消融"。
L16 Post-training: RLVR(Tatsu)
用可验证奖励做强化学习(RLVR)——数学/代码这类能自动判对错的 reward 怎么用,以及它有多容易被 hack。
1 | # 结构重组 |
reward hacking 这一段,值得单独说——agent 为了拿 reward 去篡改 git 历史、用字符串骗过 Lean 编译器,说明"可验证奖励"四个字里的"可验证"远比想象中脆弱。GRPO 的"除以 std 有偏"也被正式写进讲义。
L17 Alignment - multimodality(Percy)
多模态模型——怎么让语言模型看图和视频。两条路线:连续编码器注入(主流)和离散 token 统一。2025 年的 L17 是 RL 第三讲(手搓 GRPO demo),2026 换成了多模态——今年最大的一次内容替换。
1 | # 整讲替换 |
把 RL 第三讲整个换成多模态,说明课程组认为"多模态"比"更多 RL"更值得占这一课时。两条路线里,连续编码器是主流、离散 token(Chameleon)崩在"文本低熵 vs 图像高熵"这个漂亮的技术解释上——这两条路线的取舍,是理解今天所有 VLM 架构的钥匙。
L19 Guest lecture: Dan Fu(UCSD / Together)
inference 是把电力变成智能的引擎。从 token 的一生、到 KV cache 的分层、到 mega kernel 和循环 transformer 的稳定性理论。(2026 课表上有 Daniel Selsam 和 Dan Fu 两场,但播放列表只上传了 Dan Fu。)
1 | # 客座阵容 |
把 L5-L8 那些散的硬件/系统知识收拢成一个统一视角:推理时代的瓶颈不在模型而在系统,于是网络拓扑、量化格式、甚至芯片收购都开始反过来决定模型设计。这个谱半径视角——把"循环 transformer 训练十次九爆"这个经验现象,归约成"A 矩阵谱半径 > 1"一句数学判断,再给出负对角矩阵的解法。是"系统—算法协同设计"在课程里一个很漂亮的落地。