主题
模型蒸馏与推理轨迹:学生怎么学会老师的解法
一句话:蒸馏不是把教师的权重拷进学生,而是把教师的输出分布或轨迹变成监督信号;学生先通过 SFT 学会“照着走”,再用拒绝采样、过程监督、on-policy 纠错和 RLVR 把“像”练成“会”。技术本身是中性的,边界在授权与竞争。
为什么需要
大模型能力上去了,但成本、延迟和私有化部署不允许每次都调用最大的模型。蒸馏提供了一条压缩路径:让一个较小的学生模型,学会教师在大量任务上的行为。
教师的一条推理轨迹不只是最终答案,它还包含分解、回退、验算、工具调用和停止条件。这些策略本来要靠强化学习或人工经验慢慢发现,蒸馏把它们变成可复制的数据。但“知道老师怎么想”和“学生学会”是两件事:前者是数据,后者还取决于训练目标、数据分布和验证闭环。
核心机制
一、蒸馏的三个层级
| 层级 | 教师提供什么 | 学生学什么 | 前提 |
|---|---|---|---|
| 白盒 logits | 每个 token 的概率分布 | 软标签、类别之间的相似性 | 能拿到 logits |
| 黑盒序列 | 最终输出或答案 | 输入到输出的映射 | 只能调 API |
| 推理轨迹 | CoT、工具调用、纠错过程 | 过程与策略 | 教师愿意展示推理 |
白盒蒸馏用教师完整的概率分布做监督,信息量最大;API 通常只返回文本,所以更常见的是黑盒序列蒸馏。严格说,“用强模型生成数据再训练小模型”属于序列级蒸馏,和“软标签蒸馏”不是同一件事,但工程上经常都叫蒸馏。
二、学生到底在学什么
一条训练样本通常长这样:
text
<question>题目</question>
<reasoning>第一步…第二步…这里不对,退回…</reasoning>
<answer>最终答案</answer>训练时把 question 部分的 loss mask 掉,只对 reasoning 和 answer 计损失:
text
L = -Σ log pθ(y_t | q, y_<t)也就是 teacher forcing:每一步都拿教师轨迹里的前一个 token 作为输入,让学生预测下一个 token。学生学到的是“看到这道题后,生成这条轨迹的条件概率”,不是教师的权重,也不是教师内部的真实算法。
这里有一个关键选择:如果 reasoning token 也参与 loss,学生学的是“自己生成思考过程”;如果只对 answer 计 loss、reasoning 只作为上下文,学生学的是“看着教师给的思路作答”。后者在推理时也必须把思路给它,否则训练和推理不一致;前者才可能让学生独立展开推理。
三、只做 SFT,通常只学到“像”
SFT 是最直接的做法,但它有三个天然缺口:
- Credit assignment 很粗:一道题最终答对了,整条轨迹的每个 token 都得到正梯度,哪怕中间有一步是错的、只是碰巧最后对了。学生会把坏步骤也学进去。
- Exposure bias:训练时学生看到的是教师的前缀,推理时看到的是自己生成的前缀;一步错,后面步步错。
- 一条轨迹只是一个样本:如果每道题只给一条“标准解法”,学生学到的是一条固定路径,换个问法或换个提示就崩。
这条链路的关键不是“多训几轮”,而是把数据、纠错和验收接成闭环:先让学生模仿一个可用的起点,再让它在自己产生的状态上暴露错误,最后用验证器决定哪些轨迹值得强化。只做最前面的 SFT,学生学到的往往只是教师的表达风格。
四、把“像”练成“会”的四层
| 方法 | 学生看到什么 | 学到什么 | 主要代价 |
|---|---|---|---|
| 拒绝采样 / STaR | 同一题采样多条轨迹,只留答案正确的 | 更稳的路径 | 覆盖偏差;需要验证器 |
| 过程监督 | 每一步的对错或奖励 | 步级正确性 | 步级标注贵;步骤定义难 |
| On-policy 蒸馏 | 学生自己生成前缀,教师纠正 | 纠错策略,缓解 exposure bias | 实现复杂;教师要能逐步反馈 |
| RLVR | 学生自己探索,最终答案给奖励 | 探索出教师没走过的路径 | 奖励黑客;需要可靠验证器 |
| Logit 蒸馏 | 教师每个 token 的概率分布 | 软标签里的“暗知识” | 需要白盒;存储和算力大 |
最实用的组合通常是:教师生成多样轨迹 → 验证器过滤 → SFT 冷启动 → 过程奖励或 on-policy 纠错 → RLVR 在可验证任务上继续练。SFT 负责“会按格式想”,RLVR 负责“自己想出更好的解法”。只靠 SFT,学生的上限大致是教师的行为;加上 RL,学生在窄领域可能超过教师,但这不是蒸馏本身带来的。
最小上手
用温度缩放看软标签:温度越高,教师的分布越平,学生能学到的“哪些错误选项也接近”越明显。
python
import numpy as np
def softmax(z, T=1.0):
z = z / T
e = np.exp(z - z.max())
return e / e.sum()
teacher = np.array([2.0, 1.0, 0.1])
student = np.array([1.2, 0.8, 0.3])
for T in (1.0, 2.0, 4.0):
pt, ps = softmax(teacher, T), softmax(student, T)
kl = np.sum(pt * (np.log(pt) - np.log(ps)))
print(f"T={T:.0f} teacher={np.round(pt, 3)} kl={kl:.4f}")输出:
text
T=1 teacher=[0.659 0.242 0.099] kl=0.0698
T=2 teacher=[0.502 0.304 0.194] kl=0.0206
T=4 teacher=[0.417 0.324 0.259] kl=0.0053T=1 时教师把 66% 的概率给第一类,学生分布和它的 KL 是 0.0698;温度升高后分布变平,KL 下降,但类别之间的相对关系仍然保留。软标签比 one-hot 多出来的,就是这种“第二选择也有多接近”的信息,通常叫 dark knowledge。实际训练还会乘上 T² 做梯度缩放,避免温度改变后损失量级失真。
生产动作
- 先定目标:是压缩成本、迁移能力,还是做领域适配。目标不同,教师、学生规模和数据配比都不同。
- 确认数据权利:教师模型是否允许用输出训练、开源许可证是否允许蒸馏、数据里是否含隐私或受版权保护的内容;先看条款,再谈技术。
- 一题多解:同一道题用不同温度、不同提示、不同语言采样多条正确轨迹,让学生学到策略分布,而不是一条死记硬背的路径。
- 过滤与去重:用答案验证器、单测、Schema 或人工抽查过滤;去重时不仅看题目,还要看推理路径,避免同一种解法占满数据。
- 课程与长度:先短后长、先易后难;教师轨迹可能有几千 token,学生容量不够时只会学到“啰嗦”,学不到推理。
- 对齐训练与推理格式:有没有 reasoning token、有没有特殊标记、推理时是否允许生成思考过程,必须一致;训练时教“先想再答”,推理时却把思考关掉,等于用没练过的方式考试。
- 加验证闭环:留出集、OOD、扰动测试和过程审计都要有;不要只看 benchmark 准确率,否则“推理表演”会被当成能力。
- 版本化发布单元:教师版本、提示、数据快照、学生 checkpoint、验证器和阈值一起版本化;只回退权重会得到一套没验证过的组合。
边界
- 学生有容量上限。1.5B 的学生可以从很大的教师身上学到很多,但不可能把教师的所有能力都压进去;学生太小,最后学到的是文风和格式,不是算法。
- 教师的错误会被复制。数据里如果混入错误轨迹、偏见或泄漏的评测题,学生会一起继承;蒸馏不会自动净化教师。
- CoT 不一定是真实思考。推理轨迹可能是事后解释,不一定是模型内部的实际计算;学生可能学会生成一段看起来像思考的文字,却没有学到那套算法。公开研究里甚至出现“准确率上去、推理更不忠实”的现象。
- 蒸馏是模仿,不是探索。它可以压缩教师已经发现的行为,但不能保证学生发现新策略;要突破教师上限,仍然需要 RL、搜索或新的数据。
- 递归蒸馏会退化。如果学生只用教师生成的数据训练,下一代再用学生生成的数据训练,分布会越来越窄,错误会被放大,这就是 model collapse 的风险;真实数据和人类反馈要留在闭环里。
- “经验”可能被隐藏或摘要。平台如果把推理过程改成摘要或只给最终答案,可迁移的过程信息会大幅减少;这时蒸馏更接近答案模仿。
- 条款与法律是另一条线。2026 年 9 月,Anthropic 的安全通报指控若干实验室用批量访问和固定提示提取推理轨迹;这是平台方单方指控,国内方面否认,独立分析也提醒代理/转售层会让归因变难。技术上看,报告描述的是一条“批量访问 → 诱导展开推理 → 过滤 → SFT”的数据链;这里不展开规避检测的手法。违反服务条款、不正当竞争和刑事意义上的“盗窃”是不同层面的问题,不能用一个词概括。
讲清楚
蒸馏是把教师的行为分布或轨迹迁移给学生,不是复制权重。白盒用 logits,黑盒用输出序列,推理蒸馏用 CoT 和工具轨迹;学生通过 teacher forcing 学会“看到题目后生成这条轨迹”的条件概率。
只做 SFT 只能学到“像”:整条正确轨迹的每个 token 都被强化,坏步骤也会被学走;训练看教师前缀、推理看自己前缀,错误会累积。要真的学会,需要多样轨迹、拒绝采样、过程监督、on-policy 纠错,以及在可验证任务上的 RLVR。
蒸馏能压缩能力,但不能保证学生学到算法;它学到的是教师行为的一个可模仿投影。评估要看留出集、OOD、扰动测试和过程审计,不能只看最终答案。技术上可行,不等于法律上允许;先确认数据权利,再谈蒸馏。
参考:Anthropic, Detecting and Countering Misuse of AI, 2026-09;Anthropic Help Center, Can I use my outputs to train an AI model?;CSA, Reasoning Extraction: Distillation as an Attack on Model Providers, 2026-10
适用:模型压缩、能力迁移与推理轨迹蒸馏;条款与许可证以具体模型为准 | 初稿 2026-10