第 5 周 · Day 2:期末考试与错题溯源

Transformers and Large Language Models · Week 5 · Day 2。个人学习讲义与配套实验,按主题整理并持续修订。

课程源码 ZIP ↓

个人整理的学习笔记,非官方讲义;课程来源与整理说明见课程介绍。配套示例未逐一运行验证。

本篇目录

时长 6–7 小时:真题(1.5h 作答 + 0.5h 对答案)· 自编模拟卷(1.5h + 0.5h)· 错题溯源(1.5h)· §3 补漏四讲(1h)

考试范围 Lecture 5–8,也就是第 3、4 周的全部内容:LLM 调优(偏好、RLHF、PPO、DPO)、LLM 推理(推理模型、GRPO、测试时缩放)、智能体化的 LLM(RAG、工具、智能体)、LLM 评测(评委、偏差、基准)。

配套代码 w5day2_checks.py(纯 numpy):模拟卷全部计算题的标准答案:Bradley-Terry 与奖励模型的损失、PPO 裁剪的四种情况、DPO 的损失与梯度权重、best-of-n 的 KL、GRPO 的组内优势、pass@k / pass^k / cons@k、智能体的错误累积、多轮工具调用的 token 数、RRF 与 NDCG、κ、标准误与 Elo

今天的目标:在闭卷、计时的条件下做第二次真实检验;把每一道错题定位到具体的小节并重学;补上 Lecture 5–6 里我们只提了一句的几个考点。


§0 今天怎么安排

和期中那天(Week 3 Day 1)一样:先考试,后读 §3。§3 的内容就是考点,先读了等于提前看答案。

时段做什么要点
上午 1.5h2025 期末真题(§1)闭卷,严格 90 分钟
0.5h对答案、打分选择题直接对;简答题按官方答案的要点逐条给分,没写到的要点不给分
下午 1.5h本文的模拟卷(§C)同样闭卷计时。计算题比真题多
0.5h对模拟卷答案(§D)计算题的数字来自 w5day2_checks.py
1.5h错题溯源(§2)每道错题找到对应小节,合上书重推一遍
1h补漏四讲(§3)Lecture 5–6 的 slides 里有、我们只提了一句的点

今天要用到的旧结论:全部第 3、4 周。


§1 考试是什么样的

2025 年秋季学期的期末卷和答案在课程主页公开:

结构:90 分钟、100 分、闭卷(不许带任何东西,也不许用 AI)。和期中一样,四个部分各 25 分:8 道选择题(1–2 分,单选)+ 2 道简答题(每道由两小问组成,3–4 分一问)。

部分对应选择题涉及简答题的类型
1Lecture 5 LLM 调优SFT 的局限、奖励模型的输入、Bradley-Terry、KL 项的作用、DPO 的核心洞见、best-of-N、reward hacking、价值函数列出 RLHF 的阶段并解释其中一个;比较 DPO 与 PPO(从加载的模型数量出发),说出仍然选 PPO 的理由
2Lecture 6 LLM 推理“推理”的定义、CoT、R1-Zero 的回答长度、GRPO 与 PPO 的区别、可验证奖励、“aha moment”、冷启动、蒸馏解释 GRPO 的优势怎么算、它的计算收益;定义测试时缩放、列举控制思考预算的方法
3Lecture 7 智能体RAG 解决的局限、上下文检索、ReAct、谁执行函数调用、MCP、智能体与聊天机器人、编造工具的对策、A2A为什么有 1M 上下文还要 RAG、RAG 的挑战;工具调用的三步、工具报错时怎么办
4Lecture 8 评测Goodhart 定律、数据污染、LLM 当评委、成对评测、位置偏差、pass@k、MMLU、BLEU / ROUGE 的不足定义冗长偏差、给出一种去偏的方法;SWE-bench 测什么、静态基准与动态排行榜的区别

从结构里能读出的三件事:

  1. 简答题几乎都是”列举 + 解释”:列出两个阶段 / 三个步骤 / 两种方法,再解释其中一个的作用。答题要先列全、再解释,每一点一句话,别只写一个点写得很深(§A.1)。
  2. 选择题的干扰项很”夸张”:错误选项常常带着”完全""严格""一定""所有任务”这类绝对化的措辞,或者把一个概念张冠李戴(把量化说成蒸馏、把 JavaScript 库说成 ReAct)。真正的考点在于你能不能一眼认出正确的那一个,而它通常就是讲义里那句核心定义。
  3. 计算很少,概念很多。和期中相比,期末几乎没有计算题。但面试会问计算(Day 5),所以本文的模拟卷多放了计算题。

§2 错题溯源表

每道错题,按下表找到对应的小节。重读不够,要合上书把那一段的推导或论证重写一遍。

2.1 Lecture 5:LLM 调优

