Files
llm-atlas/research/REASONING_RESEARCH.md
T
2026-07-29 00:40:09 +08:00

899 lines
38 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 推理模型与测试时扩展研究账本
状态:原始论文核验中,正文尚未发布
研究截止:2026-07-28
本轮本地缓存:23 份一手 PDF / 文本,另复用 Kimi K3 官方技术报告
线索发现:K3 references、论文引用网络、作者/机构页面、Grok CLI
结论依据:原论文正文、附录、官方技术报告;Grok 只用于扩大检索覆盖
## 0. 这一章真正要回答什么
“模型会推理”不是一个单一指标。至少要把下面八张账分开:
1. **结果账**:第一次回答是否正确,通常看 pass@1
2. **覆盖账**:多采样以后,至少有一个正确答案的概率,通常看 pass@k
3. **选择账**:如果正确答案已经在候选里,投票、ORM、PRM 或 verifier 能否选出来。
4. **过程账**:中间步骤是否有效、可检查,以及写出来的 CoT 是否真是模型决策的因果解释。
5. **预算账**:额外计算花在更长的单条轨迹、更多并行样本、树搜索,还是工具调用。
6. **优化账**PPO、GRPO、DAPO、Dr.GRPO 与 Kimi 的目标函数究竟改变了哪个梯度。
7. **分布账**:训练是在发现新解法,还是把已有正确解法的概率质量推到前面,同时牺牲多样性。
8. **系统账**:长尾 rollout、KV 状态、沙箱、验证器和教师 prefill 让训练吞吐付出什么代价。
本章核心问题不是“哪篇论文赢了 benchmark”,而是:
> 给定一个模型、一个问题和一笔有限预算,
> 如何产生候选、分配计算、评价过程、选择答案,并知道能力到底来自哪里?
## 1. 贯穿全章的三条因果链
### 1.1 从“写步骤”到“分配测试时计算”
```text
直接回答
→ Chain-of-Thought:把计算摊到更多串行 Token
→ Self-Consistency:对多条 CoT 做并行采样与投票
→ ORM / PRM:不只投票,而是学习判断结果或中间步骤
→ Tree of Thoughts:主动展开、评价、回溯
→ ReAct:把内部推理与外部行动/观察交错
→ compute-optimal allocation:按问题难度在串行、并行、搜索之间分预算
→ reasoning effort:训练一个模型在 low / high / max 下改变推理预算
```
### 1.2 从“人类偏好 RL”到“可验证奖励 RL”
```text
PPOactor + critic + clipped surrogate
→ RLHF:偏好奖励模型给标量奖励
→ DeepSeekMath GRPO:同题成组采样,用组内相对奖励代替 critic
→ DeepSeek-R1-Zero:规则奖励直接驱动长 CoT
→ DeepSeek-R1cold start + reasoning RL + rejection/SFT + general RL
→ DAPOClip-Higher、Dynamic Sampling、token-level loss、overlong shaping
→ Dr.GRPO:去掉长度与组标准差归一化,揭示原始 GRPO 的两类偏置
→ RLVR 边界争论:pass@1 上升是否伴随大 k 覆盖下降
```
### 1.3 Kimi 的长轨迹与能力整合线
```text
Kimi k1.5
128K RL context + partial rollout + online mirror-descent surrogate
+ long2shortmerge / RS / DPO / RL
→ Kimi K2
verifiable rewards gym + self-critique rubric reward
+ budget control + PTX + temperature decay
→ Kimi K2.5
token-level off-policy clipping + Toggle 预算训练
+ unified agentic RL + 100K concurrent tasks
→ Kimi K3
3 domains × 3 reasoning efforts = 9 RL teachers
+ extreme off-policy partial rollout stabilization
+ Multi-Teacher On-Policy Distillation
+ million-token agentic RL / AgentENV
```
## 2. 指标词典:先统一“正确率”口径
### 2.1 pass@1
从指定采样策略抽一个答案时正确的概率。很多论文为了降低方差,会对同一题生成多次,再使用无偏估计汇总成 pass@1;它不一定等于“贪心解码一次”的准确率。
必须同时记录:
- temperature / top-p
- 最大输出长度;
- 是否有工具;
- prompt template
- 重复运行次数;
- 是否使用 grader / verifier。
### 2.2 pass@k
`k` 次候选中至少出现一个正确答案的概率。若一共采样 `n` 个,其中 `c` 个正确,无偏估计为:
```text
pass@k = 1 - C(n-c, k) / C(n, k)
```
它近似回答“这个分布里还覆盖着正确解法吗”,但不是能力的完美真值:
- 有限 `k` 只能看到有限尾部;
- temperature 会改变覆盖;
- prompt 与答案解析器会改变 `c`
- 高 pass@k 不代表实际系统能找到并选中正确答案。
### 2.3 majority@k / consensus@k
采样 `k` 条推理,把最终答案归一化后多数投票。它依赖“正确答案形成稳定簇”的假设:
- 多样错误彼此抵消时很有效;
- 同一种系统性错误占多数时会一起错;
- 自由文本任务难以稳定抽取等价答案。
### 2.4 best-of-N
先生成 `N` 个候选,再由 verifier / reward model 选择最高分答案。最终成功率拆成两部分:
```text
候选覆盖:正确答案有没有生成
×
选择可靠性:评分器有没有把正确答案排到前面
```
因此 best-of-N 的提升不能全部归功于生成模型,也不能只报告 verifier 分数而不报告候选覆盖。
### 2.5 训练时计算与测试时计算
| 口径 | 花在哪里 | 常见混淆 |
|---|---|---|
| 预训练计算 | 更多数据、参数、训练 Token | 与 inference scaling 不是同一条轴 |
| 后训练计算 | SFT、RL rollout、reward、teacher prefill | 训练变贵不代表单次推理变贵 |
| 串行测试时计算 | 更长 CoT、反思、修订 | Token 多不必然更正确 |
| 并行测试时计算 | 多采样、self-consistency、best-of-N | 可并行但总 Token 大 |
| 搜索计算 | 分支、评价、回溯 | verifier 错误会被搜索放大 |
| 工具计算 | 搜索、代码执行、环境交互 | 延迟和成本不只来自模型 Token |
## 3. 八张教学账
### 3.1 结果账:它最后答对了吗
最适合规则可验证任务,例如数学最终答案、单元测试、棋局合法性。优势是奖励便宜且客观;局限是:
- 最终答案对,不保证过程可靠;
- 奖励函数有漏洞时,模型会学会利用漏洞;
- 二元奖励在极难或极易题上几乎不给区分信号;
- 开放式写作、研究与复杂代理任务没有唯一 verifier。
### 3.2 覆盖账:正确路径还在分布里吗
pass@1 上升可能来自两种完全不同的变化:
```text
A. 真正扩展:新增原先几乎不会出现的解法模式
B. 分布锐化:把原先低概率的正确模式推到更高概率
```
DeepSeekMath 已在 2024 年报告:RL 提升 Maj@K,却没有改善 Pass@K;作者谨慎解释为输出分布更稳健、正确答案从 Top-K 被推向前面,而不是已经证明基础能力扩展。
2025 年的 RLVR capacity-limit 工作把这一问题扩大到多个数学、代码和视觉设置:当前测试中的 RLVR 模型常在小 `k` 更强,但基础模型会在大 `k` 追上或超过。它是对一组当前算法的实证边界,不是“RL 永远不能创造能力”的定理。
### 3.3 选择账:如何从候选里找到对的
选择器的主要分支:
1. **答案投票**:不训练 verifier,只看答案频次。
2. **Outcome Reward ModelORM**:整条解答得到一个分数。
3. **Process Reward ModelPRM**:每一步得到分数,再聚合。
4. **规则 verifier**:执行代码、比较数学答案、检查约束。
5. **Generative Reward ModelGRM**:先生成评价过程/rubric,再给分。
选择器不是免费 oracle。它可能:
- 偏爱格式、长度或表面完整性;
- 在分布外候选上失准;
- 把局部错误一路传播到树搜索;
- 被策略模型共同训练后产生共谋式 reward hacking。
### 3.4 过程账:步骤好看、有效、忠实是三回事
必须分开:
- **有效性**:这一步是否有助于得到正确答案;
- **可验证性**:外部规则或 PRM 能否判断这一步;
- **可读性**:人是否容易理解;
- **忠实性**:公开写出的步骤是否真反映模型产生答案的因果过程。
Turpin 等人的偏置提示实验显示,模型能给出听起来合理但隐瞒偏置影响的解释;“正确/流畅的 CoT”不能自动当作模型内部因果证词。这不是说所有 CoT 都不可信,而是说明公开推理文本必须接受独立 faithfulness 检查。
### 3.5 预算账:四种测试时扩展不是一回事
#### 串行深度
同一条轨迹继续写、检查、修订。适合一个局部错误可以被后续发现的题;风险是错误前提越写越深。
#### 并行宽度
从同一问题采样多个独立候选。适合模型有多种可行路径、错误较分散的题;风险是样本高度相关,新增候选边际收益迅速下降。
#### 显式搜索
在“状态—候选思路—评价—回溯”树上分配预算。适合步骤可局部评价的问题;风险是搜索控制和 verifier 本身消耗大量计算。
#### 工具/环境
让模型通过搜索、代码执行、浏览器或软件环境获得新观察。它不只是“想更久”,而是改变信息集。对 agentic RL 来说,这也是最可能超越单轮静态提示能力边界的路径。
Snell 等人的 compute-optimal 工作在专门训练的 PaLM 2 模型与 MATH 设置中表明:
- 最优策略依题目难度和模型而变;
- 其最优分配在特定实验中可用约 4 倍更少计算超过 best-of-N
- 在一些 FLOPs 匹配条件下,小模型可超过约 14 倍大的模型;
- 但最难题常从当前测试时计算中获益很少,继续预训练更有效。
这些数字不能外推成“推理计算总能替代参数规模”。
### 3.6 优化账:每个目标函数到底改了什么
#### PPO
PPO 使用 actor 产生动作、critic 估计价值/优势,并通过 clipped surrogate 限制单次策略更新。用于 LLM RLHF 时还常加入 reference KL、reward model 和 GAE。它的工程代价包括:
- 额外价值网络或 value head
- rollout、reference、reward、critic 多模型协调;
- 长序列信用分配;
- 训练/推理引擎概率不一致。
#### DeepSeekMath GRPO
对同一问题 `q`,从旧策略采样一组 `G` 个输出。用组内奖励均值作为 baseline,并以组内标准差归一化:
```text
A_i = (r_i - mean(r_1...r_G)) / std(r_1...r_G)
```
Outcome supervision 时,同一输出的每个 token 共用 `A_i`。原始 DeepSeekMath GRPO
- 不训练 critic
- 对每个回答先做 token 平均,再对组平均;
- 把 KL 直接加入目标,而不是先从 reward 中扣;
- 使用论文给出的正值 KL 估计器;
- 只对“组内有奖励差异”的问题产生相对信号。
DeepSeekMath-RL 的报告设置包括:约 144K 个 GSM8K/MATH CoT 问题、每题 64 个输出、最大 1024 tokens、KL 系数 0.04。该模型在报告中 MATH 从 46.8 提升到 51.764-sample self-consistency 为 60.9;只能按论文设置解释。
#### DAPO
DAPO 不是简单“把 GRPO 再跑大一点”,而是修复实际训练中的四个断点:
1. **Clip-Higher**:上下裁剪范围解耦,给低概率 token 更大上升空间,缓解熵坍缩。
2. **Dynamic Sampling**:过滤组内全对或全错的 prompt,因为相对优势全为零。
3. **Token-level Policy Gradient Loss**:整批 token 等权聚合,改变长短回答的梯度权重。
4. **Overlong Reward Shaping**:在长度上限附近平滑惩罚,避免硬截断制造噪声。
DAPO 在其 Qwen2.5-32B Base、数据、系统和评测设置中达到 AIME 2024 平均 50;论文对比的 naive GRPO 为 30、引用的 R1-Zero-Qwen-32B 为 47。由于复现数据与系统并不完全相同,不能写成无条件“DAPO 超过 R1”。
#### Dr.GRPO
Dr.GRPO 指出原始 GRPO 的两个潜在偏置:
1. **response-level length bias**:每条回答除以自己的长度,会让短正确答案获得更强正梯度、长错误答案获得更弱负梯度。
2. **question-level difficulty bias**:再除以组内 reward 标准差,会使某些难度的题获得不同权重。
其改法是去掉回答长度与组标准差归一化,用固定全局最大 token 数作为实现中的分母。论文还展示 DeepSeek-V3 Base 在 RL 前已经会出现 “aha”/反思式表达,因此不能仅凭训练后出现 “wait/aha” 就断言 RL 从零发明了反思。
这是一个有明确假设和实验范围的批判,不代表所有 GRPO 结果无效。
#### Kimi k1.5 的 mirror-descent surrogate
k1.5 从迭代参考策略采样 `k` 条回答,使用组均值奖励 baseline,并优化“奖励 − 与迭代参考策略的 KL 正则”对应的 surrogate。论文强调:
- 不使用 value network
- 每轮重置优化器;
- 允许使用 off-policy 数据;
- 128K context 与 partial rollout 让一条超长轨迹跨训练迭代;
- 局部错误之后仍可能恢复,因此不在本文框架里依赖 PRM/value/MCTS。
“不依赖 PRM/MCTS”只描述 k1.5 的选择,不能泛化为搜索与过程监督无效。
#### Kimi K2 的统一 RL
K2 延续 k1.5 的组相对奖励与 squared log-ratio 正则,并扩展任务/奖励:
- 数学、STEM、逻辑、代码、软件工程、复杂指令等 verifiable gym
- 对开放任务使用 self-critique rubric reward
- critic 用可验证任务的 on-policy rollout 持续校准;
- 分任务 token budget,超预算截断并惩罚;
- 高质量 PTX loss 防遗忘;
- temperature decay 从探索过渡到稳定利用。
K2 的“self-critique”不是模型随口说“我觉得好”,而是 pairwise 比较,结合 core、prescriptive 和人工 rubric;它仍可能受 judge 偏差与 reward hacking 影响。
#### Kimi K2.5 的 token-level off-policy clipping
K2.5 对每个 token 的新旧策略比率做 `[α, β]` 区间裁剪。正文明确说明:
- 区间内正常计算 policy gradient
- 区间外梯度屏蔽;
- 只依据 log-ratio 是否越界;
- 不像标准 PPO 那样根据 advantage 正负决定截哪一边;
- 目的是约束训练引擎与推理引擎差异放大的 off-policy drift。
K2.5 同时提出 **Toggle**
- Phase 0:当同题平均正确率超过阈值时,才按正确样本长度分位数施加预算;
- Phase 1:恢复最大长度,继续学习利用更多推理计算;
- 两阶段每 `m` 轮交替。
直觉是避免只做“越短越好”以后失去向上扩展预算的能力。
### 3.7 分布账:pass@1 上升不等于能力空间变大
教学时固定画两张分布:
```text
基础模型:正确模式概率低,但模式覆盖较宽
RL 模型:正确模式概率高,但部分低概率模式消失
```
需要同时问:
- pass@1 是否上升;
- pass@k 曲线在多大 `k` 后交叉;
- entropy 是否下降;
- 相同 temperature 还是 entropy-matched temperature
- 训练 prompt 和测试 prompt 是否相同;
- distillation 是否从更强教师引入了基础模型原本没有的模式。
RLVR capacity-limit 论文观察到,蒸馏模型的 pass@k 可以超过基础模型,并据此把“从更强教师转入新模式”与“当前 on-policy RL 对已有模式重加权”区分开。但这仍依赖有限采样与具体教师。
### 3.8 系统账:长推理不是只把 max_tokens 改大
长轨迹训练带来的系统问题:
- 一批 rollout 中少数极长样本拖住全部 GPU;
- 长序列 KV cache 占用巨大;
- 工具/浏览器/沙箱在模型思考时空闲,在环境运行时 GPU 又可能空闲;
- 策略更新后,未完成轨迹变成 stale/off-policy
- 训练引擎与高吞吐推理引擎可能给出不同 log-prob;
- verifier、teacher prefill 和环境执行形成新的流水线。
Kimi 的演化正好提供一条系统线:
- k1.5partial rollout、replay buffer、长轨迹分段;
- K2.5:每个 agent task 是异步 coroutineRollout Manager 支持最多 100K concurrent tasks
- K3:几百张 GPU 上的 co-located RL、外部 CPU DRAM KV pool、NVMe 状态卸载、自动节流与 AgentENV。
## 4. DeepSeek 高亮主线
### 4.1 DeepSeekMathGRPO 先是一种“去 critic”的工程/统计选择
不能把 GRPO 缩成一句“PPO 不要 value model”。它同时改变了:
- baseline:同题组均值;
- advantage normalization:组内标准差;
- loss aggregation:先回答内 token 平均;
- KL 放置与估计;
- 可学习 prompt:全对/全错组没有相对信号。
还要把论文自己的保守结论放在正文:RL 提升 Maj@K 而非 Pass@K,作者当时已没有把它夸张成必然创造新能力。
### 4.2 R1-Zero:规则奖励能让长 CoT 自组织,但现象不等于机制证明
R1-Zero
- 从 DeepSeek-V3 Base 直接开始 RL,没有先做 reasoning SFT
- 使用 GRPO
- 使用规则 accuracy reward 与 format reward
- 不使用神经 ORM/PRM 作为 reasoning reward,理由包括 reward hacking 与复杂训练管线;
- 随训练出现更长回答、反思、验证和被称为 “aha moment” 的行为;
- 同时存在可读性差、语言混合等问题。
应把“观察到长推理/反思”写成训练现象,而不是断言某个单一 token 或表达就是能力涌现的因果标志。Dr.GRPO 对基础模型的检查尤其提醒这一点。
### 4.3 R1:完整管线不是“纯 RL”
R1 的公开管线:
```text
少量高质量 cold-start reasoning data
→ reasoning-oriented RL
→ rejection sampling
→ reasoning + non-reasoning SFT
→ broader RLhelpfulness / safety 等)
```
边界:
- R1-Zero 才是“base 直接 RL”的主要实验;
- R1 使用 SFT、rejection sampling 和多阶段 RL
- reasoning 阶段偏向规则奖励,后续 general RL 仍有 reward models
- 扩展版报告记载 model preference reward 只在最后约 400 steps 使用,过久会 reward hack
- 报告对 AIME/GPQA 常采样 64 次、MATH/Codeforces 16 次,再估计 pass@1;consensus 另列,不能把两者混用。
### 4.4 R1 蒸馏:小模型得到的是强教师轨迹
六个 1.5B70B distilled 模型使用约 800K 由 R1 产生/筛选的数据进行 SFT,本身没有再做该报告中的 RL。附录对比显示在小模型上蒸馏更有效,但报告同时认为 RL 仍是继续突破更强能力的必要方向。
所以:
- “小模型只靠 SFT 就会推理”缺了强教师数据来源;
- “蒸馏证明 RL 不需要”也不成立,因为教师本身来自更重的训练管线。
### 4.5 DAPO 与 Dr.GRPO:从复现失败反推算法细节
这两篇论文最适合作为“研究如何进步”的案例:
```text
R1 给出强结果与简要 GRPO 配方
→ naive reproduction 明显落后
→ DAPO 暴露熵、无信号组、长序列聚合、截断四个工程断点
→ Dr.GRPO 再追问长度增长和 aha 是否可能来自目标函数偏置/基础模型
```
这不是互相推翻,而是把“RL 有效”拆成更可审计的机制。
## 5. Kimi 高亮主线
### 5.1 Kimi k1.5:把 RL 的序列长度本身当作 scaling axis
关键配置/结论:
- 最大 RL context 128K
- long-CoT 报告 AIME 77.5、MATH 500 96.2、Codeforces 94th percentile、MathVista 74.9
- partial rollout 让长回答跨迭代继续;
- replay buffer 保存旧片段,当前轮只对可用部分做 on-policy 计算,并可把旧片段排除出 loss;
- 长度惩罚在初期能力增长后再 warm up。
数字只能按论文的模型、采样与评测协议使用。
### 5.2 long2short 不是一种蒸馏算法
k1.5 的 long2short 是四类方法:
1. **weight averaging**:合并长 CoT 与短模型;
2. **shortest rejection sampling**:每题采样 8 条,选最短正确答案;
3. **DPO**:最短正确为正样本,较长错误或超过 1.5 倍的正确回答为负样本;
4. **long2short RL**:加强长度惩罚并降低最大 rollout 长度。
报告中 long2short RL 在 AIME 2024 的 8 次运行 pass@1 为 60.8、平均约 3,272 tokens。它说明可以优化“正确率—长度”前沿,不说明短思维总能保留全部长思维能力。
### 5.3 K2:把可验证推理扩展到一般任务
K2 的新意不是继续拉长数学 CoT,而是建立从规则奖励到 subjective rubric 的闭环:
```text
可验证任务的 on-policy rollout
→ 用客观信号持续校准 critic
→ critic 对开放任务做 pairwise rubric evaluation
→ actor 学习更一般的偏好
```
这是一种把 verifier 能力迁移到开放任务 judge 的尝试;开放任务奖励仍不是客观真值。
### 5.4 K2.5:训练效率与推理预算要一起控制
K2.5 的两项关键桥梁:
- token-level probability-ratio clipping(用于约束 log-ratio drift),处理大规模异步 rollout 的 off-policy 偏移;
- Toggle 在 budget-limited 与 standard scaling 间交替,保留模型继续使用更多推理计算的能力。
其 unified agentic RL 还把 text、vision、parallel-agent RL 放进同一异步环境,说明“reasoning model”已从单轮数学走向多模态、工具与并行代理控制。
### 5.5 K3:九个专家怎样合成一个可控模型
K3 post-training 有三阶段:
```text
Stage 1: SFT
Stage 2: domain × reasoning effort RL
Stage 3: Multi-Teacher On-Policy Distillation
```
Stage 2 的三个领域:
1. general:经验、视觉、推理、faithfulness、search、knowledge work
2. general agentlong-horizon assistant、deep research、paragraph writing
3. coding agentSWE、coding experience、kernel、web development。
每个领域再训练 `low / high / max` 三档 reasoning effort,共 9 个教师。
#### reasoning effort RL
对每题先估计初始预算 `b0(x)`。如果回答长度 `T(y)` 超过 `τ · b0(x)`,任务奖励被覆盖为 `-1`
```text
max effort:先用较大的 τ 学会充分计算
→ high / low:逐步 anneal τ,压缩可用预算
```
它不是推理时简单截断,而是在训练时改变“超预算回答”的奖励。
#### Agentic GRM
K3 要求生成式奖励模型遵循:
```text
outcome → rubric → score → scorepad
```
为缓解模型通过冗长回答骗取分数,候选长度超过阈值 `σ · l0` 时会在二元比较中自动失败。这里控制的是 judge 的 verbosity 偏好,不等于 reasoning effort 的长度奖励。
## 6. K3 最容易混淆的两种训练
### 6.1 partial rollout RL:允许长轨迹跨迭代,显式处理 stale/off-policy
`N` 个 prompt、每题 `K` 条轨迹:
1. 并行生成 `N×K` 条 rollout
2. 当其中 `λNK` 条完成,就暂停 generation
3. 已完成轨迹进入本轮 policy optimization
4. 未完成轨迹排队,后续迭代恢复;
5. 一条超长轨迹因此可能横跨多个 policy 版本。
K3 使用 per-token regularization,把更新限制在局部邻域,以容忍这种“极端 off-policy”状态。这里解决的是长尾吞吐与旧策略轨迹问题。
### 6.2 MOPD:学生 on-policy,教师给逐 token 稠密信号
对领域 `d`、effort `e`
1. 学生 `πθ` 自己生成轨迹;
2. 路由到对应冻结教师 `πteacher(d,e)`
3. 教师对学生已经走过的前缀做 prefill;
4. 每个学生采样 token 得到教师—学生 log-prob 差;
5. clip 后作为 dense token reward / advantage。
K3 报告中的形式可简写为:
```text
r_opd,t =
clip(
stop_gradient[
log π_teacher(y_t | e, x, y_<t)
- log π_student(y_t | e, x, y_<t)
],
-R_max,
R_max
)
```
独立 MOPD 论文把它推导为 student-to-teacher reverse KL 的 policy-gradient 实现:
```text
A_MOPD,t =
stop_gradient[
log π_teacher(y_t | x, y_<t)
- log π_student(y_t | x, y_<t)
]
```
再做双边 advantage clipping。
关键区别:
| 机制 | 谁生成轨迹 | 为什么需要稳定化 | 信号密度 |
|---|---|---|---|
| K3 partial rollout RL | 跨多个旧/新 policy 的未完成任务 | 轨迹 stale、极端 off-policy | 通常 outcome / GRM 为主 |
| K3 MOPD | 当前 student | student 与 teacher 分布差异 | 每个 token 都有 teacher signal |
不得把 “partial rollout 是 off-policy” 和 “MOPD 是 on-policy” 写成矛盾;它们是不同阶段/目标。
### 6.3 为什么强调 same-origin teacher
独立 MOPD 论文验证:
- 每个领域教师从同一 SFT checkpoint 经过领域 RL 得到;
- student 也从该 SFT checkpoint 初始化;
- teacher/student 分布接近时,policy-gradient 和 top-k 形式都较稳定;
- 换成绝对能力更强但分布更远的外部教师,训练可能不稳定,entropy 收缩。
“教师越强越好”因此不成立;教师与学生的分布距离也是关键变量。
### 6.4 为什么 K3 没有采用更细的 top-k 教师分布
独立 MOPD 给出两种实现:
- 只使用学生实际采样 token 的 policy-gradient 形式;
- 传输教师 top-k token 分布的低方差形式。
K3 报告称在其设置中,更细粒度 top-k distillation 没有改善收敛或最终性能。必须写成“在 K3 的同源教师与具体基础设施设置中”,不能推广成 top-k 蒸馏普遍无用。
## 7. K3 百万 Token agentic RL 的系统闭环
### 7.1 co-located RL
K3 在几百张 GPU 规模做 co-located training。策略训练与 rollout 共享设备,配套:
- partial rollout 减少长尾等待;
- KV 写回外部 CPU DRAM pool
- KDA recurrent state 与 MLA KV cache 统一生命周期;
- train state 在阶段间卸载到 NVMe
- 根据 active/queued requests 与 KV utilization 自动 throttle
- reference / non-policy 权重可从 CPU 流入 policy FP32 gradient buffer。
这些机制回答的是“如何让百万 Token agent trajectory 实际跑得动”,不是新推理算法本身。
### 7.2 AgentENV
K3 的沙箱系统使用 Firecracker microVM,支持:
- pause / resume
- incremental checkpoint
- fork / snapshot
- 暂停时不消耗 memory/CPU
- checkpoint 最低 133 ms、resume 最低 49 ms
- 真实负载最高 6.5× memory overcommit。
K3 报告称训练与评测共创建 51,219,741 个 sandboxes、跨 1,505,678 个 images。它们是该项目报告的规模数据,不是通用性能保证。
AgentENV 已开源:
- https://github.com/kvcache-ai/AgentENV
## 8. 过程监督与验证器主线
### 8.1 Uesato 2022outcome/process 不是简单二选一
在 GSM8K 设置中,该工作比较 outcome-based 与 process-based feedback,并指出若追求低 trace error,通常需要过程反馈,或一个能近似过程反馈的 reward model。
不能外推为“所有任务 PRM 都优于 ORM”;生成模型、标注预算和搜索规模都不同。
### 8.2 PRM800K / Lets Verify Step by Step
关键事实:
- 约 800K step-level labels
- 来自约 75K solutions、12K problems
- 在代表性 500 道 MATH 子集上,process-supervised reward model 配合 best-of-1860 选择达到 78.2%
- 生成器与 reward model 来自内部 GPT-4-base 系列;
- 4,500 道 MATH test problems 用于训练,只评估剩余 500;
- 主要研究 reward-model reliability 与 best-of-N,不是 generator RL。
网站不能写“PRM 解出 78.2% MATH”,必须保留:
```text
500-problem subset + best-of-1860 + reward-model selection
```
### 8.3 verifier 与搜索的反馈回路
搜索不是自动纠错器:
```text
生成器提出候选
→ verifier 给局部排序
→ 搜索把高分分支分配更多预算
→ verifier 的系统性偏差被反复放大
```
因此互动实验要允许单独调:
- 基础候选正确率;
- 候选相关性/多样性;
- verifier true-positive / false-positive
- branching factor
- depth
- 总 token budget。
## 9. s1:极少数据、预算强制与蒸馏边界
s1 的关键设置:
- 从候选池筛出 1,000 个问题组成 s1K;
- 共约 4.7M tokens
- traces 来自 Gemini 2.0 Flash Thinking,后续 s1.1 改用 R1
- SFT Qwen2.5-32B-Instruct
- 训练约 7 个 H100 GPU-hours
- 用 “Wait” 继续生成或强制结束,实现 budget forcing。
论文中的 AIME 2024 无 budget forcing 为 50,特定扩展运行约到 56.7/57。教学边界:
- 这是强教师轨迹蒸馏,不是 1,000 个原始问题让基础模型无中生有;
- 59K 全量数据未超过精选 1K,说明 difficulty/diversity/quality 很重要;
- “超过 o1-preview”是特定 benchmark、prompt、预算与评测协议下的比较。
## 10. 首版互动实验设计
### 10.1 Reasoning Budget Lab(主交互)
固定一笔总预算,例如 16K / 64K / 256K tokens,让读者分给四种策略:
1. 单轨串行深度;
2. 并行采样数量;
3. verifier/search
4. 工具调用。
输入:
- base pass@1
- 独立样本相关性;
- 深度收益曲线;
- verifier 准确率;
- search branching/depth
- tool success / latency
- reasoning effort
- 总 token/latency budget。
输出:
- 估计 pass@1
- pass@k / coverage
- majority@k
- verifier-selected success
- 串行关键路径 latency
- 总 token
- “能力扩展”与“选择改进”的分解。
所有数值必须标注为 deterministic teaching simulation,不得伪装成模型 benchmark。
预设:
- Direct / CoT
- Self-Consistency
- Best-of-N + ORM
- PRM search
- DeepSeek-R1 风格;
- Kimi k1.5 long-CoT
- K3 low / high / max
- tool-using agent。
### 10.2 GRPO Bias Lab(第二交互或主交互第二页签)
给定同题 8 条 rollout
- reward
- token length
- old/new token probability ratio
- 是否 overlong
- 是否全对/全错组。
并排显示:
- DeepSeekMath GRPO
- DAPO token-level aggregation
- Dr.GRPO
- K2.5 log-ratio gradient mask。
读者可以直接看到:
- 组内全同奖励为何梯度为零;
- response-length normalization 如何改变长短样本权重;
- std normalization 如何改变题目难度权重;
- ratio 越界时 K2.5 如何屏蔽 token
- hard overlong penalty 与 soft shaping 的差别。
### 10.3 MOPD Capability Mixer
画 3×3 教师矩阵:
```text
low high max
general ● ● ●
agent ● ● ●
coding ● ● ●
```
选择 prompt domain / effort 后:
- student rollout
- router 选择 teacher
- 每 token 显示 student prob、teacher prob、clipped advantage
- 可切换 same-origin / distant teacher
- 显示 entropy、teacher-student KL 和稳定性提示。
## 11. 正文可视化清单
首版至少需要:
1. 八账总览:结果、覆盖、选择、过程、预算、优化、分布、系统。
2. 四种 test-time compute:串行、并行、搜索、工具。
3. pass@1 / pass@k / majority@k / best-of-N 的同一候选池示意。
4. CoT → self-consistency → verifier → search → agent 时间线。
5. PPO → GRPO → DAPO / Dr.GRPO 公式差异图。
6. DeepSeekMath → R1-Zero → R1 → distill 因果链。
7. “能力扩展 vs 概率重排”的双分布图。
8. PRM 的逐步评分与 best-of-N 选择图。
9. Kimi k1.5 partial rollout 的跨迭代时间线。
10. k1.5 long2short 四方法对照。
11. K2 verifiable gym → critic → subjective rubric 闭环。
12. K2.5 Toggle 两阶段预算训练。
13. K3 3 domains × 3 efforts → MOPD 的九教师矩阵。
14. K3 partial rollout RL 与 MOPD 并排图。
15. K3 co-located RL、外部 KV pool、AgentENV 流水线。
16. CoT correctness / plausibility / faithfulness 三圆图。
## 12. 本地一手材料
PDF 与文本只作研究缓存,受 `.gitignore` 排除;公开仓库提交本账本与 canonical URL。
| ID | 来源 | 页数 | 本章用途 |
|---|---|---:|---|
| `1707.06347` | Proximal Policy Optimization Algorithms | 12 | PPO 起点 |
| `2110.14168` | Training Verifiers to Solve Math Word Problems | 22 | GSM8K、verifier、采样 |
| `2201.11903` | Chain-of-Thought Prompting | 43 | 串行推理起点 |
| `2203.11171` | Self-Consistency Improves Chain of Thought Reasoning | 24 | 并行采样与投票 |
| `2205.10625` | Least-to-Most Prompting | 61 | 分解式推理 |
| `2210.03629` | ReAct | 33 | 推理与行动交错 |
| `2211.14275` | Solving Math Word Problems With Process- and Outcome-Based Feedback | 29 | PRM/ORM 早期比较 |
| `2305.04388` | Language Models Dont Always Say What They Think | 32 | CoT faithfulness |
| `2305.10601` | Tree of Thoughts | 14 | 显式搜索 |
| `2305.20050` | Lets Verify Step by Step | 29 | PRM800K / best-of-1860 |
| `2402.03300` | DeepSeekMath | 30 | GRPO |
| `2408.03314` | Scaling LLM Test-Time Compute Optimally | 37 | compute-optimal allocation |
| `2411.15124` | Tülu 3 | 82 | RLVR / 开放 post-training 配方 |
| `2412.16720` | OpenAI o1 System Card | 51 | reasoning model 评测/安全边界 |
| `2501.12599` | Kimi k1.5 | 25 | long-CoT、partial rollout、long2short |
| `2501.12948` | DeepSeek-R1 | 86 | R1-Zero、R1、distillation |
| `2501.19393` | s1 | 46 | budget forcing、精选蒸馏数据 |
| `2503.14476` | DAPO | 16 | GRPO 复现与四项修正 |
| `2503.20783` | Understanding R1-Zero-Like Training: A Critical Perspective | 20 | Dr.GRPO、长度/难度偏置 |
| `2504.13837` | Does RL Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model? | 31 | RLVR coverage 边界 |
| `2507.20534` | Kimi K2 | 32 | verifiable + self-critique RL |
| `2602.02276` | Kimi K2.5 | 30 | token clipping、Toggle、agentic RL |
| `2606.30406` | MOPD | 15 | multi-teacher on-policy distillation |
| `2607.24653` | Kimi K3 | 47 | reasoning effort、MOPD、agentic infra |
首版时间线另补 6 个桥接节点。其 canonical 页面、标题与摘要已核对;后续二轮再加入本地逐页笔记:
| ID | 来源 | 首版用途 |
|---|---|---|
| `2203.14465` | STaR | 迭代生成、筛选与训练成功 rationale |
| `2205.11916` | Large Language Models are Zero-Shot Reasoners | 从 few-shot CoT 到统一零样本触发 |
| `2206.14858` | Minerva | 技术内容继续训练与定量推理 |
| `2211.12588` | Program of Thoughts | 把语言推理与外部数值执行分开 |
| `2303.17651` | Self-Refine | 无额外训练的反馈—修订串行扩展 |
| `2403.09629` | Quiet-STaR | 从任务 CoT 走向一般文本内部 rationale |
## 13. 一手来源 canonical URLs
- PPO — https://arxiv.org/abs/1707.06347
- GSM8K / Verifiers — https://arxiv.org/abs/2110.14168
- Chain-of-Thought — https://arxiv.org/abs/2201.11903
- Self-Consistency — https://arxiv.org/abs/2203.11171
- STaR — https://arxiv.org/abs/2203.14465
- Least-to-Most — https://arxiv.org/abs/2205.10625
- Zero-Shot Reasoners — https://arxiv.org/abs/2205.11916
- Minerva — https://arxiv.org/abs/2206.14858
- ReAct — https://arxiv.org/abs/2210.03629
- Process vs Outcome Feedback — https://arxiv.org/abs/2211.14275
- Program of Thoughts — https://arxiv.org/abs/2211.12588
- Self-Refine — https://arxiv.org/abs/2303.17651
- CoT Unfaithfulness — https://arxiv.org/abs/2305.04388
- Tree of Thoughts — https://arxiv.org/abs/2305.10601
- Lets Verify Step by Step — https://arxiv.org/abs/2305.20050
- DeepSeekMath — https://arxiv.org/abs/2402.03300
- Quiet-STaR — https://arxiv.org/abs/2403.09629
- Scaling LLM Test-Time Compute Optimally — https://arxiv.org/abs/2408.03314
- Tülu 3 — https://arxiv.org/abs/2411.15124
- OpenAI o1 System Card — https://arxiv.org/abs/2412.16720
- Kimi k1.5 — https://arxiv.org/abs/2501.12599
- DeepSeek-R1 — https://arxiv.org/abs/2501.12948
- s1 — https://arxiv.org/abs/2501.19393
- DAPO — https://arxiv.org/abs/2503.14476
- Dr.GRPO — https://arxiv.org/abs/2503.20783
- RLVR Capacity Limits — https://arxiv.org/abs/2504.13837
- Kimi K2 — https://arxiv.org/abs/2507.20534
- Kimi K2.5 — https://arxiv.org/abs/2602.02276
- MOPD — https://arxiv.org/abs/2606.30406
- Kimi K3 — https://arxiv.org/abs/2607.24653
- Thinking Machines: On-Policy Distillation — https://thinkingmachines.ai/blog/on-policy-distillation/
- AgentENV — https://github.com/kvcache-ai/AgentENV
## 14. 高风险表述检查表
- [x] 不把 pass@1、pass@k、majority@k、best-of-N 混写。
- [x] 不把训练计算、串行推理、并行采样、搜索与工具成本混写。
- [x] 不把可读 CoT 当作忠实因果解释。
- [x] 不把 PRM800K 的 78.2% 写成单次 MATH 准确率。
- [x] 不把 R1 完整管线写成“纯 RL、零 SFT”。
- [x] 不把 R1-Zero 的 “aha” 当作 RL 从零创造能力的单一证据。
- [x] 不把 R1 distilled 小模型写成只用 1K/800K 原始题自主学会推理。
- [x] 不把 DAPO 的同 base 对比写成完全同数据/同系统的严格赛跑。
- [x] 不把 Dr.GRPO 写成已经推翻所有 GRPO。
- [x] 不把当前 RLVR pass@k 结果写成关于 RL 的不可能定理。
- [x] 不把 s1 的 1K 写成没有强教师轨迹。
- [x] 不把 k1.5 不使用 PRM/MCTS 写成这些方法普遍无效。
- [x] 不把 K2 self-critique reward 当作客观 verifier。
- [x] 不把 K2.5 probability-ratio clipping / log-ratio drift 约束当作标准 PPO clipping。
- [x] 不把 K3 partial rollout 的 off-policy 稳定化与 MOPD 的 on-policy student rollout 混写。
- [x] 不把更强但远分布教师写成 MOPD 必然更好。
- [x] 不把 K3 报告中的系统规模数字写成第三方复现结果。
- [x] 所有 benchmark 数字同时带模型、采样、选择与数据边界。
## 15. 首版正文完成闸门
- [x] 把八张账做成一张可导航总图。
- [x] 建立不少于 30 篇的关键论文时间线,并逐项核对 canonical URL。
- [x] 完整解释 CoT、self-consistency、verifier、PRM、search、tool use 的桥接关系。
- [x] 用统一候选池讲清 pass@1 / pass@k / consensus / best-of-N。
- [x] 画出 PPO → GRPO → DAPO / Dr.GRPO 的目标函数差异。
- [x] 单独写 DeepSeekMath → R1-Zero → R1 → distillation 高亮主线。
- [x] 单独写 Kimi k1.5 → K2 → K2.5 → K3 高亮主线。
- [x] 并排画 K3 partial rollout RL 与 MOPD,明确 off-policy / on-policy。
- [x] 讲清 reasoning effort、budget forcing、long2short 与 Toggle 的差异。
- [x] 讲清 RLVR pass@1 / pass@k 能力边界争论及其局限。
- [x] 加入 CoT faithfulness 的独立警示与实验。
- [x] 完成 Reasoning Budget Lab。
- [x] 完成 GRPO Bias Lab 或等价交互页签。
- [x] 完成 MOPD 九教师可视化。
- [x] 论文链全部指向一手来源。
- [ ] 类型、链接、anchor、交互、桌面/移动端、容器与生产 Chrome 检查通过。