什么是思维链蒸馏(Chain-of-Thought Distillation)?
思维链蒸馏(Chain-of-Thought Distillation,CoTD)是一种把大语言模型的逐步推理能力迁移到小模型上的训练方法:由大模型生成推理链,再用这些推理链微调小模型。ACL 2023 的 SCoTD 论文表明,参数量小几个数量级的学生模型也能从思维链提示中获益;LREC-COLING 2024 的 MoDE-CoTD 论文则提出用解耦的 LoRA 专家来缓解多任务蒸馏中的能力冲突。
思维链蒸馏(Chain-of-Thought Distillation,CoTD)是一种训练方法:用一个大语言模型(Large Language Model,LLM)作为教师模型,针对具体任务生成逐步推理过程(即思维链,Chain-of-Thought,CoT),再用这些「问题—推理链—答案」样本去微调参数量小得多的学生模型,从而把逐步推理的能力迁移过去。它要解决的问题是:思维链提示带来的推理收益通常只在大模型上出现,而小模型既难以自行产生高质量推理链,也难以直接通过提示获得同等收益,因此需要把推理过程「教」给它们。
为什么重要
思维链提示(例如在提示中加入「Let's think step by step」)会促使大语言模型在给出答案前先写出推理过程。ACL 2023 的论文《Symbolic Chain-of-Thought Distillation: Small Models Can Also "Think" Step-by-Step》指出,思维链带来的性能提升似乎只在参数量足够大的模型上出现,该论文给出的门槛是超过 500 亿参数(beyond 50B parameters)。这意味着大量中小规模模型无法直接享受这一收益。
在思维链蒸馏出现之前,小模型通常只接受「输入—答案」式的监督微调,模型学到的是从问题直接映射到答案,中间推理步骤并不显式出现。这种做法在简单任务上尚可,但在需要多步推导的复杂推理任务上,模型缺少可模仿的中间过程,容易在中间环节出错且难以纠正。另一种做法是直接对小模型使用思维链提示,但小模型自身生成的推理链质量不稳定,提示带来的收益有限。
思维链蒸馏的思路是绕开「让小模型自己学会推理」这一难点:推理链由更强的教师模型提供,学生模型只需要学习模仿。这样一来,推理能力的来源与承载推理能力的模型规模被解耦,小模型也能获得逐步推理的行为模式。
工作机制
按照 ACL 2023 论文的描述,思维链蒸馏的核心流程可以概括为以下几步:
- 准备教师模型与任务数据。 选取一个显著更大的教师模型,以及目标任务的数据集(该论文使用的是若干常识推理基准)。
- 采样推理链。 让教师模型针对每个实例生成推理链(rationalizations),即先写出推理过程再给出答案。该论文特别强调,为每个实例采样多条推理链至关重要(sampling many reasoning chains per instance from the teacher is paramount)。
- 构造蒸馏语料。 把「实例 + 教师生成的推理链 + 答案」整理成训练样本,形成思维链样本语料。
- 微调学生模型。 用上述语料训练一个参数量小得多的学生模型,使其学会在输出答案前先输出推理步骤。
- 评估与假设检验。 在监督设置与少样本设置下评估学生模型,并检验思维链样本的哪些属性更重要,例如多样性、教师似然度、开放性之间的取舍。
该论文报告的结论包括:SCoTD 在监督与少样本两种设置下都提升了学生模型的性能,在挑战集(challenge sets)上尤为明显;经过蒸馏后,学生模型生成的思维链被人类评判为与教师模型相当,尽管其参数量少了几个数量级。该论文还表示公开了其思维链样本语料与代码。
LREC-COLING 2024 的论文《MoDE-CoTD: Chain-of-Thought Distillation for Complex Reasoning Tasks with Mixture of Decoupled LoRA-Experts》对当时的思维链蒸馏工作提出了两点局限:其一,学生模型是针对特定推理任务分别蒸馏的,缺少协作机制,无法通过多种推理任务之间的协作来进一步提升推理性能;其二,学生模型的参数更新会严重损害其在蒸馏过程未包含的其他未见推理任务上的思维链推理能力。
针对这两点,该论文提出 MoDE-CoTD:把思维链推理能力从学生模型中「解耦」出来,做法是蒸馏多个 LoRA 专家(LoRA-Experts)并冻结学生模型本身的参数;随后将这些 LoRA 专家组合与适配,以处理已见和未见的推理任务,使不同推理任务之间能够协作。该论文称,在 14 个数据集(其中包含 4 个未见数据集)上的实验显示,MoDE-CoTD 在已见数据集上取得平均 6.3% 的准确率提升,在未见数据集上取得平均 7.8% 的准确率提升。这些数字来自该论文自身的实验设置,属于该论文报告的结果。
典型例子
素材中出现过两个具体系统,可作为思维链蒸馏的代表性实例:
- SCoTD(Symbolic Chain-of-Thought Distillation)。 由 Liunian Harold Li、Jack Hessel、Youngjae Yu、Xiang Ren、Kai-Wei Chang、Yejin Choi 在 ACL 2023 提出。其做法是在显著更大的教师模型上采样推理链,用于训练 1.25 亿至 13 亿参数(125M—1.3B parameters)的学生模型,并在若干常识推理基准上验证效果。该工作关注的问题之一是:思维链样本的哪些性质(多样性、教师似然度、开放性)对蒸馏更重要。
- MoDE-CoTD。 由 Xiang Li、Shizhu He、Jiayu Wu、Zhao Yang、Yao Xu、Yang jun Jun、Haifeng Liu、Kang Liu、Jun Zhao 在 LREC-COLING 2024 提出,全称为「面向复杂推理任务的、基于解耦 LoRA 专家混合的思维链蒸馏」。它面向复杂推理任务,用多个解耦的 LoRA 专家承载不同任务的推理能力,并冻结学生模型参数,以兼顾已见任务与未见任务。
两者共享同一基本范式——教师生成推理链、学生模仿学习——但在学生模型的参数组织方式上取向不同:SCoTD 直接微调学生模型,MoDE-CoTD 则冻结学生模型、只训练外挂的 LoRA 专家。
边界与常见误解
第一,思维链蒸馏并不等于「让小模型自己变聪明」。学生模型的推理行为来自对教师推理链的模仿,其能力上限受教师生成的推理链质量与覆盖范围约束。若教师在某些任务上给出的推理链本身有误,这些错误也会进入蒸馏语料。
第二,它不等于普通的输出蒸馏。普通的知识蒸馏通常对齐的是输出分布或最终答案,而思维链蒸馏显式地把中间推理步骤作为监督信号,这也是它区别于一般蒸馏的关键。但需要注意,ACL 2023 论文在讨论思维链样本属性时,把多样性、教师似然度、开放性等作为待检验的假设,说明「什么样的推理链最有用」在该论文中仍是被研究的问题,而非已有定论。
第三,多任务场景下存在能力冲突与遗忘风险。LREC-COLING 2024 论文明确指出,学生模型的参数更新会严重损害其在蒸馏过程未包含的未见推理任务上的思维链推理能力。MoDE-CoTD 提出的解耦 LoRA 专家与冻结学生参数,正是针对这一代价的应对方案;该方案的效果以该论文在 14 个数据集上的实验为依据,属于该论文报告的结果。
第四,参数量门槛的表述需要谨慎。ACL 2023 论文称思维链收益「似乎只在足够大的模型上出现(超过 500 亿参数)」,这是该论文在其实验条件下的观察,不应被推广为对所有模型、所有任务的普遍规律;该论文同时展示了 1.25 亿至 13 亿参数的学生模型在蒸馏后仍可获益。
第五,蒸馏得到的推理链可读性并不自动等于推理正确性。ACL 2023 论文报告的是人类评判认为学生思维链与教师相当,这是关于文本质量的评判,与任务准确率是两个不同维度。