考点去哪里看
为什么 SFT 不够;比较比写容易Week 3 Day 2 §1.1–1.3
偏好数据的形式(单点 / 成对 / 列表)与收集配方Week 3 Day 2 §2.1;今天 §3.1
Bradley-Terry、奖励模型的损失与梯度Week 3 Day 2 §2.2
奖励模型的结构(输入是提示 + 回答,输出一个标量)Week 3 Day 2 §2.3
奖励模型的准确率天花板与偏见Week 3 Day 2 §2.4–2.5
RLHF 的阶段与数据流Week 3 Day 2 §3.1
reward hacking、过度优化、KL 约束Week 3 Day 2 §3.2–3.4
RL 的形式化(智能体 = LLM,动作 = 下一个 token……)Week 3 Day 3 §1.1;今天 §3.2
策略梯度与基线;价值函数、优势、GAEWeek 3 Day 3 §1.2–1.3、§2
PPO-Clip 与 PPO-KLWeek 3 Day 3 §3.2–3.4;今天 §3.2
四个模型与显存;PPO 的难处Week 3 Day 3 §4.3–4.4
best-of-NWeek 3 Day 2 §3.2;Week 3 Day 6 §2
DPO 的推导(闭式最优解 → 隐式奖励 → BT → 损失)Week 3 Day 4 §1–2
DPO 与 PPO:省了什么、丢了什么、什么时候选 PPOWeek 3 Day 4 §5.1–5.2
IPO / KTO / SimPO / ORPO;对齐税Week 3 Day 4 §4、§5.3

2.2 Lecture 6:LLM 推理

考点去哪里看
推理的定义、推理模型与普通模型的区别Week 3 Day 5 §1.1–1.2;今天 §3.3
思维链为什么有效Week 2 Day 3 §5.1–5.2
推理的评测:pass@k、pass@1、cons@kWeek 3 Day 5 §5.1;今天 §3.3
可验证奖励(格式 + 正确性)Week 3 Day 5 §2
GRPO:组内优势、为什么不需要价值网络Week 3 Day 5 §3
回答越来越长的现象;Dr. GRPO、DAPOWeek 3 Day 5 §4
R1-Zero 与 R1 的配方;“aha moment”;冷启动Week 3 Day 5 §1.3;今天 §3.4
蒸馏(用强模型的推理轨迹做 SFT)Week 3 Day 5 §5.3;今天 §3.4
测试时缩放:并行、串行、搜索;控制思考预算Week 3 Day 6 §1–4;今天 §3.3

2.3 Lecture 7:智能体化的 LLM

考点去哪里看
RAG 解决的局限;为什么有长上下文还要 RAGWeek 4 Day 1 §1.1、§1.3
建知识库:收集、切分、嵌入;块大小与重叠Week 4 Day 1 §2
语义检索、双塔、交叉编码器Week 4 Day 1 §3.1;Week 4 Day 2 §4.1
BM25、混合检索、RRFWeek 4 Day 2 §1–2
HyDE、上下文检索Week 4 Day 2 §5.2–5.3
检索指标(Precision / Recall / RR / NDCG @k)Week 4 Day 2 §3
RAG 的挑战与故障地图Week 4 Day 1 §1.4
工具调用的三步;谁执行函数Week 4 Day 3 §1.2、§2.2
工具报错时怎么办Week 4 Day 3 §2.4
教模型用工具:训练与提示Week 4 Day 3 §3
工具太多、工具选择Week 4 Day 3 §4
MCP 的动机与架构Week 4 Day 3 §5
智能体的定义、ReAct 循环Week 4 Day 4 §1–2
A2AWeek 4 Day 4 §6.2
安全Week 4 Day 3 §6

2.4 Lecture 8:LLM 评测

考点去哪里看
评测的两层含义;人工评分与 κWeek 4 Day 5 §1–2
BLEU / ROUGE / METEOR 及其不足Week 4 Day 5 §5
LLM 当评委:做法、好处、单点与成对Week 4 Day 6 §1.1–1.3
最佳实践Week 4 Day 6 §1.4
位置、冗长、自我偏好偏差与对策Week 4 Day 6 §2.1–2.3
事实性的量化Week 4 Day 6 §3.1
智能体的失败模式(工具预测、工具调用、回答生成)Week 4 Day 6 §3.2
四类基准:MMLU、AIME / PIQA、SWE-bench、HarmBenchWeek 4 Day 5 §4.1
τ-bench 与 pass^kWeek 4 Day 5 §4.2;Week 4 Day 4 §3.3
数据污染与预防Week 4 Day 5 §4.4
Goodhart 定律;静态基准 vs 动态排行榜;Pareto 前沿Week 4 Day 5 §4.5
Chatbot Arena、Elo 与 Bradley-TerryWeek 4 Day 6 §2.5

2.5 怎么记录

和期中一样,每道错题写一行进疑问清单,错因分类(概念没懂 / 推导不熟 / 记混了 / 审题错):

[期末 II.9] 只写了"组内平均",漏了"除以标准差"。错因:记混了。
回到 Week 3 Day 5 §3.2,重写了 Â_i = (r_i − mean)/std,以及"全对 / 全错的组没有信号"。

把期中和期末的错因放在一起看:如果同一类错因(比如”推导不熟”)反复出现,Day 4 的推导默写就重点练那一类。


§3 补漏四讲

3.1 偏好数据:三种形式与收集配方

