推理数据与蒸馏
最终答案只能说明模型是否抵达终点。推理数据还会记录更多沿途信息:提示、可见的推理轨迹、答案、对轨迹和答案分别执行的检查,以及生成轨迹时的条件。有了这些字段,系统才能用成功示范训练模型、用带标签的失败样本训练验证器、构造偏好数据对,或审计数据流水线为何接纳某条样本。
这些用途不能混为一个步骤。采样建立候选池,筛选会改变候选池的分布,监督微调模仿筛选后的文本,蒸馏把教师的输出分布或选中样本转移给学生。上述任何一步,都不能单独证明书面推理过程忠实反映了模型内部的计算。本章会沿着数据经过的每个环节,说明最终模型实际被训练去复现什么。
flowchart TD
A[提示登记表与拆分组] --> B[教师采样候选轨迹]
B --> C[答案、过程与策略检查]
C --> D[通过验收的示范]
C --> E[被拒轨迹与审计标签]
D --> F[去重、平衡与版本化]
F --> G[示范语料库]
E --> M[版本化失败标签与审计结果]
M --> N[训练验证器、偏好模型或错误模型]
G --> H[选定学生训练目标]
I[教师 logits 或选中序列] --> H
H --> J[模型规模迁移]
H --> K[输出长度压缩]
J --> L[留出集质量与成本评估]
K --> L
N --> L推理记录必须保留什么
对第 条训练样本,用 表示提示, 表示可见的推理轨迹, 表示最终答案的词元。用轨迹训练语言模型时,通常会遮住提示,只预测推理轨迹和答案。一种明确写出的单样本损失是
这里, 表示学生模型参数, 和 分别是轨迹长度和答案长度, 与 控制两个区域的权重, 是归一化项。令 时,长回答会贡献更多词元损失,因此得到更大的总权重。令 时,每条样本获得相同的总权重,于是长回答中的单个词元权重更小。两种选择都不是中性的。如果提示 有 条通过验收的轨迹,把每条轨迹都当作普通数据行,也会让该提示的权重大致与 成正比。若要让每个提示的权重相同,可以先采样提示,再从该提示的轨迹中采一条;也可以把每条轨迹的权重设为 。
文本只是记录的一部分。可用的语料库还要保存足够的元数据,才能复现验收决定并发现数据泄漏:
prompt: {text, source_dataset, source_item_id, split_group}
completion: {trace, final_answer, language, token_count, tool_calls}
checks: {answer_result, process_result, policy_result, checker_versions}
generation: {teacher, checkpoint, prompt_template, temperature, seed}
provenance: {license, parent_hashes, generated_at}
disposition:
{accepted_for_sft, preference_role, audit_only, rejection_reason}
每个字段都有具体用途。split_group 把释义变体和来源相同的问题留在同一个数据分区。记录核查器版本,后续才能重新评分。生成设置可以解释两个名义上相同的运行为何得到不同覆盖。disposition 字段则防止失败轨迹悄悄混入正向监督数据。如果某项元数据从不参与筛选、采样、加权、条件控制或审计,它就不属于训练设计,只是存储开销。
从采样池到验收后的分布
令 表示完整的推理轨迹和答案,它由教师分布或提议分布 采样得到。再令 表示验收规则。拒绝采样并不会还原某种抽象的正确推理分布,而是得到提议分布在验收规则成立条件下的分布:
分母是教师对提示 生成样本的通过概率,用于把保留样本重新归一化。因此,教师与验收规则共同决定了数据集。教师从未提出的有效路径,筛选也无法凭空创造;核查器若错误放过一条伪路径,监督训练就会模仿它。
增加候选样本数,会改变哪些提示能够进入语料库。如果提示 的单次采样通过概率为 ,流水线独立采样 次,那么该提示至少贡献一条示范的概率为
这里, 较大的简单提示很容易进入语料库, 很小的提示则可能完全消失。保留所有通过样本还会引入另一种偏差,因为容易的问题会产生更多被接受的行。经得起检验的流水线会同时记录没有样本通过的组和有样本通过的组,再明确决定是否按提示、难度区间、领域或轨迹类型做平衡。
结果、过程和数据效用检查回答的是三个不同问题:
- 结果验收检查提取出的最终答案是否通过规则,并不验证得到答案的路径。
- 过程验收检查各个步骤是否满足人工标签、过程奖励模型、证明核查器或其他明确标准。正如 第 27 章 所述,习得的过程评分器仍是不完美的代理。
- 数据效用验收检查样本是否带来实际增量,例如不同的解题结构、覆盖不足的难度、允许使用的许可证,或适合目标系统的轨迹长度。
只有训练目标实际使用被拒轨迹时,它们才有价值。它们可以成为验证器的负样本、偏好数据对中的败者、错误分类器的目标,或审计记录。仅使用正样本的 SFT 不会从被拒数据行中学到任何东西,即使这些数据行一直保存在存储系统中。
自举推理轨迹,但别把答案核查当成证明
STaR(Self-Taught Reasoner)在 2022 年提出了一套影响深远的迭代方法 (Zelikman et al. 2022)。它从预训练检查点、少量推理示范,以及一批答案已知的问题开始。论文中的循环可以写成下面的伪代码:
M_0 := 预训练检查点
M_n := M_0
for 轮次 n = 0, 1, ...:
普通样本 := 用 M_n 生成推理过程和答案
保留生成答案与已知答案一致的普通样本
for 每道失败的问题:
事后解释样本 := 把已知答案作为提示公开给模型,再生成一次
只有新生成的答案一致时才保留
从训练输入中移除答案提示
M_(n+1) := 重新从 M_0 复制一个模型,在全部保留样本上微调
每轮重新回到 很重要:原始算法不是在上一轮模型上继续微调。事后解释分支也必须谨慎解读。模型看得到答案时生成的轨迹,是在已知答案条件下生成的事后解释,不能证明模型独立推导出了答案。STaR 只按答案是否正确筛选,并没有逐步证明推理过程。论文还明确指出,随机猜中率较高的任务可能放进质量很差的推理过程。
拒绝采样微调(rejection sampling fine-tuning,RFT)采用同样的“采样、筛选、训练”模式,但不要求完全复刻 STaR 的重置与事后解释流程。在提出 RFT 这一名称的数学推理研究中,SFT 模型把温度设为 0.7,为每道 GSM8K 题采样 100 个解答,排除答案错误的样本,用 Python 排除计算错误,再提取有序方程列表,并按编辑距离选择不同的解题路径 (Yuan et al. 2023)。在该实验设置中,合并多个模型的拒绝采样数据后,LLaMA-7B 在 GSM8K 上从 35.9% 提升到 49.3%。这个结果支持该配方中的多次采样与结构多样性,但并不能证明每条通过筛选的轨迹都是有效推导。
STaR 和 RFT 都属于离线数据构建。自一致性则在推理时采样多个答案并进行聚合。在线强化学习从不断变化的策略中采样,再根据奖励进行梯度更新。三者都可能生成多个回答,但样本被用在不同阶段,优化目标也不同。
小规模精选数据的效果有前提
2025 年的两项研究表明,如果基座模型本身已经具备较强能力,推理 SFT 可以只用较少数据。s1 按难度、多样性和格式质量筛选了 1,000 道题及 Gemini 生成的轨迹,再对 Qwen2.5-32B-Instruct 进行微调 (Muennighoff et al. 2025)。最终论文报告称,作者使用的评分器认为,只有 53.6% 的 s1K 生成结果被判为正确。其主要结果还把这份数据集与预算强制结合使用,后者是 第 30 章 讨论的一种解码时干预。因此,s1 证明了一套紧凑而有效的配方,却不能证明 1,000 条完全正确的轨迹在一般情况下就足够。
LIMO 使用了 800 道精选数学题,同样以 Qwen2.5-32B-Instruct 为学生模型。这 800 条数据是一个更大生产流水线的终点:流水线从数千万道题开始,经过多轮教师采样、启发式筛选和人工审查。最终 COLM 论文报告了 AIME 2024 上 63.3%、MATH-500 上 95.6% 的成绩,并提出一种解释:强大的预训练领域知识可以减少引出有效回答模式所需的示范数量 (Ye et al. 2025)。这项假设取决于基座检查点、教师、提示分布、评测规程和领域。改变其中任何一项,“800 条样本”的含义都会改变。
数据规模是另一条独立轴线。OpenThoughts 开展了超过 1,000 次受控流水线实验,以 QwQ-32B 为教师,构建了包含 120 万条样本的语料库。其 ICLR 2026 报告在保持 Qwen2.5-7B-Instruct 学生系列不变的情况下比较不同数据配方,并报告 OpenThinker3-7B 在 AIME 2025 上取得 53.3% (Guha et al. 2026)。这说明,在这组匹配的实验设置中,精选流水线仍能从扩大规模中受益。但它不是对 s1 或 LIMO 的受控反驳,因为教师、学生、数据和评测都不相同。
因此,有用的问题不是“小还是大”,而是性能如何随彼此独立、且有明确记录的变量变化:不同提示家族的数量、每个提示通过验收的轨迹数、教师及其检查点、难度分布、验证器质量、重复率、轨迹长度,以及训练词元总数。
蒸馏究竟在优化什么
知识蒸馏最初训练学生去匹配更大教师模型经过温度平滑的类别分布 (Hinton et al. 2015)。在语言生成中,常见目标有两类。
软词元蒸馏要求学生在每个历史状态 上匹配教师的下一词元分布。这里, 是提示, 是生成第 个词元之前的前缀:
这里, 与 分别是教师和学生经温度 平滑后的词元分布, 是 Kullback-Leibler 散度。这个目标要求教师与学生使用可比的词表,并且训练方能访问教师的 logits,而封闭 API 通常不会提供 logits。
硬序列蒸馏先让教师生成一条回答 ,其中该符号表示一次采样得到的序列,再用普通序列损失训练学生:
教师样本给出了教师分布的蒙特卡洛近似;贪心或束搜索输出则更强调被选中的模式。如果样本先经过核查器筛选,学生模仿的是验收后的分布 ,而不是未经过滤的教师分布。序列级蒸馏早于推理模型出现 (Kim and Rush 2016)。后来的基于推理过程的方法表明,中间文本可以作为额外训练目标,而不只是一个标签 (Hsieh et al. 2023)。
训练目标可以只包含答案,也可以包含可见轨迹与答案,或把答案和推理过程拆成两个任务。这些选择教给模型的是不同的输出约定。用轨迹训练学生,只表示学生被训练去复现与教师相似的可见文本,并不能证明它恢复了教师的内部算法。
缩小模型与缩短输出是两个目标
模型规模压缩改变参数量,输出长度压缩改变生成词元数。两项目标可以分别追求,互不包含。
DeepSeek-R1 提供了模型规模蒸馏的证据。其公开的 Qwen 和 Llama 学生模型使用 DeepSeek-R1 筛选的 80 万条样本进行微调。在论文的直接比较中,蒸馏得到的 Qwen-32B 在所报告的推理基准上,胜过一次训练超过 10,000 个强化学习步骤的 Qwen-32B (Guo et al. 2025)。这是特定配方之间的比较,不能推出 SFT 普遍优于强化学习。学生模型虽然小于教师,仍可能生成很长的轨迹,因此这项结果并不能证明模型会输出更短的答案。
Kimi k1.5 直接研究了输出长度压缩 (Kimi Team et al. 2025)。它的 long2short 实验把四种机制分开比较:
- 对长链模型与短链模型的权重取平均;
- 采样八条回答,选择其中最短的正确回答做 SFT;
- 构造偏好数据对,优先选择最短的正确回答,而不是更长的正确回答或错误回答;
- 进行第二阶段强化学习,加入长度惩罚,并缩短 rollout 的长度上限。
这个闭源系统的结果来自厂商自行报告,而且在这些实验之前还使用了大规模 SFT。在其公开比较中,long2short 的强化学习变体取得了最好的词元效率权衡。它并不是普通的教师 SFT,而是在同时约束正确性和长度。
因此,生产评测至少要同时报告三个量:固定采样规程下的任务质量、生成词元数或延迟,以及模型服务成本。更小的模型如果必须生成多得多的词元才能保持准确率,或许能节省显存,却未必能降低延迟。短输出模型如果只在熟悉模板上有效,遇到必须从早期错误中恢复的提示时仍可能失败。
弱监督改变了谁能担任教师
教师不一定比学生大。EACL 2026 的弱到强研究使用较弱的 0.5B 至 14B 推理模型生成轨迹,监督 7B 至 32B 的 Qwen 学生模型 (Yuan et al. 2026)。这些弱教师本身已经接受过强化学习,因此这套方法只是把强化学习成本转移到更小的教师,并没有消除它。在一组 Qwen2.5-Math 配对中,1.5B 推理模型提供的监督,使 7B 学生在 MATH 上恢复了直接强化学习收益的 94.34%。这是针对特定教师、学生、基准和训练配方归一化后的推理差距结果,并不是强化学习能力可以普遍转移的固定比例。
该研究比较了全部轨迹、最终答案正确的轨迹,以及最终答案错误的轨迹。只保留正确轨迹通常效果最好,但不完美的轨迹有时也能改善学生。作者发现,教师是否能生成结构清晰的推理轨迹,比参数量本身更重要。这使弱监督成为一种可用的设计选项,同时也再次说明,必须记录教师身份、筛选策略和基准相关条件。
如何构建经得起检验的推理语料库
生产数据回路需要比基准脚本更严格的边界:
- 生成前登记提示家族。 把原题、释义变体、翻译版本和共享来源文档分组,避免它们跨越训练、验证和测试集。
- 固定并版本化生成约定。 记录教师检查点、系统提示、采样参数、工具、词元预算和随机种子。
- 保存每一项决定,而不只是胜出的样本。 保留原始候选、核查器输出、提取失败、拒绝原因和后续人工审计。
- 拆开记录各项验收标准。 分别记录答案有效性、过程质量、策略合规性、数据来源和数据效用,再把它们合并成最终处置结果。
- 拆分前去重,生成后再去重。 比较源数据项、归一化答案、轨迹片段、代码结构和来源哈希。仅比较文本是否完全相同远远不够。
- 明确决定权重。 报告样本数、不同提示数、每个提示通过验收的轨迹数、预测词元数和领域构成。每个统计量对应的训练分布都不同。
- 评估学生模型,而不是语料库的故事。 使用留出和对抗性提示家族、匹配的推理预算、轨迹审计、校准,以及通用能力回归测试。还要与答案监督微调,以及算力匹配的非蒸馏基线比较。
数据卡还应报告许可证和删除谱系。生成轨迹可能继承源提示、教师使用条款、内嵌代码或引用文本附带的义务。无法向上追溯的数据来源,将来也无法可靠删除。
小规模精选数据集确实能在一些强基座模型上带来大幅基准提升,但为何会有这种效果,仍无定论。收益可能来自可复用的推理模式、对某个基准家族的适配、对教师表面表达习惯的模仿,或三者共同作用。百万级数据流水线说明,在配方匹配时,扩大规模仍可能有帮助,但无法回答这个因果问题。蒸馏结果同样有前提:学生可能因为预训练知识、容量和训练目标不同而在某项基准上超过教师,却仍会继承教师的盲区,或在新分布上失败。凡是声称“转移推理”的结论,都应明确教师、学生、筛选器、词元预算和评测,因为正是这些条件让结论可以被观察。
推理数据继承了 第 6 章 和 第 23 章 中的一般数据约束,包括数据来源、污染、重复、许可证和分布覆盖。它还增加了轨迹特有的约束:答案条件下的事后解释、过程标签质量、验收过程造成的提示重加权、教师风格迁移,以及随轨迹长度变化的训练权重。这些字段继续连接到 第 87 章。只有系统记录了足以复现故障的上下文,并把由此形成的提示家族排除在评测集之外,生产故障才能转化为有价值的训练提示。
收益与边界
推理轨迹可以把昂贵的采样转化为可复用训练数据,也能在模型之间迁移有用的输出行为。真正的资产不只是文本,而是提示、教师、轨迹、检查结果、筛选规则、学生目标与留出集结果之间经过版本化的关系。删除这些关系,一百万条轨迹也会变得难以审计;保留这些关系,同一份语料库就能支持 SFT、验证器训练、偏好学习、蒸馏和后续数据迭代,同时并不假装每条被接受的解释都是证明。
延伸阅读
- Zelikman et al., “STaR: Bootstrapping Reasoning With Reasoning,” 2022. arXiv:2203.14465STaR 迭代生成推理说明,保留得到已知答案的尝试,用答案提示为失败样本生成事后说明,并从原始检查点重新训练。
- Yuan et al., “Scaling Relationship on Learning Mathematical Reasoning with Large Language Models,” 2023. arXiv:2308.01825本文提出用于数学推理的拒绝采样微调,并表明过滤及结构多样化的 GSM8K 采样解答可改善监督模型。
- Kimi Team et al., “Kimi k1.5: Scaling Reinforcement Learning with LLMs,” 2025. arXiv:2501.12599Kimi k1.5 报告长上下文强化学习及四种 long2short 机制:权重合并、最短正确答案拒绝采样、偏好训练和长度受限的强化学习阶段。
- Yuan et al., “Incentivizing Strong Reasoning from Weak Supervision,” 2026. aclanthology.org本文研究 Qwen 系列中的弱到强轨迹监督,并报告较小、经过强化学习的推理器所生成的结构化轨迹,在特定设置中可恢复更强学生直接强化学习的大部分增益。
- Guha et al., “OpenThoughts: Data Recipes for Reasoning Models” (ICLR 2026 口头报告;发布 OpenThoughts3-1.2M 与 OpenThinker3-7B), 2026. openreview.net超过 1,000 次受控实验形成了 120 万样本的推理语料;在匹配的 Qwen2.5-7B 实验中,精选数据配方随规模增长继续带来收益。
评论
登录后评论