CS336 语言模型从零构建知识地图:一张图拆开 Stanford LLM 训练课


CS336 语言模型从零构建知识地图:一张图拆开 Stanford LLM 训练课

Stanford CS336《Language Modeling from Scratch》不是那种“讲一堆 Transformer 概念就结束”的课。

它真正有价值的地方在于:它把一个语言模型从零做出来所需的几条主线放到了一起——模型结构、训练系统、算力效率、数据工程、Scaling Laws、评测、推理和对齐。如果你不是只想调用 API,而是想理解大模型为什么这样训练、哪里贵、哪里难、哪里容易踩坑,这门课很适合当作路线图。

但课程原网页是按日期排的。对自学者来说,按时间顺序看不一定最友好:你很容易今天看 tokenizer,明天跳到 GPU,再过几天突然 scaling law,脑子里缺少一张总图。

所以这篇文章不做逐课翻译,而是把 CS336 拆成一张中文知识地图:每一块告诉你学什么、为什么重要、对应哪几节课、该做哪份作业。等你有时间,就可以按模块点进去看。

课程主页:CS336: Language Modeling from Scratch, Spring 2026

先看总图:从一个 Token 到一个可用模型

flowchart TD
    A[文本进入模型] --> B[Tokenization 与基础训练代码]
    B --> C[Transformer 架构与超参数]
    C --> D[GPU / Kernel / Triton]
    D --> E[并行训练系统]
    E --> F[Scaling Laws 与训练预算]
    F --> G[数据工程与数据质量]
    G --> H[评测与推理]
    H --> I[SFT / RLHF / RLVR 对齐]
    I --> J[可用、可评估、可迭代的语言模型]

这张图可以理解为 CS336 的学习顺序:

  • 先能跑起来:tokenizer、PyTorch、Transformer、训练循环。
  • 再让它跑得动:GPU、kernel、Triton、并行训练。
  • 然后知道该训练多大:Scaling Laws、资源预算、训练曲线。
  • 接着处理真实世界问题:数据质量、评测体系、推理成本。
  • 最后让模型更像产品:SFT、RLHF、RLVR、对齐与反馈学习。

如果只想快速建立框架,先看总图和每块的“学习目标”;如果想动手,优先做 5 个 assignment。

模块一:从文本到训练样本

这一块解决最基础、也最容易被低估的问题:模型到底吃进去的是什么?

很多人学语言模型时会直接从 Transformer 开始,但实际训练里,tokenization 会影响词表、序列长度、训练效率、长尾字符处理,甚至影响多语言能力。CS336 第一节课把入口放在 tokenization,是很合理的。

你要建立的概念

  • 原始文本不会直接进入模型,而是先被切成 token。
  • tokenizer 不是纯工程细节,它会改变训练分布和上下文利用率。
  • 从零训练模型时,数据清洗、编码方式、batch 构造都属于基础设施。

对应资料

对应作业

这一份作业最适合当“入门门槛”:如果你能把它认真做完,后面的系统优化、扩展规律、对齐训练才不只是听概念。

模块二:Transformer 架构与训练基本功

有了 token 和数据流,下一步才是模型本体。

这里的重点不是背诵“Attention is All You Need”,而是理解训练一个语言模型时,架构选择和超参数会怎样影响容量、稳定性和成本。比如层数、宽度、attention 形式、MoE、学习率、batch size、上下文长度,都会在训练预算里互相牵制。

你要建立的概念

  • Transformer 是语言模型的核心计算图,但不是唯一决策点。
  • 超参数不是“调参玄学”,而是和算力预算、数据规模、模型大小绑定。
  • MoE 的价值不只是“参数更多”,而是用稀疏激活改变计算和容量的关系。

对应资料

推荐学习方式

先看 Lecture 2,把 PyTorch 和资源记账补起来;再看 Lecture 3 理解标准 Transformer 训练;最后看 Lecture 4 的 MoE。这样顺序更自然:先密集模型,再理解为什么需要稀疏模型

模块三:GPU、Kernel 与训练系统

这是 CS336 和很多普通 LLM 课程最大的差别之一:它不把“系统”当作附录。

真实的大模型训练不是“写个 PyTorch 脚本然后等它跑完”。瓶颈经常来自显存、带宽、通信、kernel launch、并行策略,而不是模型公式本身。你如果只懂 Transformer 不懂系统,就很难判断训练为什么慢、为什么爆显存、为什么扩 GPU 后效率反而下降。

你要建立的概念

  • GPU 不是“更快的 CPU”,它有自己的内存层级和并行计算模型。
  • Kernel 优化的核心是减少无效访存、提高并行度、降低调度开销。
  • Triton 的意义在于让研究者能写接近底层性能的 GPU kernel。
  • 并行训练不是只有 data parallel,还有 tensor/pipeline/sequence 等维度。

对应资料

对应作业

如果你想走 LLM Infra、训练框架、推理引擎、GPU kernel 方向,这一块值得反复啃。它比“会调 API”难得多,但也更有护城河。

模块四:Scaling Laws 与训练预算

模型做大以后,最重要的问题会变成:我到底该训练多大的模型、用多少数据、花多少算力?

Scaling Laws 的价值就在这里。它不是为了画漂亮曲线,而是为了让训练决策从拍脑袋变成可估算:在固定预算下,模型参数、数据 token、训练步数应该如何分配?什么时候继续加数据更划算?什么时候加参数更划算?什么时候只是浪费 GPU?

你要建立的概念

  • loss 会随模型规模、数据规模、计算量呈现可预测趋势。
  • 训练预算不是单独看参数量,而是看 compute、data、model 的组合。
  • 小规模实验可以用于预测大规模训练,但前提是实验设计靠谱。
  • Scaling law 是工程决策工具,不只是论文里的经验公式。