三种形式(Lecture 5):一条”观察”是(提示,回答)。

  • 单点(pointwise):每条观察一个分数(0.4、0.9……)。收集容易,但不同标注者的尺度不一致(Week 4 Day 5 §2)。KTO 就是用这种数据的(Week 3 Day 4 §4.2)。
  • 成对(pairwise):同一个提示的两个回答,哪个更好。最常用:比较比打绝对分容易、更一致(Week 3 Day 2 §1.2)。
  • 列表(listwise):同一个提示的多个回答排成一个顺序。KK 个回答的排序可以拆成 (K2)\binom K2 个成对比较(K=4K=4 时 6 对),也可以直接用 Plackett-Luce 建模(Week 3 Day 2 §2.5)。

收集成对数据的配方(Lecture 5):

  1. 为同一个提示生成一对回答:提示来自线上日志或一个参考分布;回答来自 SFT 模型(用一定的温度采样,保证两个回答不一样)、合成数据、或者对已有回答的改写。
  2. 标注哪个更好:人工评分(RLHF 里的 “HF” 就来自这里);或者代理(LLM 当评委、BLEU / ROUGE 等)。量表可以是二元的(更好 / 更差),也可以是更细的(“明显更好""略好”……,Llama 2 用它设置间隔项,Week 3 Day 2 §2.5)。

Lecture 5 的一句提醒:“模型行为不端,也可能是一个检查 SFT 数据质量的警钟。“偏好调优不是用来掩盖 SFT 数据问题的。

数据规模的量级(Lecture 5 引用 InstructGPT):奖励模型约 O(104)O(10^4) 条比较,RL 阶段约 O(105)O(10^5) 个提示(标签由奖励模型给出)。

3.2 RL 的形式化与 PPO 的两个变体

把强化学习的五个概念对应到 LLM 上(Lecture 5,Week 3 Day 3 §1.1 的精简版):

强化学习LLM
智能体(agent)LLM
环境(environment)token 序列
状态(state)到目前为止的输入
动作(action)下一个 token
策略(policy)下一个 token 的概率分布
奖励(reward)人的偏好(由奖励模型近似)

PPO 的两个变体(Schulman et al. 2017):

  • PPO-Clip:裁剪新旧策略的概率比 ρ\rho,防止一次更新太大(Week 3 Day 3 §3.2)。注意两个术语上的坑(Lecture 5 特别指出):它是一个要最大化的目标函数,不是损失;公式里的 rr 常常指概率比,不是奖励。
  • PPO-KL 惩罚:不裁剪,而是在目标里减去 β⋅KL\beta\cdot\mathrm{KL},惩罚策略分布的变化;原论文里 β\beta 可以自适应地调整。两个”KL”要分清:原始 PPO 惩罚的是和上一轮策略(old)的 KL,为了稳定地一步步更新;LLM 的 RLHF 里,惩罚的是和参考模型(ref,也就是 SFT 模型)的 KL,为了防止 reward hacking、保住语言能力(Week 3 Day 2 §3.3)。Lecture 5:“如今,KL 散度是相对于参考(基座)模型的。”

PPO 真正最大化的是优势,不只是奖励(Lecture 5):优势 ≈ 奖励 − 基线,基线由价值函数给出。价值函数是 token 级的(“如果之后都按当前策略走,预期能拿到多少奖励”),和策略一起训练,标签就是奖励(Week 3 Day 3 §2)。期末卷的一道选择题就问”价值函数估计的是什么”。

PPO 的难处(Lecture 5):需要四个模型;要先训奖励模型(两阶段);超参很多;训练不稳定;很难找到一个监控训练的好指标;需要回答足够多样。于是有了两条”不做 RL”的路:best-of-N(推理时挑)和 DPO(训练时直接在偏好数据上做监督学习)。

3.3 推理:定义、指标与控制”思考”

“推理”的尝试性定义(Lecture 6):解决一个问题的能力。对比两个问题:“斯坦福 Transformer 课的课程编号是什么?“(查找记忆,不是推理)和”这只熊 2020 年出生,它现在几岁?“(需要多步推理)。

怎么认出一个推理模型:界面上有”思考摘要”(完整的思维链通常不展示给用户);API 的计费里有”推理 token”(思考的 token 也要付钱,而且常常比回答长得多)。

推理的三个指标(Lecture 6):

  • pass@1:只关心一次生成的正确率。
  • pass@k:kk 次里至少一次对(Chen et al. 2021 的无偏估计,Week 3 Day 5 §5.1)。适合”检查很容易、或者能接受更高延迟”的场景(比如代码可以跑测试)。
  • cons@k(consensus at k):kk 个回答做多数投票,看投票结果对不对(R1 报告里用的)。它就是 Week 3 Day 6 §2 的多数投票准确率。

控制”思考”的三种办法(Lecture 6:“不是所有提示都一样”:简单的题不该想那么久):

