每隔几周就会冒出一篇新论文,声称只要不仅蒸馏大模型的输出,还蒸馏输出背后的理由,小模型也能"像"大模型那样推理。这一类工作被统称为 Focused Distillation from Explanations(从解释中进行聚焦蒸馏,简称 FDE):学生模型不再只是模仿老师的最终答案,而是同时基于老师的解释轨迹和答案进行训练。

如果你正在基于 Claude 做产品——尤其当你曾想过能不能用一个更便宜的本地模型替代昂贵的 Claude 调用——这条研究线值得追。它也是最容易被误读为"小模型正在追上来"的一条线。真实情况其实更实用,也更接地气。

一段话讲清核心思想

传统的知识蒸馏,是让一个小型"学生"模型去模仿一个大型"老师"模型的输出。FDE 类方法多加了一路训练信号:老师的推理理由——通常是一段思维链 (CoT)、一步步的推导过程,或者一段自然语言解释。学生的训练样本不再是 (输入, 答案) 对,而是 (输入, 推理理由, 答案) 三元组。押注的逻辑是:强迫学生把为什么内化下来,能迁移比模式匹配更普适的东西——你也可以把它理解成一种可迁移的归纳偏置。

真正让这个想法被大量工程师看到的,是 Hsieh 等人的 Distilling Step-by-Step。这篇论文展示了一个 770M 参数的 T5 通过学习推理理由,在某些基准上能超越 540B 参数的 PaLM,而且只用了不到 1% 的训练数据。这个结果是真实且可复现的,但它带着一堆细则,那些被 SEO 优化过的"AI 资讯"多半不会告诉你。

研究到底说了什么、没说什么

我们把结论分清楚。

FDE 类方法确实能做到的:

它们做不到的(哪怕标题党怎么写):

最后一点在商业上很关键。FDE 不是"你可以用 7B 模型替代 Claude Opus"。它是"你可以把一部分 Claude Opus 的工作量卸载给一个更小的模型,前提是你在训练阶段已经付钱让 Claude Opus 生成过推理理由"。经济账在稳定、大规模、边界清晰的窄任务上算得通;在任务分布一直漂移的场景下就崩了。

按顺序读的四篇论文

如果你愿意花三小时啃这条线,我建议按下面的顺序读。每一篇我会告诉你重点看什么,而不是它自己声称了什么。

  1. Distilling Step-by-Step (Hsieh et al., 2023) —— 最容易入门的一篇。重点看训练配方:把推理理由作为一个带独立损失权重的辅助目标。特别注意他们关于推理理由质量的消融实验,这是全篇最重要的发现,但被讲得太轻。

  2. Symbolic Chain-of-Thought Distillation (Li et al., 2023) —— 把同一思路搬到符号推理任务(数学应用题、逻辑推导)的小模型上。读它是为了理解为什么有些领域能迁移、有些不能。核心信号:蒸馏最有效的地方,是推理理由暴露出一段程序,而不是一种感觉

  3. Distilling Reasoning Capabilities into Smaller Language Models (Shridhar et al., 2023) —— 另一种思路:先把推理分解成子问题再蒸馏。把它当作对整段式 CoT 的一次批评来读——有时候可迁移的单元不是整条链,而是一个子过程。

  4. On the Faithfulness of Distilled Rationales(2024–2025 的一系列论文) —— 一组批评性研究,展示学生生成的推理理由常常听起来没问题,但根本不决定它的答案。这一篇放最后读,作为"矫正剂"。它是"永远不要在没有独立验证的情况下相信小模型解释"这个立场最有力的论据。

我特意没有在这里列具体的数字结果。这块领域的基准变化极快,引用某个具体数字很快就会过时。真正经得起时间考验的是论证的形状,形状就是:FDE 提升样本效率和可读性,但不会在开放式任务上抹平能力差距,同时还带着忠实度上的隐患。

落到工程实践:基于 Claude 上线时怎么用

下面才是研究和你工作台的交汇点。三条实用建议。

1. 把推理理由当成一等公民产物,而不是 debug 日志

如果你正在用 Claude 做一个结构稳定的任务——工单分类、从文档中抽字段、用户意图路由——把推理理由存起来。不只是为了审计(虽然审计也有用)。这些推理理由,一旦你哪天想蒸馏一个更便宜的模型,就是训练数据;一旦你想抓失败案例,就是校验信号。

一个具体模式:对高流量工作流中的每一次 Claude 调用,都记录 (输入, 推理理由, 输出, 下游结果)。半年下来,你手上就有了 FDE 研究默认你早就有的那份数据集。

2. 只在推理理由像"程序"的地方做蒸馏

符号 CoT 那篇论文暗含的教训:当推理理由看起来像一段可执行流程时,蒸馏迁移效果最好。字段抽取?可以。特征清晰的分类?可以。"给这个客户投诉写一封贴心的回复"?不行——推理理由的空间太开放,小模型会学会在语气上做模式匹配,却继承不到真正的判断力。

一个启发式判断:如果你能把这段推理理由想象成一个伪代码函数,蒸馏大概率能奏效;如果推理理由是"考虑语气、上下文、品牌口吻,然后决定",那多半不行。

3. 有条件地相信推理理由,永远不要绝对相信

忠实度那条研究线读起来挺让人清醒的。一个学生模型可以生成一段完全合乎情理的思维链,却和它最终答案没有任何因果关系。这不是理论假设——已经有研究通过对推理理由 token 做消融、观察到输出不变,证实了这一点。

工程上的应对:当你把一个蒸馏后的模型放到生产环境,不要把它的推理理由当作理由展示给终端用户。把推理理由留在内部当过滤器用——如果推理理由和输入不一致,就拒绝这个输出——但推理理由本身要当成不可信的证据,而不是证明。

一份下周一就能开跑的工作流

如果这条研究线说服了你,你想真的动手做点什么:

  1. 挑一个窄任务,就是你现在正大量付费让 Claude Opus(或 Sonnet)来做的那种。
  2. 改造 Claude 调用,让它额外返回一段结构化的推理理由。全部落库。
  3. 等一个月。 攒下 5,000 到 20,000 条带推理理由的样本。这就是你的种子数据集。
  4. 试着微调一个小模型——Claude Haiku、GPT-4o mini,或者像 Qwen 2.5 7B 这样的开源权重模型。如果框架支持,就把推理理由当辅助目标;不支持的话,就把推理理由拼进目标序列。
  5. 在预留数据上,用独立验证做评测。 不要给推理理由打分,给最终结果打分。
  6. 然后再考虑成本节省是否值得多出来的运维复杂度。

大多数团队跳过的一步是第 5 步。他们拿蒸馏后的模型对着推理理由的相似度打分,就下结论说它"学会了推理"。它没有——它只是学会了生成"看起来像推理"的文本。

我希望下一波论文能补上的三件事

作为一个更关心工程师而不是基准的人,FDE 这条线还缺三样东西:

如果你知道有论文触及了其中任何一点,告诉我。同时,先把你的推理理由记录好。你 2026 年攒下的数据集,就是让蒸馏在 2027 年对你切实可行的那份底料。


Claude Community 相关阅读: