第13讲 · CS224N:推理(下)——推测解码、离策略漂移、长上下文与推理时扩展

Stanford CS224N/Ling284《深度学习自然语言处理》2026 年官方讲义 · 中文重构 本书是一次补充讲次:电子书系列此前没有覆盖这一讲的完整内容,本讲依据 CS224N 2026 官方讲义幻灯片补全。 本讲行程(讲义第 3 / 20 / 27 / 35 / 53 页反复给出同一份 Lecture Plan):推测解码(20 分钟)→ 离策略漂移与同策略蒸馏(20 分钟)→ 长上下文扩展(25 分钟)→ 推理时扩展(15 分钟)。

原始标题 Lecture 13: Reasoning 2/2
授课教师 Yejin Choi。
讲义来源 cs224n-2026-lecture13-reasoning-part2.pdf(课程讲义幻灯片,共 59 页)
课程主页 https://web.stanford.edu/class/cs224n/
材料版权 课程材料版权归 Stanford University 及授课教师所有,本书仅供学习

对应讲次:第13讲(Stanford CS224N 自然语言处理)

制作模型:deepseek-flash(vb compose,据 run.log)

一、推测解码(Speculative Decoding)

1.1 问题与直觉

第 1 页幻灯片 · Natural Language Processing

🖼️ 第 1 页幻灯片 · Natural Language Processing

问题:用大语言模型(Large Language Model, LM)生成一个序列要花很长时间。

直觉:并非所有 token 都同样难生成——文本里大量 token 是"顺理成章"的(模板、重复片段、固定搭配),只有少数位置才真正需要大模型的能力。

第 2 页幻灯片 · Announcement

🖼️ 第 2 页幻灯片 · Announcement

思路:用一个小模型的生成结果来辅助大模型生成(讲义第 4 页)。

这个想法被两家独立提出:

第 3 页幻灯片 · Lecture Plan

🖼️ 第 3 页幻灯片 · Lecture Plan

1.2 一步步看它是怎么跑的

讲义第 5–9 页用一组具体的概率把整个过程演了一遍。设 draft 模型(1B)的下一 token 分布为 $p$,target 模型(100B)的下一 token 分布为 $q$:

dogs love chasing after cars
Draft model(1B) $p$ 0.8 0.7 0.9 0.8 0.7
Target model(100B) $q$ 0.9 0.8 0.8 0.3 0.8
第 4 页幻灯片 · Speculative decoding

🖼️ 第 4 页幻灯片 · Speculative decoding

生成过程(讲义第 7–9 页给出的中间状态):

编者说明:幻灯片把两行概率分别画在两个模型下方,文字提取后只剩下数字串 0.8 0.7 0.9 0.8 0.7 / 0.9 0.8 0.8 0.3 0.8,哪一行属于哪个模型并没有明写。上表按"draft 在前、target 在后"排列,这个读法可由第 8 页那句 $0.8/0.9$ 反推验证:接受概率取 $\min\!\big(1, q(x)/p(x)\big)$,只有当 $p(\text{chasing})=0.9$、$q(\text{chasing})=0.8$ 时,这个比值才恰好是 $0.8/0.9$。若把两行对调,比值会大于 1,接受概率应直接写成 1。

第 5 页幻灯片 · Speculative decoding

🖼️ 第 5 页幻灯片 · Speculative decoding

1.3 为什么这样采样仍然等于"从大模型采样"

讲义第 10 页给出一条关键注释:

这个采样过程虽然是从小模型($p_i$)采样,但效果等同于从目标模型($q_i$)采样。形式化证明见 Chen 等人(2023)的附录 I。

幻灯片用 Case 1 / Case 2 / Case 3 三个分支图示了这个结论,但图示内容没有进入文字层。

编者拓展|三种情形与残差分布:下面按 Chen 等人(2023)的原始算法把 Case 1/2/3 补全,并给出"输出分布恰好是 $q$"的一行代数验证。

设 draft 分布为 $p$,target 分布为 $q$,候选 token 为 $x$:

  1. Case 1($q(x) \ge p(x)$):从 $p$ 采出 $x$ 后无条件接受,因为 $\min(1, q(x)/p(x)) = 1$。
  2. Case 2($q(x) < p(x)$):以概率 $q(x)/p(x)$ 接受,以 $1 - q(x)/p(x)$ 拒绝。
  3. Case 3(被拒绝):不从 $p$ 重采,而是从残差分布重采