办法做法出处
动态预算 / 上下文感知让模型知道这道题的 token 预算(比如在提示里写明),按题目难度分配思考长度“Token-Budget-Aware LLM Reasoning”(Han et al. 2024)
预算强制模型想停时追加 “Wait” 让它继续想;超过预算时强行结束思考s1(Muennighoff et al. 2025),Week 3 Day 6 §4.3
“连续”的思考不把中间推理写成 token,而是在连续的隐藏状态空间里推理Coconut(Hao et al. 2024)

期末卷的简答题”列出两种在推理时控制或增加思考预算的方法”,官方答案给的是 best-of-N 和”上下文感知、预算强制”。

3.4 R1 的五步配方,以及”蒸馏”的两种含义

R1-Zero(概念验证):DeepSeek-V3-Base(MoE,约 6710 亿总参数、约 370 亿激活参数)直接做 GRPO,奖励 = 格式(思考写在 <think> 里)+ 正确性。好处:不需要任何 SFT 就出现了推理能力;训练中回答长度自发增长,模型学会自我检查和回溯(“aha moment”)。问题:推理链的格式和可读性差(中英混杂等)。

R1 的完整配方(Lecture 6 逐步展开):

  1. 预训练:DeepSeek-V3-Base。
  2. 小规模 SFT(冷启动):数据是 R1-Zero 生成、再由人改写过的长思维链。目的是稳定输出格式、让推理轨迹可读(期末卷的冷启动题)。
  3. 推理数据上的 GRPO:和 R1-Zero 基本相同,奖励 = 格式 + 正确性 + 语言一致性。
  4. 大规模 SFT:约 60 万条推理数据(对”到目前为止的 R1”做拒绝采样,用规则和 V3 当评委筛选)+ 约 20 万条通用数据(大多复用 V3 的 SFT 数据)。
  5. 推理与非推理数据上的 GRPO:推理数据的奖励 = 格式 + 正确性;通用数据的奖励 = 有用性 + 无害性(奖励模型)。

“蒸馏”的两种含义(Lecture 6 特意对比):

  • Lecture 2 的蒸馏(DistilBERT,Week 1 Day 6 §4.6):学生逐 token 地匹配教师的下一个 token 分布(软标签)。
  • Lecture 6 的蒸馏(R1-Distill):用教师生成的完整回答(推理轨迹)对学生做 SFT。学生只看到采样出来的文本,看不到教师的概率分布。结果:小模型的效果很有竞争力,而且是对算力的”好用法”(Week 3 Day 5 §5.3:比小模型自己做 RL 更有效)。

§A 答题方法

A.1 “列举 + 解释”型简答题

期末的简答题几乎都是这个结构(“(i) 列出……(ii) 解释其中一个……”)。模板:

  1. 先列全:题目要两个就写两个、要三个就写三个,每个一行,用编号。阅卷按要点给分,漏一个要点就少一份分。
  2. 再解释:解释的那一问套期中的四步(是什么 → 为什么 → 怎么做 → 代价,Week 3 Day 1 §A.1),但只写两三句。
  3. 能给数字就给数字:比如”DPO 只需要策略和参考两个模型,PPO 要四个”,比”DPO 更省显存”得分更稳。

例:“为什么有 1M 上下文还要 RAG?说出 RAG 的一个挑战。”

(i) ① 成本:按 token 计费,1M 上下文每次都要付 100 万 token 的钱,RAG 只送几千;② 延迟:prefill 的注意力随长度平方增长;③ 效果:模型在长上下文中间的信息用得差(迷失在中间、大海捞针)。(ii) 检索质量:检索不到相关的块(或者检索到的块相关但不含答案),生成器就没法答对;检索的召回是 RAG 正确率的上限。

A.2 选择题

  • “一眼认出核心定义”:L5–L8 的选择题大多在考一句定义(BT 在做什么、KL 项的作用、DPO 的洞见、MCP 标准化什么……)。把 §2 表里每个考点的”一句话定义”背熟。
  • 排除绝对化的措辞(和期中相同,Week 3 Day 1 §A.2)。
  • 排除张冠李戴:干扰项常把另一个概念的描述套过来(把”量化”当”蒸馏”、把”读取资料”当”上下文检索”)。

A.3 时间

每部分约 22 分钟。简答题的两问加起来 6–7 分,写 4–6 行就够了,不要在一道简答题上写成一篇文章。


§B 实操

  1. 做 2025 期末真题(1.5h,闭卷、计时、手写),对答案打分。
  2. 做本文 §C 的模拟卷(1.5h),对照 §D 打分;计算题的数字可以用 python w5day2_checks.py 核对。
  3. 错题溯源(1.5h):每道错题按 §2 找到小节,合上书重推一遍,按 §2.5 记录。
  4. 读 §3 的补漏四讲,把 R1 的五步配方默写一遍。
  5. 自评:期中、期末、两份模拟卷的分数各是多少?哪一讲失分最多?把它写进 Day 3 的全景图里,标成”待补”。

§C 模拟卷(90 分钟,闭卷)

按真题的结构自己出的,和真题的考点互补,计算题多一些。选择题都是单选。

第一部分:LLM 调优

1.1 对每个提示采 4 个回答,标注者给出完整排序。这个排序可以拆成多少个成对比较? (A) 3 (B) 4 (C) 6 (D) 16