对应资料

对应作业

这一块建议和推理一起看,因为训练成本和推理成本最后都会回到同一个问题:模型能力不是免费的,系统账必须算清楚。

模块五:评测、数据与模型质量

当模型可以训练、可以扩展之后,下一个问题是:它真的变好了吗?

这也是很多项目最容易翻车的地方。训练 loss 降了,不代表用户体验变好;benchmark 涨了,不代表真实任务可用;数据更多,也不代表质量更高。CS336 把 Evaluation 和 Data 放在 scaling 之后,非常符合真实研发节奏:当你开始认真扩模型时,数据和评测会变成最关键的杠杆。

你要建立的概念

  • 评测不是最后打分,而是训练过程中的反馈系统。
  • 数据质量、去重、过滤、混合比例,会直接影响模型能力边界。
  • 好的 benchmark 应该和目标能力相关,否则容易优化错方向。
  • 数据工程是 LLM 能力的一部分,不是“脏活外包”。

对应资料

对应作业

如果你未来想做 Agent、RAG、垂直模型或企业 AI,这一块尤其重要。很多时候,模型效果差不是因为“模型不够大”,而是数据和评测闭环没有搭起来。

模块六:SFT、RLHF 与 RLVR 对齐

预训练模型学会的是“预测下一个 token”,但用户想要的是“按我的意图完成任务”。这中间的落差,就是对齐要解决的问题。

CS336 后半部分进入 SFT、RLHF、RLVR。这里不应该只把它理解成“让模型更听话”,更准确地说,它是在构建一个反馈系统:用示范数据、偏好信号、奖励模型或可验证奖励,把基础模型推向更适合任务和产品的行为分布。

你要建立的概念

  • SFT 让模型模仿高质量示范,是从预训练到可用助手的第一步。
  • RLHF 用人类偏好构造优化目标,但会引入奖励建模和稳定性问题。
  • RLVR 更强调可验证奖励,在数学、代码、推理任务里尤其重要。
  • 对齐不是魔法,它仍然受数据、评测、训练稳定性和系统成本约束。

对应资料

对应作业

对齐部分建议放在最后学。因为如果前面的训练系统、数据、评测没建立起来,RLHF 很容易被误解成一套孤立算法,而不是完整模型工程链条里的最后几步。

模块七:前沿讲座与行业视角

CS336 后面还有两场 guest lecture,适合作为扩展阅读。它们不一定是“基础必修”,但适合用来连接工业界的真实问题。

对应资料

  • Guest Lecture:Daniel Selsam
  • Guest Lecture:Dan Fu

这类讲座最适合在你完成前六个模块后再看:前面建立底层地图,后面再看行业专家怎么取舍,收获会更大。

如果只想自学,推荐三条路径

不同目标的人不必按同一条路线学。可以按自己的方向选择重点。

路径 A:想理解 LLM 从零训练

推荐顺序:

  1. Lecture 1:Tokenization
  2. Lecture 2:PyTorch 与资源记账
  3. Lecture 3:架构与超参数
  4. Assignment 1 Basics
  5. Lecture 12-14:Evaluation 与 Data

这条路适合想补齐基础的人。目标不是马上训练大模型,而是理解一个语言模型训练项目有哪些必要组件。

路径 B:想走 LLM Infra / Systems

推荐顺序:

  1. Lecture 5:GPUs
  2. Lecture 6:Kernels, Triton
  3. Lecture 7-8:Parallelism
  4. Assignment 2 Systems
  5. Lecture 10:Inference

这条路更偏工程和性能优化。它不会像做 prompt 那样立刻有“可见成果”,但长期价值很高。

路径 C:想做模型训练策略与对齐

推荐顺序:

  1. Lecture 9 / 11:Scaling Laws
  2. Assignment 3 Scaling
  3. Lecture 12-14:Evaluation 与 Data
  4. Lecture 15-17:SFT、RLHF、RLVR
  5. Assignment 5 Alignment

这条路适合对 post-training、推理模型、奖励建模、评测体系感兴趣的人。

五份作业入口汇总

如果只能收藏一部分,我建议优先收藏作业。课件让你理解,作业逼你真的动手。

最后:这门课最值得学的不是“知识点”,而是工程视角

CS336 最好的地方,不是它覆盖了多少新概念,而是它把语言模型放回了真实工程链条里:

flowchart LR
    A[数据] --> B[训练目标]
    B --> C[模型架构]
    C --> D[系统实现]
    D --> E[训练预算]
    E --> F[评测反馈]
    F --> G[对齐优化]
    G --> H[推理与产品]
    H --> A

很多 LLM 学习材料会把这些拆散:模型结构归模型结构,GPU 归 GPU,RLHF 归 RLHF,评测归评测。但真实的大模型研发不是这样运转的。一个看似算法层面的选择,可能会改变系统瓶颈;一个看似数据层面的过滤规则,可能会改变评测结果;一个看似后训练的问题,可能最后还是回到数据和奖励设计。

所以这篇知识地图的使用方式也很简单:

  • 想快速入门,就按模块一到模块六顺序看。
  • 想补系统能力,就重点看 GPU、Kernel、Parallelism 和 Inference。
  • 想理解模型能力增长,就重点看 Scaling、Data、Evaluation。
  • 想研究对齐和推理模型,就把 SFT、RLHF、RLVR 放到最后精读。

别急着一次看完。收藏这张地图,等有时间了,一块一块点进去就行。


文章作者: Onefly
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Onefly !
评论
  目录