$$p_{\text{res}}(x) = \frac{\max\big(0,\ q(x)-p(x)\big)}{\sum_{x'}\max\big(0,\ q(x')-p(x')\big)}$$

验证输出分布确实是 $q$: - 接受分支的贡献是 $p(x)\cdot\min\!\big(1, \tfrac{q(x)}{p(x)}\big) = \min\big(p(x), q(x)\big)$; - 拒绝的总概率是 $1-\sum_{x'}\min\big(p(x'),q(x')\big) = \sum_{x'}\max\big(0, q(x')-p(x')\big)$(两个求和式恒等); - 拒绝后再采到 $x$ 的贡献是 $\Big(\sum_{x'}\max(0,q-p)\Big)\cdot p_{\text{res}}(x) = \max\big(0, q(x)-p(x)\big)$。

两路相加:$\min(p,q) + \max(0, q-p) = q$。$\square$

flowchart TB
    A["当前上下文 x"] --> B["draft 模型 p:自回归采样 γ 个候选 token<br/>(lookahead 窗口)"]
    B --> C["target 模型 q:对这 γ 个位置<br/>做一次并行前向,得到各自的 q 分布"]
    C --> D{"逐位置判定"}

<div class="video-card screenshot-card">
  <img src="images/slide_006.png" alt="第 6 页幻灯片 · Speculative decoding" loading="lazy">
  <p class="video-caption">🖼️ 第 6 页幻灯片 · Speculative decoding</p>
</div>
    D -->|"q ≥ p(Case 1)"| E["无条件接受"]
    D -->|"q &lt; p(Case 2)"| F["以概率 q/p 接受"]
    D -->|"拒绝(Case 3)"| G["从残差分布<br/>norm(max(0, q−p)) 重采样一个 token"]
    E --> H["接受的最长前缀 +(若拒绝)重采样 token<br/>= 本轮输出"]
    F --> H
    G --> H
    H --> A

1.4 拒绝采样视角与实测加速

讲义第 11 页把话说得更一般:

编者拓展|为什么"一次验证多个 token"几乎不额外花钱:自回归解码的性能瓶颈主要在显存带宽——每生成一个 token,都要把整个模型的权重从显存读一遍。而"验证 γ 个候选"只增加计算量、不增加权重读取次数,因此一次前向能给 γ 个位置打分,代价接近生成 1 个 token。这就是推测解码能加速的物理原因。

第 7 页幻灯片 · Speculative decoding

🖼️ 第 7 页幻灯片 · Speculative decoding

在"每个候选以相同概率 $\alpha$ 被接受"的简化模型下,一轮期望产出的 token 数是

$$\sum_{i=1}^{\gamma}\alpha^{i} + 1 = \frac{1-\alpha^{\gamma+1}}{1-\alpha}$$

(前 $\gamma$ 项是接受的前缀,最后 $+1$ 是被拒绝后重采样得到的那个 token)。$\alpha$ 越大、$\gamma$ 越大,加速越明显;但 $\gamma$ 太大时尾部候选的接受率会下降,这就是下面"动态 lookahead"要解决的问题。

1.5 两个重要的变体

动态推测解码(Dynamic speculative decoding)(讲义第 12 页):用一个轻量分类器或置信度阈值,在每一轮迭代中自适应地调整 lookahead 大小(候选 token 的数量),即在线决定 draft 模型应当继续起草,还是立刻交给 target 模型验证。参见 Mamou 等人(2024)以及 Hugging Face 的博客 https://huggingface.co/blog/dynamic_speculation_lookahead。

第 8 页幻灯片 · Speculative decoding

🖼️ 第 8 页幻灯片 · Speculative decoding

通用推测解码(Universal speculative decoding)(讲义第 12 页):

1.6 各家推理引擎的支持情况

讲义第 13 页与第 19 页给出了同一张引擎支持表:

| 算法 | vLLM | TRT-LLM | HF TGI | HF Transformers | SGLang |

第 9 页幻灯片 · Speculative decoding

🖼️ 第 9 页幻灯片 · Speculative decoding

|---|---|---|---|---|---| | EAGLE-3 | ✅(原生) | ✅(可选) | ❌ | ⚠(手工 head) | ✅ | | SuffixDecoding | ✅(Arctic) | ❌ | ❌ | ❌ | ✅(Beta) | | Medusa | ✅ | ✅ | ✅(SOTA) | ✅(Pipeline) | ✅ | | Draft-Target | ✅ | ✅ | ✅ | ✅(Universal) | ✅ | | DFlash(2026) | ⚠(Fork) | ✅(Custom) | ❌ | ❌ | ⚠(Fork) |

讲义的结语是:更好的推测解码算法正在快速迭代,你常用的推理引擎都已经支持其中好几种。

编者说明:表中"✅(Arctic)/(SOTA)/(Pipeline)/(Universal)"之类的括号是讲义原文的标注,讲义并未解释它们的含义;Medusa 与 DFlash 在本讲中也没有展开。

第 10 页幻灯片 · Speculative decoding

🖼️ 第 10 页幻灯片 · Speculative decoding

1.7 EAGLE-3:让 draft 模型"读心"

EAGLE-3(Extrapolation Algorithm for Greater LM Efficiency,讲义第 14–15 页)的三代关键思想:

编者说明:第 14、15 页的架构图未进入文字层,讲义正文只留下上面三条 bullet;图片致谢为 https://docs.jarvislabs.ai/blog/speculative-decoding-vllm-faster-llm-inference。

1.8 Suffix Decoding 与 EAGLE-3 的对比

Suffix Decoding: Extreme Speculative Decoding(Oliaro 等人,2025;讲义第 16–17 页标题 + 第 18 页对比表)的机制细节在讲义中只通过这张对比表体现:

维度 SuffixDecoding(2025/2026) EAGLE-3(2025/2026)
机制 无模型(Model-Free):用后缀树(suffix tree)缓存并匹配 prompt 与历史输出中的重复序列 有模型(Model-Based):用一个小型、训练过的 Transformer head 预测目标模型未来的隐特征
计算位置 CPU 侧:推测在 CPU 上跑,GPU 专心做目标模型的验证 GPU 侧:draft head 跑在 GPU 上,与主模型共享显存
起草速度 约 $20\ \mu\text{s}$ 每 token(极快) 更慢(需要一次 GPU 前向)
最佳场景 高度重复的任务(写代码、Agentic 循环、RAG、SQL 生成) 开放式任务(创意写作、通用闲聊、不可预测的推理)
训练需求 零。是一个"即插即用"的数据结构 需要在目标模型的特征空间上训练一个小型辅助 head

编者拓展|两种推测的取舍:这张表其实画出了一条很清晰的工程分界线——当"下一个 token"能被历史文本匹配出来时(代码、SQL、检索问答),一个 CPU 上的后缀树就够用;当输出不可预测时,才值得花 GPU 去训练一个特征级的 draft head。这也解释了为什么 SuffixDecoding 的训练需求是零:它把"推测"降级成了一个缓存查找问题。

二、离策略漂移与同策略蒸馏

2.1 四个必须分清的术语

第 11 页幻灯片 · Speculative decoding

🖼️ 第 11 页幻灯片 · Speculative decoding

讲义第 21 页给出的定义:

典型代表:REINFORCE、PPO、GRPO 属于 on-policy;DQN(Deep Q-Network)属于 off-policy。

第 12 页幻灯片 · Dynamic speculative decoding

🖼️ 第 12 页幻灯片 · Dynamic speculative decoding

2.2 两个正交的坐标轴

讲义第 22 页强调,这是两个不同的问题:

由此得到两个组合:

Online + Off-Policy RL?——非常常见。

第 13 页幻灯片 · Algorithm

🖼️ 第 13 页幻灯片 · Algorithm

Offline + On-Policy RL?——不存在真正的离线同策略 RL(除非把定义拉伸得比较牵强)。

2.3 漂移在实践中从哪里来

异步 RLHF(Asynchronous RLHF,Noukhovitch 等人,2024;讲义第 23 页):

第 14 页幻灯片 · EAGLE-3 (Extrapolation Algo for Greater LM Efficiency)

🖼️ 第 14 页幻灯片 · EAGLE-3 (Extrapolation Algo for Greater LM Efficiency)

PipelineRL:飞行中的权重更新(in-flight weight updates,Piché 等人,2025;讲义第 24 页):

为什么 rollout 会变"陈旧"(讲义第 25 页):

flowchart LR
    A["异步 RL<br/>梯度步 / batch &gt; 1<br/>大 replay buffer<br/>生成与训练分属不同集群(权重传输有延迟)"] --> B["rollout 变陈旧<br/>训练数据 ≠ 当前策略的数据"]

<div class="video-card screenshot-card">
  <img src="images/slide_015.png" alt="第 15 页幻灯片 · 15" loading="lazy">
  <p class="video-caption">🖼️ 第 15 页幻灯片 · 15</p>
</div>
    B --> C["off-policy 漂移"]
    C --> D["梯度估计有偏"]
    C --> E["重要性权重爆炸"]
    C --> F["reward hacking 被放大"]
    D --> G["缓解手段"]
    E --> G
    F --> G

2.4 为什么 off-policy 是问题,怎么缓解

讲义第 26 页把两侧并列:

为什么 off-policy 是问题

第 16 页幻灯片 · Suffix Decoding: Extreme Speculative Decoding (Oliaro et al., 2025)

🖼️ 第 16 页幻灯片 · Suffix Decoding: Extreme Speculative Decoding (Oliaro et al., 2025)

缓解策略

编者拓展|重要性权重为什么会爆炸:把 off-policy 数据修正成 on-policy 梯度,靠的是重要性采样(importance sampling)。目标梯度里会出现比率 $\rho = \pi_\theta(a|s) / \mu(a|s)$($\mu$ 是产生数据的旧策略)。策略每更新一次,$\rho$ 就可能偏离 1;而 $\rho$ 的方差会随轨迹长度指数级放大,于是少数样本主导了整个梯度。PPO 的 clipping 就是强行把 $\rho$ 关进 $[1-\epsilon, 1+\epsilon]$,KL 惩罚则是从"别偏离参考模型太远"这个角度上双保险。至于 reward hacking 被放大:奖励模型是在旧策略的分布上训练的,一旦策略漂移到该分布的支撑集之外,高奖励就越来越不代表"当前策略真的做对了"。

2.5 同策略蒸馏(On-policy Distillation)

讲义第 28 页:

第 17 页幻灯片 · Suffix Decoding: Extreme Speculative Decoding (Oliaro et al., 2025)

🖼️ 第 17 页幻灯片 · Suffix Decoding: Extreme Speculative Decoding (Oliaro et al., 2025)

第 18 页幻灯片 · Feature

🖼️ 第 18 页幻灯片 · Feature

2.6 前向 KL 与反向 KL

讲义第 29 页的标题是"KL 散度:$Q$ 与目标 $P$ 有多不同":

前向 KL——"均值寻求(Mean-seeking)"或"质量覆盖(mass-covering)"

反向 KL——"众数寻求(Mode-seeking)"或"众数坍塌(mode-collapsing)"

编者拓展|两个方向写成公式就是这样:

$$D_{\mathrm{KL}}(P\|Q) = \sum_x P(x)\log\frac{P(x)}{Q(x)} \quad\text{(前向 KL:求和权重是 } P\text{)}$$

$$D_{\mathrm{KL}}(Q\|P) = \sum_x Q(x)\log\frac{Q(x)}{P(x)} \quad\text{(反向 KL:求和权重是 } Q\text{)}$$

关键区别就在求和权重取谁:前向 KL 里,只要 $P(x)>0$ 而 $Q(x)\to 0$,惩罚就 $\to\infty$,所以 $Q$ 不敢漏掉 $P$ 的任何一个众数(mass-covering);反向 KL 里,只要 $Q(x)>0$ 而 $P(x)\to 0$,惩罚就 $\to\infty$,所以 $Q$ 宁可不覆盖、也不去碰 $P$ 没有质量的地方(mode-seeking)。

第 19 页幻灯片 · Algorithm

🖼️ 第 19 页幻灯片 · Algorithm

2.7 四种范式的横向对照

讲义第 30 页用三块面板点出关键差异(loss = 前向 KL / loss = NLL / loss = 反向 KL,对应 off-policy / off-policy / on-policy),第 31 页给出完整表格:

| | loss | context(上下文由谁产生) | Hard vs soft | 学习风格 |

第 20 页幻灯片 · Lecture Plan

🖼️ 第 20 页幻灯片 · Lecture Plan

|---|---|---|---|---| | SFT | 对 gold 输出做 NLL | Ground-truth context | 硬标签 | — | | KD | 前向 KL | Ground-truth context | 软分布 | Mass-covering | | SeqKD | 对教师输出做 NLL | Teacher-generated context | 硬标签 | Mass-covering | | GKD | 反向 KL | Student-generated context | 软分布 | Mode-seeking |

(表出自 Agarwal 等人 2023。)

2.8 反向 KL 带来什么

讲义第 32 页指出反向 KL 的两个含义:

2.9 与 RL 的对比:两全其美

讲义第 33 页:

采样 奖励信号 GPU 需求
监督微调(SFT) Off-policy dense(稠密) light(轻)
强化学习(RL) On-policy sparse(稀疏) heavy(重)
同策略蒸馏(On-policy distillation) On-policy dense light

讲义的结论是:同策略蒸馏可以被看作 SFT 与 RL 各自优点的"两全其美"。

2.10 用例:领域自适应

讲义第 34 页给出了一个很有意思的实用案例:

编者拓展|为什么"知识进来了、能力丢了"是可以预期的:midtraining 的目标是语言建模损失,它把参数往"预测领域文档的下一个词"上推,而指令遵循能力则依赖于 post-training 阶段学到的"按指令组织输出"的分布。两者在同一组参数上竞争,前者数据量大(70%),自然会把后者的行为风格挤掉。同策略蒸馏之所以能补回来,是因为它的上下文是学生自己生成的(on-policy),损失是逐 token 稠密的(dense),因此不需要像 RL 那样依赖稀疏奖励去重新搜索行为,成本也低得多。

三、长上下文扩展

3.1 推理能力的扩展要求上下文的扩展

第 21 页幻灯片 · 21

🖼️ 第 21 页幻灯片 · 21

讲义第 36 页:当应用需要极长上下文窗口(10 万到 200 万 token)时:

第 22 页幻灯片 · 22

🖼️ 第 22 页幻灯片 · 22

3.2 长上下文难在哪里

讲义第 37 页给出三条限制:

第 23 页幻灯片 · Asynchronous RLHF (Noukhovitch et al., 2024)

🖼️ 第 23 页幻灯片 · Asynchronous RLHF (Noukhovitch et al., 2024)

3.3 互联网数据的真实长度

讲义第 38 页:

来源类型 典型长度(约,token 数) 说明
Common Crawl(网页) 600 – 1,200 包含博客、新闻、落地页。许多"文档"高度碎片化
Wikipedia 500 – 1,500 虽然有条目很长,但中位数文章相当简短
科学论文(arXiv) 5,000 – 10,000+ 是多数数据集中最长的"自然"文档之一
书籍(Project Gutenberg) 50,000 – 100,000+ 数据中的"长尾";稀少,但对长程依赖至关重要
GitHub(代码) 100 – 5,000 代码文件差异极大;很多脚本很短,而库很长

编者说明:这张表直接解释了 3.2 的第一条——如果预训练语料的中位数长度只有几百到一两千 token,模型就几乎没有机会在训练中"见过"10 万 token 级别的依赖结构。

3.4 第一代:正弦位置编码(Sinusoidal Positional Embeddings)

讲义第 39、41 页给出 Vaswani 等人(2017)的正弦位置编码(第 40 页给了一张示意图,来源 https://erdem.pl/2021/05/understanding-positional-encoding-in-transformers),但正文 bullet 未进入文字层。

编者拓展|正弦编码的公式:对维度 $i$ 与位置 $pos$,

$$PE_{(pos,\,2i)} = \sin!\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right),\qquad

第 24 页幻灯片 · PipelineRL: in-flight weight updates 🛫 (Piché et al., 2025)

🖼️ 第 24 页幻灯片 · PipelineRL: in-flight weight updates 🛫 (Piché et al., 2025)

PE_{(pos,\,2i+1)} = \cos!\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right)$$

不同维度对应不同频率的三角函数,相当于用一组"时钟指针"给每个位置做二进制式的编码。它是加性的:直接加到第一层的输入 embedding 上。

3.5 第二代:可学习位置嵌入(Learned Positional Embeddings)

第 25 页幻灯片 · Why off-policy situations arise in practice

🖼️ 第 25 页幻灯片 · Why off-policy situations arise in practice

讲义第 42 页:

3.6 第三代:RoPE(Rotary Position Embedding)

RoPE 由 Su 等人(2021) 提出。讲义第 43 页的要点:

第 44 页给出 RoPE 完整的旋转矩阵形式:

编者拓展|RoPE 的旋转矩阵:

$$R_{\Theta,m}^{d}=\begin{pmatrix}

R_{\theta_1,m} & & \ & \ddots & \ & & R_{\theta_{d/2},m} \end{pmatrix},\qquad

第 26 页幻灯片 · Off-policy mitigations

🖼️ 第 26 页幻灯片 · Off-policy mitigations

R_{\theta_i,m}=\begin{pmatrix} \cos(m\theta_i) & -\sin(m\theta_i)\ \sin(m\theta_i) & \cos(m\theta_i)

第 27 页幻灯片 · Lecture Plan

🖼️ 第 27 页幻灯片 · Lecture Plan

\end{pmatrix}$$

其中 $\theta_i = 10000^{-2(i-1)/d}$。也就是说,把 $d$ 维向量切成 $d/2$ 个二维平面,每个平面按自己特有的频率 $\theta_i$ 旋转 $m\theta_i$ 角度。这正是讲义所谓"在二维平面里旋转 query 和 key 向量"的含义,也是第 45 页"回忆旋转矩阵"以及第 46 页所略去的具体形式。

带 RoPE 的注意力:

$$q_m = R_{\Theta,m}^{d}\,W_q x_m,\qquad k_n = R_{\Theta,n}^{d}\,W_k x_n$$

3.7 RoPE 的关键性质:相对距离

讲义第 47 页:

$$q_m^\top k_n = \big(R_{\Theta,m}W_q x_m\big)^\top\big(R_{\Theta,n}W_k x_n\big) = x_m^\top W_q^\top R_{\Theta,n-m}\,W_k x_n$$

第 28 页幻灯片 · On-policy distillation (aka, generalized knowledge distillation)

🖼️ 第 28 页幻灯片 · On-policy distillation (aka, generalized knowledge distillation)

编者拓展|这一步为什么重要:上式右端只通过 $R_{\Theta,\,n-m}$ 依赖 $m,n$,也就是说注意力分数只取决于相对距离 $n-m$,与绝对位置无关。这带来两个直接好处:(1)相对位置信息是"干净"地出现在 QKV 注意力计算里的,不是被加性编码搅浑的;(2)既然分数只跟距离有关,那么把位置索引整体压缩(Position Interpolation)就变成一个语义上说得通的操作——这正是下一节所有长上下文扩展技术的地基。

第 29 页幻灯片 · KL Divergence: how Q differs from the target P

🖼️ 第 29 页幻灯片 · KL Divergence: how Q differs from the target P

3.8 RoPE 与原始正弦编码的对比

讲义第 48 页:

特征 原始正弦编码(2017) RoPE(LLaMA、PaLM 等)
集成方式 加性:在第一层之前加到输入 embedding 上 乘性:在每一个注意力层作用于 $Q$ 和 $K$
范数保持 增加 token embedding 的范数 保持 token embedding 的范数
相对距离 数学上可捕获,但由于是加性集成,等到计算 QKV 注意力时信息已经被搅浑 通过旋转角在数学上捕获,且在计算 QKV 注意力时干净可得
外推 非常吃力 允许"位置插值(Position Interpolation)""NTK scaling""YARN"等额外长上下文扩展技术

3.9 长上下文扩展的四类实践

讲义第 49–52 页把工程做法归成四类。

1. 位置编码修改(Position Encoding Modifications)——截至 2026 年,RoPE 缩放是最主流的一族:

第 30 页幻灯片 · On-policy distillation vs standard knowledge distillation

🖼️ 第 30 页幻灯片 · On-policy distillation vs standard knowledge distillation

2. 渐进式 / 分阶段训练(Progressive / Staged Training)——一个常见配方(LongLLaMA、LongAlign、Llama 3.1 等都用过):

flowchart LR
    A["基础模型<br/>4K–8K 上下文"] --> B["修改位置编码<br/>PI / NTK / YaRN"]
    B --> C["持续预训练<br/>8K → 32K → 64K → 128K<br/>数据量:原预训练的 0.1%–1%"]
    C --> D["长上下文指令微调"]
    D --> E["可用的长上下文模型"]

3. 数据工程(Data Engineering):

4. 注意力架构修改(Attention Architecture Modifications):

编者说明:讲义把第 4 类放在"长上下文扩展"名下,但它和前三类的性质不同——前三类是"让模型看得更长",第 4 类主要是"让更长的上下文跑得动"。两者通常一起用。

四、推理时扩展(Test-Time Compute Scaling)

4.1 一个概念的时间线

第 31 页幻灯片 · loss

🖼️ 第 31 页幻灯片 · loss

讲义第 54 页:

编者说明:讲义此页没有给出"2024 年 8 月 GDM 论文"的标题。按内容(下面 4.2、4.3 页的策略清单与结论)看,它应当就是 Snell 等人 2024 年 8 月的 Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters——但这是编者的推断,讲义本身未点名,请以课程板书为准。

第 34 页幻灯片 · On-policy distillation for domain-specific adaptation 🥳

🖼️ 第 34 页幻灯片 · On-policy distillation for domain-specific adaptation 🥳

4.2 核心主张

讲义第 55 页用一个反问把思路讲透:

与其只扩展训练时的计算,何不扩展测试时的计算? 与其训练得更多,何不让模型想得更久?

第 35 页幻灯片 · Lecture Plan

🖼️ 第 35 页幻灯片 · Lecture Plan

第 56 页给出论文的论点:

第 37 页幻灯片 · Scaling reasoning requires scaling long-context

🖼️ 第 37 页幻灯片 · Scaling reasoning requires scaling long-context

4.3 被评估的策略与验证方法

讲义第 57 页列出了完整的清单。

测试时计算扩展策略:

第 38 页幻灯片 · Typical document lengths of internet data

🖼️ 第 38 页幻灯片 · Typical document lengths of internet data

第 40 页幻灯片 · https://erdem.pl/2021/05/understanding-positional-encoding-in-transformers

🖼️ 第 40 页幻灯片 · https://erdem.pl/2021/05/understanding-positional-encoding-in-transformers

验证方法:

编者说明:第 58 页只有一张图,没有正文文字,内容未进入文字层。

编者拓展|Best-of-N 与 PRM 的分工:Best-of-N 的收益来自"覆盖 + 选择"——N 次独立采样提高至少一次答对的概率,验证器负责把对的挑出来。因此它的天花板由两个因素共同决定:采样器能不能采到正确答案(覆盖),验证器能不能认出来(选择)。ORM 只看最终答案,方差大、信号稀疏;PRM 在每一步打分,相当于给搜索过程提供了中间反馈,这既让束搜索能提前剪掉走错的路径,也让"哪一步出错了"变得可定位——这正是下面"PRM 让计算效率提高 4–8 倍"那条结论的来源。

4.4 关键发现与实务结论

讲义第 59 页:

关键发现

实务启示

附:参考与延伸阅读

编者补充

第 45 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

🖼️ 第 45 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

已知疑点

  1. 头信息块的出处适配:本电子书的模板头信息是为另一门课(UC Berkeley EECS 189/289A)设计的,但本次讲义的实际来源是 Stanford CS224N/Ling284 2026 年 Lecture 13。本讲按真实来源填写课程主页与讲义链接,未沿用模板中的 EECS 189 字样,以免产生错误归属。
第 55 页幻灯片 · Test time compute scaling 🚀

🖼️ 第 55 页幻灯片 · Test time compute scaling 🚀

  1. 推测解码概率表的行序:讲义第 6–9 页只留下数字串 0.8 0.7 0.9 0.8 0.7 / 0.9 0.8 0.8 0.3 0.8,未标明哪一行属于 draft、哪一行属于 target。本讲按"第 8 页接受概率写作 $0.8/0.9$(即 $\min(1,q/p)=q/p$)"反推,认定 draft 行在前、target 行在后。这是推断,不是讲义原文。
  2. 第 10 页 Case 1/2/3 的图示内容缺失:幻灯片只有标题与一句注释,三个分支的具体条件未进入文字层。1.3 节的"编者拓展"是按 Chen 等人(2023)原始算法补写的,属于编者引入的外部知识。
  3. EAGLE-3 / Suffix Decoding 的架构细节缺失:第 14、15、16、17 页基本只有图片;EAGLE-3 只留下三条一句话 bullet,Suffix Decoding 只留下标题与第 18 页的对比表。因此本讲对两者的描述完全依赖讲义给出的文字,未补充架构细节。
  4. 引擎支持表中的括号标注:✅(Arctic)、✅(SOTA)、✅(Pipeline)、✅(Universal)、⚠(Manual head) 等标注讲义未做解释,本讲按原样保留。
  5. Medusa 与 DFlash(2026) 只出现在支持表里,讲义没有展开介绍;本讲也未补充。
  6. "2024 年 8 月的 GDM 论文"未点名:讲义第 54 页只说"GDM 的 2024 年 8 月论文"。4.1 节的编者说明给出了一个推断性的对应论文(Snell 等人),但这属于外部知识,不是讲义原文。
  7. 第 58 页无文字:该页只有一张图,"关键发现"就出现在其后的第 59 页。图中内容无法转述。
  8. 公式为编者补出:正弦位置编码(3.4)、RoPE 的旋转矩阵与相对距离推导(3.6、3.7)在讲义中都只有标题与一句提示(例如"Recall the rotation matrix"),具体公式是本讲按 Vaswani 等人(2017)与 Su 等人(2021)的原始论文补出的,属于「编者拓展」。
  9. 论文链接的编者补充:讲义只给出"Gu 等人 2023""Agarwal 等人 2023""Su 等人 2021""Leviathan 等人 2022""Chen 等人 2023""Oliaro 等人 2025"这样的作者—年份,本讲为其中几篇补了 arXiv 链接,属于编者添加,若链接有出入请以课程阅读清单为准。
第 59 页幻灯片 · Test time compute scaling 🚀

🖼️ 第 59 页幻灯片 · Test time compute scaling 🚀

  1. 术语译法:"off-policy drift"译作"离策略漂移","on-policy distillation"译作"同策略蒸馏","exposure bias"译作"曝光偏差","mode-seeking / mass-covering"译作"众数寻求 / 质量覆盖"。这些中文译名目前尚无统一标准,保英文原词在括注中一并给出以便对照。

附录:课堂未展示的幻灯片

第 32 页幻灯片 · On-policy distillation

🖼️ 第 32 页幻灯片 · On-policy distillation

第 33 页幻灯片 · On policy distillation vs RL

🖼️ 第 33 页幻灯片 · On policy distillation vs RL

第 36 页幻灯片 · Scaling reasoning requires scaling long-context

🖼️ 第 36 页幻灯片 · Scaling reasoning requires scaling long-context

第 39 页幻灯片 · Sinusoidal positional embeddings (Vaswani et al., 2017)

🖼️ 第 39 页幻灯片 · Sinusoidal positional embeddings (Vaswani et al., 2017)

第 50 页幻灯片 · Long context extension practices 🧵

🖼️ 第 50 页幻灯片 · Long context extension practices 🧵

第 49 页幻灯片 · Long context extension practices 🧵

🖼️ 第 49 页幻灯片 · Long context extension practices 🧵

第 48 页幻灯片 · RoPE: Roterary Positional Embedding (Su et al., 2021)

🖼️ 第 48 页幻灯片 · RoPE: Roterary Positional Embedding (Su et al., 2021)

第 47 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

🖼️ 第 47 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

第 46 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

🖼️ 第 46 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

第 44 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

🖼️ 第 44 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

第 43 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

🖼️ 第 43 页幻灯片 · RoPE: Rotary Position Embedding (Su et al., 2021)

第 42 页幻灯片 · Learned positional embeddings

🖼️ 第 42 页幻灯片 · Learned positional embeddings

第 41 页幻灯片 · Sinusoidal positional embeddings (Vaswani et al., 2017)

🖼️ 第 41 页幻灯片 · Sinusoidal positional embeddings (Vaswani et al., 2017)

第 54 页幻灯片 · Test time compute scaling 🚀

🖼️ 第 54 页幻灯片 · Test time compute scaling 🚀

第 53 页幻灯片 · Lecture Plan

🖼️ 第 53 页幻灯片 · Lecture Plan

第 52 页幻灯片 · Long context extension practices 🧵

🖼️ 第 52 页幻灯片 · Long context extension practices 🧵

第 51 页幻灯片 · Long context extension practices 🧵

🖼️ 第 51 页幻灯片 · Long context extension practices 🧵

第 58 页幻灯片 · 58

🖼️ 第 58 页幻灯片 · 58

第 57 页幻灯片 · Test time compute scaling 🚀

🖼️ 第 57 页幻灯片 · Test time compute scaling 🚀

第 56 页幻灯片 · Test time compute scaling 🚀

🖼️ 第 56 页幻灯片 · Test time compute scaling 🚀