1.2 把 LLM 的生成写成强化学习问题时,“动作”对应的是: (A) 整个提示 (B) 下一个 token (C) 奖励模型的分数 (D) KL 惩罚项

1.3(计算)奖励模型给一对回答打分 r(yw)=1.2r(y_w)=1.2、r(yl)=0.4r(y_l)=0.4。按 Bradley-Terry 模型,P(yw≻yl)P(y_w\succ y_l) 是多少?这一对的损失和对 r(yw)r(y_w) 的梯度是多少?两个分数同时加 5 会怎样?

1.4 关于 RLHF 中奖励模型的结构,正确的是: (A) 必须是 encoder-only 的模型 (B) 常从 SFT 模型初始化,把输出词表的头换成输出标量的头,输入是提示和回答 (C) 输入只有回答,这样才不会受提示影响 (D) 输出一个关于词表的概率分布

1.5 RLHF 的 RL 阶段加入对参考模型的 KL 惩罚,最主要的作用是: (A) 加快训练 (B) 防止策略为了刷高奖励模型的分数而偏离参考模型太远(reward hacking),保住语言能力 (C) 让奖励模型更准 (D) 保证回答的多样性一定提高

1.6(计算)从参考策略采 16 个回答、按奖励挑最好的一个。所得策略相对参考策略的 KL 最多是多少?和 RL 相比,best-of-N 的代价在哪里?

1.7 DPO 训练时需要放进显存的模型是: (A) 只有策略 (B) 策略和参考模型 (C) 策略、参考模型和奖励模型 (D) 策略、参考模型、奖励模型和价值模型

1.8 DPO 训练中”被选中回答的对数概率也在下降”这一现象: (A) 说明训练出错了,应该立刻停止 (B) 是可能的,因为 DPO 只要求两个对数概率比的间隔变大,不要求被选中回答的概率本身变大 (C) 只在 β = 0 时出现 (D) 说明参考模型漂移了

1.9(简答)PPO 的裁剪目标 min⁡(ρA, clip(ρ,1−ε,1+ε)A)\min(\rho A,\ \mathrm{clip}(\rho,1-\varepsilon,1+\varepsilon)A),ε=0.2\varepsilon=0.2。分别写出 (ρ,A)=(1.3,+1)(\rho,A)=(1.3,+1)、(0.7,+1)(0.7,+1)、(1.3,−1)(1.3,-1)、(0.7,−1)(0.7,-1) 时目标的值和它对 ρ\rho 的梯度,并用一句话解释每种情况。

1.10(简答)某个偏好对:log⁡πθ(yw)=−12\log\pi_\theta(y_w)=-12、log⁡πref(yw)=−15\log\pi_{ref}(y_w)=-15、log⁡πθ(yl)=−20\log\pi_\theta(y_l)=-20、log⁡πref(yl)=−18\log\pi_{ref}(y_l)=-18,β=0.1\beta=0.1。(i) 算出隐式奖励、间隔、DPO 损失和这一对的梯度权重。(ii) β\beta 控制的是什么?

第二部分:LLM 推理

2.1 按 Lecture 6 的尝试性定义,下面哪个问题不需要推理? (A) “这只熊 2020 年出生,它现在几岁?” (B) “斯坦福 Transformer 课的课程编号是什么?” (C) 一道 AIME 题 (D) 修复一个让单元测试失败的 bug

2.2 DeepSeek R1-Zero 训练时的奖励是: (A) 一个神经网络奖励模型给出的有用性分数 (B) 基于规则的格式奖励和正确性奖励 (C) 人工逐条打分 (D) 过程奖励模型对每一步的打分

2.3 用 GRPO 训练时回答越来越长,一个被指出的原因是: (A) KL 惩罚太大 (B) 按回答长度对损失做归一化后,错误的长回答里每个 token 分到的惩罚更小 (C) 裁剪系数太小 (D) 采样温度太低

2.4(计算)对一道题采了 n=10n=10 个回答,其中 c=3c=3 个正确。分别算出 k=1,3,5k=1,3,5 时 pass@k 与 pass^k 的无偏估计。

2.5 R1 在 GRPO 之前先做一次小规模 SFT(冷启动),主要是为了解决 R1-Zero 的什么问题? (A) 模型不会数学 (B) 推理链的格式与可读性差 (C) 上下文太短 (D) 训练太慢

2.6 s1 的”预算强制”指的是: (A) 模型想结束思考时追加 “Wait” 让它继续,超过预算时强行结束 (B) 在 RL 的奖励里惩罚长回答 (C) 用过程奖励模型做搜索 (D) 对多个回答做多数投票

2.7 cons@k 衡量的是: (A) k 个回答里至少一个正确的概率 (B) k 个回答做多数投票后是否正确 (C) k 个回答全部正确的概率 (D) 用奖励模型从 k 个里挑一个后是否正确

2.8 R1-Distill 这类”推理蒸馏”的做法是: (A) 把权重量化到 4 bit (B) 用强模型生成的完整推理轨迹对小模型做 SFT (C) 让小模型逐 token 地匹配强模型的概率分布 (D) 剪掉强模型的一部分层

