跳到主要内容

学习路径:广度先行,再逐概念深挖

Alisa Liu 的准备路径可以压缩成一句话:

先用 CS336 建立语言模型全景,再按概念逐个深挖,最后用从零实现和面试前突击把知识变成可调用能力。

这条路径的关键不是“看了多少资料”,而是把每个知识点变成三种能力:能讲清楚、能写出来、能 debug。

第一阶段:用 CS336 建立全景

她的起点是完整看完 Stanford CS336: Language Modeling from Scratch 的 lectures。这门课的价值在于,它不是只讲 Transformer 结构,而是把现代语言模型从数据、tokenization、训练、优化、推理、scaling 到评估串成一张图。

这一步适合解决三类问题:

  • 你知道很多名词,但不知道它们在 LLM pipeline 里分别处在哪一层。
  • 你读论文时能看懂局部,但很难判断一个方法影响的是训练、推理、数据、架构还是系统瓶颈。
  • 你面试时容易被快速问答打散,因为知识是碎片化的。

推荐做法:

  • 第一遍只求建立地图,不要被细节卡太久。
  • 每节课后写 10 行 summary:这一讲解决什么问题、核心概念是什么、和 Transformer / training / inference 的关系是什么。
  • 对每个陌生词保留一个“待深挖队列”,先走完整门课,再回头补洞。

第二阶段:逐概念深挖

原文里她提到,过完基础之后,她会一个概念一个概念深挖:读 blog、paper,和 ChatGPT / Claude 大量对话,并从零实现相关内容。

这个阶段可以按主题拆:

主题要达到的程度
Attention / Transformer能手写 forward,解释 mask、shape、KV cache、position encoding
Backprop能手写简单 backward pass,知道 autograd 在做什么
Decoding能实现 greedy、temperature、top-k、top-p、beam search,知道各自失败模式
RLHF / policy gradient能解释 PPO、GRPO、reward、advantage、KL penalty 的角色
Scaling / parallelism能解释数据并行、张量并行、流水线并行、expert parallel、ZeRO/FSDP
实验设计能围绕一个研究问题提出假设、指标、对照、消融和 follow-up

深挖时不要只做“收藏式学习”。每个概念都建议产出一个小文件:

  • 一页中文解释
  • 一张 shape / data flow 图
  • 一个最小 PyTorch 实现
  • 三个常见面试问答
  • 一个容易出 bug 的点

第三阶段:从零实现,把知识变成肌肉记忆

Alisa 特别强调 Stanford CS336 的 assignment1-basics。它的意义不只是“做一道作业”,而是把 Transformer 的底层结构练到不需要临场搜索、不需要 AI 补全,也能稳定写出来。

从零实现训练重点:

  • tensor shape 必须清楚,尤其是 batch、sequence、head、hidden dimension 的转换。
  • attention mask 必须清楚,知道 causal mask、padding mask、broadcast 怎么处理。
  • 每个模块都要能单测:embedding、RMSNorm / LayerNorm、attention、MLP、residual block、loss。
  • debug 时先看 shape,再看 dtype/device,再看数值范围,再看 loss 曲线。

可以用四轮训练法:

  1. 看资料实现一遍,允许查文档。
  2. 关掉资料实现第二遍,只查 PyTorch API。
  3. 限时 60 到 90 分钟实现核心模块。
  4. 完全关闭 AI 辅助,模拟面试白板或共享编辑器环境。

第四阶段:每场面试前做针对性 cramming

她把每场面试比作一门没上过课、3 天后考试的数学或 CS 课。这个比喻很真实:AI lab 面试并非统一题库,每家公司、每个组、每个 interviewer 的关注点都可能不同。

考前应该收集的信息:

  • 面试邀请里写的题型:coding、ML coding、research discussion、technical discussion、math、behavioral。
  • 公司近期关心的方向:post-training、reasoning、agents、inference、safety、data、scaling。
  • recruiter 是否给了提示:用 PyTorch 还是 NumPy,是否偏系统,是否偏论文讨论。
  • 你的简历里最容易被追问的项目。

考前 3 天建议安排:

时间任务
T-3复习题型范围,整理核心概念卡片,做 1 次 mock
T-2针对性 coding / math / research drill,补最弱主题
T-1轻量复盘,准备问题清单,保证睡眠
面试当天不再硬塞新知识,只热身 shape、API、项目 pitch

一个推荐的 8 周准备节奏

周数重点
第 1-2 周完整过 CS336,建立语言模型地图
第 3 周Transformer、attention、positional encoding、normalization
第 4 周PyTorch 实现、backprop、loss、optimizer、debug
第 5 周decoding、KV cache、inference、serving 基础
第 6 周RLHF、policy gradient、PPO、GRPO、preference optimization
第 7 周scaling、parallelism、FSDP、tensor/pipeline parallel
第 8 周mock interviews、behavioral stories、job talk、谈薪资料

如果时间少于 4 周,优先级应该是:Transformer 实现、PyTorch 熟练度、LeetCode 基础、自己项目 pitch、behavioral 故事。