2.9(简答)一组 8 个回答的奖励是 [1,0,0,1,1,0,0,0][1,0,0,1,1,0,0,0]。(i) 按 GRPO 算出答对和答错的回答的优势(用总体标准差)。(ii) 如果一道题的单次正确率是 0.9、每组 8 个,这道题”没有学习信号”的概率是多少?这对题库的选择意味着什么?

2.10(简答)8 个回答的最终答案是 42、42、41、42、40、41、42、39,标准答案是 42。(i) 这道题的 cons@8 和 pass@8 各记多少?(ii) Lecture 6 说什么场景用 pass@k、什么场景用 pass@1?

第三部分:智能体化的 LLM

3.1 双塔(bi-encoder)检索能建索引的原因是: (A) 它比交叉编码器更准 (B) 打分是”查询向量 · 文档向量”,文档向量可以离线算好存起来 (C) 它不需要训练 (D) 它只用关键词

3.2 HyDE 拿去做检索的是: (A) 原始问题的向量 (B) LLM 写的一段”假设的答案”的向量 (C) 所有文档拼在一起的向量 (D) BM25 的分数

3.3 倒数排名融合(RRF)使用的是: (A) 各路检索的原始分数 (B) 各路检索的名次 (C) 文档的嵌入 (D) 交叉编码器的 logit

3.4 在 OpenAI 格式的工具调用中,模型返回的函数参数: (A) 已经被模型执行过 (B) 是一个 JSON 字符串,应用程序要自己解析并校验 (C) 一定是合法的 JSON (D) 是一个可以直接调用的 Python 对象

3.5(计算)一个智能体任务要连续做对 10 步,每步正确率 0.95。(i) 整体成功率是多少?(ii) 如果有一个召回率 0.8 的检查器,发现错误就重试(最多 1 次),整体成功率变成多少?(iii) 由此说明设计智能体时最该优先做什么。

3.6 写 stdio 传输的 MCP 服务端时,不能往 stdout 打印调试信息,因为: (A) 会降低性能 (B) stdout 是协议通道,非协议的输出会破坏 JSON-RPC 消息流 (C) 会泄露用户数据 (D) stdout 不支持中文

3.7 A2A 协议里的 AgentCard 包含: (A) 模型权重 (B) 智能体的名字、地址、版本和技能列表 (C) API 密钥 (D) 训练数据

3.8 Anthropic 的”上下文检索”主要修的是: (A) 切出来的块缺少上下文(比如没有公司名、没有主语),导致检索不到 (B) 向量检索太慢 (C) 嵌入维数太高 (D) 重排器延迟太大

3.9(计算)系统提示和工具说明共 2000 token,用户问题 100 token;每轮工具调用新增 50 token 的调用和 450 token 的返回。(i) 串行调用 5 轮工具再回答,累计要发送多少输入 token?(ii) 如果这 5 个调用互不依赖、放在一轮里并行,累计多少?(iii) 还有什么办法降低成本?

3.10(计算)BM25 的排序是 [d1, d2, d3, d4],稠密检索的排序是 [d3, d1, d5, d2]。(i) 用 RRF(k=60k=60)融合,写出前 5 名的顺序。(ii) 相关度 d1 = 2、d3 = 1、d5 = 1、其余 0,算融合结果的 NDCG@3。

第四部分:LLM 评测

4.1 Cohen’s κ = 0 表示: (A) 两人完全一致 (B) 两人的一致程度和碰巧一致一样 (C) 两人完全相反 (D) 无法计算

4.2 检测 LLM 评委的位置偏差,最直接的方法是: (A) 交换两个回答的顺序再问一次,统计结论前后一致的比例 (B) 提高温度 (C) 把提示写长 (D) 用 BLEU 核对

4.3 “先写理由、再给分数”这条最佳实践的主要理由是: (A) 更便宜 (B) 分数在理由之后生成,相当于先做了一遍思维链,判断更有依据也更容易审查 (C) JSON 格式要求这样 (D) 能减少 token

4.4(计算)评委和人对 100 个回答判”通过 / 不通过”,混淆矩阵(行:评委,列:人)是 [[40, 10], [5, 45]]。算出一致率、碰巧一致率和 Cohen’s κ。

4.5 两个模型在一个 1.4 万题的基准上差 0.3 个百分点。最恰当的结论是: (A) 分数高的那个一定更好 (B) 这个差距在抽样误差之内,要看置信区间或做配对检验才能下结论 (C) 分数低的那个被污染了 (D) 这个基准已经失效

4.6 Chatbot Arena 的”风格控制”做的是: (A) 删掉长回答 (B) 在 Bradley-Terry 回归里加入长度、格式等风格协变量,估计”风格相同时”模型的强度 (C) 要求用户忽略格式 (D) 截断回答

4.7 用 13-gram 重叠检测数据污染,最大的弱点是: (A) 抓不住改写过的污染 (B) 太慢 (C) 只能用于英文 (D) 误报率总是很高

4.8 一个客服智能体要”每个用户都能办对”,最该看的指标是: (A) pass@k (B) pass^k (C) BLEU (D) 困惑度

4.9(简答)(i) 200 道题、准确率 0.70,标准误和 95% 区间的半宽是多少?题目加到 800 道呢?(ii) 你试了 50 个提示、在同一个测试集上挑了最好的一个报告,为什么这个分数会偏高?

4.10(简答)(i) Elo 评分 1600 的 A 对 1500 的 B,A 的期望得分是多少?A 输了,K=32K=32,A 的新评分是多少?(ii) 为什么 Chatbot Arena 从在线 Elo 换成了 Bradley-Terry 的最大似然?


§D 模拟卷详解

计算题的数字都来自 w5day2_checks.py。每题后面是溯源的位置。

第一部分

1.1 C。 (42)=6\binom42=6(Week 3 Day 2 §2.1;今天 §3.1)。

1.2 B(今天 §3.2;Week 3 Day 3 §1.1)。

1.3 P=σ(1.2−0.4)=σ(0.8)=0.6900P=\sigma(1.2-0.4)=\sigma(0.8)=0.6900;损失 −log⁡0.69=0.3711-\log0.69=0.3711;对 r(yw)r(y_w) 的梯度 −σ(−0.8)=−0.3100-\sigma(-0.8)=-0.3100(排得越对,梯度越小)。两个分数同时加 5,PP 不变:奖励只确定到一个常数,所以不同提示之间的奖励不能直接比较(Week 3 Day 2 §2.2)。

1.4 B。 A 太绝对(encoder-only 可以,但不是必须);C 错:奖励模型的输入是提示和回答;D 是语言模型的头(Week 3 Day 2 §2.3)。

1.5 B(Week 3 Day 2 §3.3)。

1.6 KL≤log⁡16−1516=1.835\mathrm{KL}\le\log16-\frac{15}{16}=1.835 nat(回答空间连续、奖励两两不同时取等号)。KL 只随 log⁡n\log n 增长,很”省 KL”;代价是每次推理都要采 nn 次,而 RL 是一次性的训练成本(Week 3 Day 2 §3.2;Week 3 Day 6 §4.2)。

1.7 B(Week 3 Day 4 §5.1)。

1.8 B(likelihood displacement,Week 3 Day 4 §3.3)。

1.9(ε=0.2\varepsilon=0.2)

(ρ,A)(\rho,A)目标∂/∂ρ\partial/\partial\rho解释
(1.3, +1)1.200好动作的概率已经涨过头了,不再推
(0.7, +1)0.70+1好动作的概率被压低了,照常往上推
(1.3, −1)−1.30−1坏动作的概率被抬高了,照常往下压
(0.7, −1)−0.800坏动作的概率已经压够了,不再压

裁剪只在”已经往有利的方向走过头”时切断梯度,另外两种情况照常更新(Week 3 Day 3 §3.2)。

1.10 (i) r^w=0.1×(−12+15)=+0.30\hat r_w=0.1\times(-12+15)=+0.30,r^l=0.1×(−20+18)=−0.20\hat r_l=0.1\times(-20+18)=-0.20,间隔 Δ=0.50\Delta=0.50;损失 −log⁡σ(0.5)=0.4741-\log\sigma(0.5)=0.4741;梯度权重 σ(−0.5)=0.3775\sigma(-0.5)=0.3775(排错越厉害权重越大)。(ii) β\beta 是 KL 约束的强度:同样的对数概率变化,β\beta 越大间隔越大、损失越小(β=0.5\beta=0.5 时损失 0.0789),模型越”不愿意”离开参考模型(Week 3 Day 4 §2.3、§3.2)。

第二部分

2.1 B(今天 §3.3)。

2.2 B(Week 3 Day 5 §1.3、§2)。

2.3 B(Dr. GRPO 指出的长度偏置,Week 3 Day 5 §4.1)。

2.4

kkpass@k =1−(7k)/(10k)=1-\binom{7}{k}/\binom{10}{k}pass^k =(3k)/(10k)=\binom{3}{k}/\binom{10}{k}
10.30000.3000
30.70830.0083
50.91670.0000

k=1k=1 时两者相等;kk 增大,pass@k 上升、pass^k 下降(Week 3 Day 5 §5.1;Week 4 Day 4 §3.3)。

2.5 B(今天 §3.4)。

2.6 A(今天 §3.3;Week 3 Day 6 §4.3)。

2.7 B(今天 §3.3)。

2.8 B。 C 是 Lecture 2 意义上的蒸馏(今天 §3.4)。

2.9 (i) 均值 0.375,总体标准差 0.4841:答对的优势 (1−0.375)/0.4841=+1.2910(1-0.375)/0.4841=+1.2910,答错的 (0−0.375)/0.4841=−0.7746(0-0.375)/0.4841=-0.7746(组内优势之和为 0)。(ii) 全对或全错的概率 0.98+0.18=0.43050.9^8+0.1^8=0.4305:这时标准差为 0、所有优势为 0,这组采样白做了。题库要选”模型偶尔能做对”的题,训练中要动态地去掉已经学会和完全不会的题(DAPO 的动态采样,Week 3 Day 5 §3.2、§4.2)。

2.10 (i) 多数票是 42(4 票),和标准答案一致,cons@8 记 1;8 个里有正确的,pass@8 也记 1。(ii) pass@k:检查很容易(比如代码可以跑测试)、或者能接受更高延迟的场景;pass@1:只关心一次生成的场景(今天 §3.3)。

第三部分

3.1 B(Week 4 Day 1 §3.1)。

3.2 B(Week 4 Day 2 §5.2)。

3.3 B(Week 4 Day 2 §2.3)。

3.4 B(Week 4 Day 3 §A.1)。

3.5 (i) 0.9510=0.59870.95^{10}=0.5987。(ii) 每步成功率 0.95×(1+0.05×0.8)=0.988000.95\times(1+0.05\times0.8)=0.98800,10 步 0.88630.8863(最多重试 2 次时 0.9000)。(iii) 先提高”错误能被自动发现”的比例(参数校验、明确的报错、测试),它比多重试几次更关键(Week 4 Day 4 §3.2)。

3.6 B(Week 4 Day 3 §A.4)。

3.7 B(Week 4 Day 4 §6.2)。

3.8 A(Week 4 Day 2 §5.3)。

3.9 (i) 第 tt 轮(t=0,…,5t=0,\dots,5)的输入 =2100+500t=2100+500t,累计 6×2100+500×15=12600+7500=201006\times2100+500\times15=12600+7500=20100 token。(ii) 两次调用:2×2100+5×500=67002\times2100+5\times500=6700 token。(iii) 提示缓存(固定前缀按折扣价计)、裁剪工具返回、工具路由减少工具说明的长度(Week 4 Day 3 §2.3、§4.2)。

3.10 (i) RRF 分数:d1 = 1/61 + 1/62 = 0.03252,d3 = 1/63 + 1/61 = 0.03227,d2 = 1/62 + 1/64 = 0.03175,d5 = 1/63 = 0.01587,d4 = 1/64 = 0.01562。顺序:d1、d3、d2、d5、d4。(ii) 前 3 名的增益 22−1=32^2-1=3、21−1=12^1-1=1、0,DCG@3 =3/log⁡22+1/log⁡23=3.6309=3/\log_22+1/\log_23=3.6309;理想排序是 (2, 1, 1),IDCG@3 =3+1/log⁡23+1/log⁡24=4.1309=3+1/\log_23+1/\log_24=4.1309;NDCG@3 =0.8790=0.8790(Week 4 Day 2 §2.3、§3.2)。

第四部分

4.1 B(Week 4 Day 5 §2.2)。

4.2 A(Week 4 Day 6 §2.1)。

4.3 B(Week 4 Day 6 §1.4)。

4.4 一致率 po=(40+45)/100=0.850p_o=(40+45)/100=0.850;评委说”通过”的比例 0.50、人说”通过”的比例 0.45,pe=0.5×0.45+0.5×0.55=0.500p_e=0.5\times0.45+0.5\times0.55=0.500;κ=(0.85−0.5)/(1−0.5)=0.700\kappa=(0.85-0.5)/(1-0.5)=0.700(Week 4 Day 5 §2.2)。

4.5 B。 1.4 万题、准确率在中段时,两个独立测量的差能分辨到约 1.7 个百分点(Week 4 Day 5 §3.1)。

4.6 B(Week 4 Day 6 §2.5)。

4.7 A(Week 4 Day 5 §4.4)。

4.8 B(Week 4 Day 4 §3.3;Week 4 Day 5 §4.2)。

4.9 (i) 200 题:标准误 0.7×0.3/200=0.0324\sqrt{0.7\times0.3/200}=0.0324,半宽约 ±0.064;800 题:0.0162、±0.032。题目加 4 倍,误差才减半。(ii) 胜者的诅咒:每个提示的测量值 = 真实水平 + 噪声,挑最高分等于挑噪声最大的那一个;即使 50 个提示一样好,报告的分数平均也会偏高(500 题时约 4.6 个百分点)。调参要用开发集(Week 4 Day 5 §3.1、§3.3)。

4.10 (i) EA=1/(1+10−100/400)=0.6401E_A=1/(1+10^{-100/400})=0.6401;A 输了:1600+32×(0−0.6401)=1579.51600+32\times(0-0.6401)=1579.5。(ii) Elo 是对 Bradley-Terry 似然的随机梯度上升,结果依赖对局顺序、KK 大时波动大;BT 的最大似然用全部对局一次拟合,结果唯一,还能用 bootstrap 给出置信区间(Week 4 Day 6 §2.5)。


出关标准

  • 在闭卷计时的条件下完成了 2025 期末真题和本文的模拟卷,记下了两份分数
  • 每道错题都定位到了具体小节,并合上书重推了一遍
  • 能说出偏好数据的三种形式、PPO 的两个变体(以及两个 KL 的区别)
  • 能说出推理的三个指标、控制思考的三种办法
  • 能默写 R1 的五步配方,说清两种”蒸馏”的区别

疑问清单

← 返回课程目录