设想你是一位米其林三星主厨,你有一套独家秘制的“分子料理流程”——从选材、刀工、火候到摆盘,每一步都有讲究。但你不可能亲自去每家餐厅掌勺。怎么办?你收了一位徒弟,手把手演示一遍完整流程,徒弟虽没你的阅历,但把每个步骤的“关键动作”都记了下来,出师后做出的菜虽不及你惊艳,却有七八分神韵。这就是“蒸馏”——把老师傅的本事压进新人的脑子里。在 AI 世界,大模型就是那位主厨,它不仅有答案,还有推理过程——即“思维链”(Chain of Thought)。而 CoT 蒸馏,就是让大模型把“遇到问题如何一步步思考”的技艺传授给小模型,最终让体积小十倍的学生模型,也能展现接近师门的推理功力。

岗位关联

对 AI 从业者而言,CoT 蒸馏是解决“大模型太贵、小模型太笨”的核心技能。掌握它,你就能把云端大模型的推理能力压缩进手机和边缘设备,成为真正懂部署、会优化的大模型工程专家。

目录
  1. 可视化演示
  2. 蒸馏起源
  3. 思维链初探
  4. CoT蒸馏原理
  5. 推理能力压缩
  6. 对比标准蒸馏
  7. 边缘部署实战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

蒸馏起源

主厨的餐厅生意越做越大,但每道菜都靠他亲手做,一天最多接待二十桌。徒弟们眼巴巴想帮忙,可他们只见过成品菜,不知道背后那些微妙的决策——什么时候颠勺、什么时候收汁。主厨终于想通了:与其让徒弟们照着菜谱瞎猜,不如让他们看我完整做一遍,边做边讲解。AI 世界也面临同样的困境:GPT-4 这样的教师模型聪明绝顶,但调用一次要花几秒、几美分。边缘设备上的小模型倒是便宜,可智商堪忧。知识蒸馏(Knowledge Distillation)就是那位想通的主厨——让大模型的“判断力”迁移到小模型身上。

传统的知识蒸馏,核心是“软标签”。什么叫软标签?教师模型面对一张猫的照片,它不只说“这是猫”,而是给出一个概率分布:93% 是猫、5% 是狐狸、2% 是狗。这个分布里藏着教师的“细腻判断”——猫和狐狸的耳朵都尖,所以狐狸的概率不低。这些信息是硬标签(正确答案 1 或 0)表达不出来的。学生模型通过模仿这个“软分布”,就能学到教师对这个世界微妙的感知。

损失函数的数学表达是蒸馏的核心纽带。教师模型的输出概率 $q_i$ 与学生模型的输出概率 $p_i$ 之间的差异,用 KL 散度来度量:

回看主厨的故事:传统蒸馏是徒弟尝了师傅的菜,记住了“咸淡”;CoT 蒸馏是徒弟看师傅做菜,记住了“手法”。前者学口味,后者学手艺。

LKD=α⋅T2⋅KL(qi∥pi)+(1−α)⋅LCE\mathcal{L}_{KD} = \alpha \cdot T^2 \cdot \mathrm{KL}(q_i \| p_i) + (1-\alpha) \cdot \mathcal{L}_{CE}
通俗理解:这个公式就像师傅给徒弟改作业。前半部分是“你的答案分布和我的答案分布像不像”,后半部分是“标准答案你答对了没有”,两碗水要端平。
  1. KL 散度项衡量教师与学生输出概率分布的相似度,分布越接近,值越小
    KL(qi∥pi)=∑iqilog⁡qipi\mathrm{KL}(q_i \| p_i) = \sum_i q_i \log \frac{q_i}{p_i}
  2. 温度 T 的平方温度将教师的“概率分布”放大细节,平方系数用于平衡量纲
    T2T^2
  3. 权重 α控制“模仿教师”和“学会正确”这两件事的侧重比例
    α∈(0,1)\alpha \in (0, 1)
  4. 交叉熵项保证学生最终输出不错过绝对正确答案
    LCE=−∑iyilog⁡pi\mathcal{L}_{CE} = -\sum_i y_i \log p_i

思维链初探

徒弟问主厨:“怎么判断牛排几分熟?”主厨只说“摸手感”——这就是大模型直接给答案。但聪明的主厨会说:“先看厚度,一指厚煎三分钟;再按肉的回弹,像虎口肌肉的软硬。”这种一步步的解法,就是思维链。思维链(Chain of Thought,CoT)指的是模型在给出最终答案之前,先产生一串中间推理步骤。它让模型把复杂问题拆解成多个简单问题。比如“21 × 7 等于多少?”模型不会直接写 147,而是先算 20×7=140,再算 1×7=7,最后相加得 147。

你可能会问:为什么多写几步就能变聪明?答案是“中间步骤提供了监督信号”。如果模型只学习“问题→答案”的映射,它根本不知道推理的过程性知识藏在哪里。但有了思维链,推理过程成了可以学习的数据。模型不仅知道“答案是 147”,还知道“为什么是 147”——这种因果链条就是可迁移的知识。

在数学上,可以把思维链看作一个序列生成的展开。给定输入问题 $x$,思维链是一串中间推理步骤 $z_1, z_2, \ldots, z_m$,最终产生答案 $y$。

主厨现在明白了:他不仅要让徒弟学会“肉的状态”,更要让徒弟学会“摸肉、看厚、计时”这些判断步骤。学会步骤的徒弟,将来遇到没见过的食材,也能触类旁通。

P(y∣x)=∑z1,…,zmP(z1,…,zm∣x)⋅P(y∣x,z1,…,zm)P(y | x) = \sum_{z_1, \ldots, z_m} P(z_1, \ldots, z_m | x) \cdot P(y | x, z_1, \ldots, z_m)
通俗理解:就像爬山。直接看山顶(答案)可能不知从何下脚,但标出“先到半山腰、再过小溪、最后登顶”这些中间站点,路径就清晰了。
  1. 答案的条件概率给定问题 x 后,所有可能的推理路径算出答案的总概率
    P(y∣x)P(y | x)
  2. 中间步骤序列思维链 z₁ 到 zₘ 是模型生成的一串逻辑台阶
    z1,z2,…,zmz_1, z_2, \ldots, z_m
  3. 求和遍历对所有可能的思维链路径求和,表示“多条思路都能通往答案”
    ∑z1,…,zm\sum_{z_1, \ldots, z_m}
  4. 路径与答案联合从 x 推理到 z 序列的概率,乘以基于该序列得出答案 y 的概率
    P(z1,…,zm∣x)⋅P(y∣x,z1,…,zm)P(z_1, \ldots, z_m | x) \cdot P(y | x, z_1, \ldots, z_m)

CoT蒸馏原理

主厨做了个惊人决定:他不仅要徒弟看自己做完一道菜,还要把整个思考过程口述出来,“因为肉厚,所以时间加一分钟;因为顾客怕生,所以再翻面一次”。他希望徒弟记住的是“决策逻辑”而不是“菜本身”。这在 AI 里叫做 CoT 蒸馏:教师的输出不只是最终答案,而是包含完整思维链的推理轨迹。学生模型的训练目标,就是学会生成这条“思路轨迹”。

具体来说,CoT 蒸馏是序列到序列(Seq2Seq)的学习过程。教师模型输入一个问题 $x$,生成一系列文本次词 $r_1, r_2, \ldots, r_T$(一组推理步骤),最后接上答案。学生模型以相同的输入 $x$ 开头,但训练目标是让每一步生成的 token 都与教师的推理步骤对齐。这就把“回答问题”变成“复述思路”。

CoT 蒸馏的损失函数,是对教师思维链上每一个位置的 token 分布做交叉熵。设教师在步骤 $t$ 生成的 token 分布为 $q_t$,学生为 $p_t$:

主厨发现,徒弟不仅学会了做这道菜,还学会了“做决定时先想为什么”。这种迁移,远比记菜谱深刻。

LCoT=−1T∑t=1T∑v∈Vqt(v)log⁡pt(v)\mathcal{L}_{CoT} = -\frac{1}{T} \sum_{t=1}^{T} \sum_{v \in V} q_t(v) \log p_t(v)
通俗理解:学生每写一句推理,都对照师傅的语序打分。师傅写“先算十位”,学生写“先算个位”,扣分;写“先算十位”,加满分。
  1. 按位置平均将所有推理步骤的损失取平均,让每一步都同等重要
    1T∑t=1T\frac{1}{T} \sum_{t=1}^{T}
  2. 词表遍历对 voc abulary 中每一个可能的词都计算一次差异
    ∑v∈V\sum_{v \in V}
  3. 教师 token 分布教师在第 t 步时,预测下一个词的概率分布
    qt(v)q_t(v)
  4. 学生概率对数学生输出同一 token 的概率取对数,越接近 1 则损失越小
    log⁡pt(v)\log p_t(v)

推理能力压缩

徒弟学成后,主厨想考考他:没有做过东坡肉,你会做吗?徒弟想了想,说:“东坡肉也是红烧肉的一种,我之前学会了收汁和煸糖色,应该可以试试。”主厨很满意——徒弟压缩的不是“某道菜的步骤”,而是“处理肉类的推理能力”。CoT 蒸馏的目标同样如此:不只是记住几条思维链,而是把教师的“推理能力”压缩进学生模型的参数里。

如何压缩?核心思路是让学生的隐藏层表征向教师看齐。教师的思维链在每一层都产生特定的特征向量,学生模型的中间层也要学习逼近这些向量。数学上,就是最小化特征之间的均方误差:

其中 $h_l^T$ 是教师第 $l$ 层的隐藏表征,$h_l^S$ 是学生对应层的表征,$W_l$ 是可学习的线性投影矩阵。

如同主厨把几十年的掌勺经验浓缩成一套心法口诀,推理压缩让学生模型用约几分之一的参数,承载了教师几千亿参数中的核心智慧。

Lfit=1L∑l=1L∥hlS−WlhlT∥22\mathcal{L}_{fit} = \frac{1}{L} \sum_{l=1}^{L} \left\| h_l^S - W_l h_l^T \right\|_2^2
通俗理解:学生不可能完全复制师傅的大脑,但可以学习“面对同样情况时,激活哪个神经回路”。线性投影就是一台翻译机,把师傅的“大型思考模式”翻译成学生的“紧凑思考模式”。
  1. 逐层对齐学生的每一层都去找教师对应层“抄作业”
    1L∑l=1L\frac{1}{L} \sum_{l=1}^{L}
  2. 特征差值学生表征与投影后的教师表征之间差一个向量
    hlS−WlhlTh_l^S - W_l h_l^T
  3. 二范数平方向量差的长度平方,衡量差异的强度
    ∥⋅∥22\left\| \cdot \right\|_2^2
  4. 投影矩阵把教师的宽表征压缩成学生窄表征的过渡桥梁
    WlW_l

对比标准蒸馏

主厨有两位徒弟:大徒弟学的是“看菜成品,猜做法”;二徒弟学的是“看师傅完整操作,记决策逻辑”。大徒弟学得也快,但遇到没见过的菜就慌;二徒弟学得慢些,但举一反三,能应对新花样。这正是标准知识蒸馏与 CoT 蒸馏的本质差异:一个传答案,一个传思路。

传统知识蒸馏的工作对象是“标签”,教师提供一个概率分布,学生模仿结论即可。但标准蒸馏有个缺陷:它压缩的是“是什么”的知识,而不是“为什么”的知识。学生学会了分类猫和狗,但不懂为什么猫的耳朵尖就该判断为猫。CoT 蒸馏则把推理过程当作监督信号,学生必须学会“生成中间步骤”,因此它学到了因果关系的链条。在数学推理、常识问答这类需要多步推理的任务上,CoT 蒸馏的泛化性显著优于标准蒸馏。

数据需求上,标准蒸馏每个样本只需教师给出一次前向输出;CoT 蒸馏则要求教师生成完整的推理链,数据量需求更大、生成成本也更高。但换来的收益是:对于需要逻辑的任务,CoT 蒸馏的学生模型准确率平均高出 10-20 个百分点。训练目标的差异可以总结为:标准蒸馏优化的是分布匹配,CoT 蒸馏优化的是路径匹配。

主厨心里有数:如果徒弟将来只做固定几道菜,传菜谱就够了;但要是想让他独当一面、研发新菜,必须传心法。互联网公司的 AI 工程师也面临同样的选型问题。

LCoT=LKD⏟学结论+Lpath⏟学路径\mathcal{L}_{CoT} = \underbrace{\mathcal{L}_{KD}}_{\text{学结论}} + \underbrace{\mathcal{L}_{path}}_{\text{学路径}}
通俗理解:标准蒸馏是“照着海报学画画”;CoT 蒸馏是“看着老师一笔一笔画”。前者学形,后者学神。
  1. 蒸馏损失项保证学生能输出和教师一致的最终结论
    LKD\mathcal{L}_{KD}
  2. 路径损失项保证学生的每一步推理都和教师的思维链吻合
    Lpath\mathcal{L}_{path}

边缘部署实战

主厨的餐厅终于开到了机场候机楼,摊子小,厨房就三平米,放不下全套装备。好在他派去的是学会了心法的二徒弟——不需要大厨房,一个小灶一双手,就能做出七八分神韵的菜。AI 的边缘部署正如这迷你厨房:手机、智能音箱、车载系统,内存小、算力弱,根本跑不动千亿参数的大模型。但 CoT 蒸馏给了工程师们一条路:把大模型的推理能力装进小模型里,塞进这些设备。

比如在智能手机上做一个数学解题助手。GPT-4 能解题但必须联网且费用高;直接训练一个 7B 小模型,碰到复杂应用题就乱答。工程师收集了一万道数学题,让 GPT-4 生成带思维链的解答,再在云端用 CoT 蒸馏训练一个 3B 参数的模型。最终模型体积缩小了 90%,对数学应用题的准确率从 42% 提升到 78%,而且完全离线运行,学生的隐私数据不必传上云端。

资源约束上,CoT 蒸馏带来了三重收益:内存占用降低(小模型参数少)、推理延迟降低(单次前向传播更快)、离线可用(不再依赖网络连接大模型 API)。而隐私保护是额外的红利——推理在本地完成,用户的输入从不离开设备。

迷你厨房也能做出大菜,CoT 蒸馏让小模型把大模型的智慧装进口袋。这不仅是技术,更是 AI 民主化的阶梯。

内存优化率=1−学生模型参数量教师模型参数量≈1−3×109175×109=98.3%\text{内存优化率} = 1 - \frac{\text{学生模型参数量}}{\text{教师模型参数量}} \approx 1 - \frac{3\times 10^9}{175\times 10^9} = 98.3\%
通俗理解:主厨的大厨房有上百种厨具,迷你厨房只有三把刀一个灶。但徒弟学会了用这三把刀做出大厨房的招牌菜,这就是压缩的魔力。
  1. 学生参数量蒸馏后小模型仅有 30 亿参数
    3×1093\times 10^9
  2. 教师参数量原版大模型有 1750 亿参数(如 GPT-3 级别)
    175×109175\times 10^9
  3. 比值差内存占用率几乎降为原来的 1/60
    3×109175×109≈0.017\frac{3\times 10^9}{175\times 10^9} \approx 0.017

AI 应用场景

手机端离线数学辅导

阶段:模型压缩与边缘部署

解决的问题:以往手机上的数学解题 App 需要联网调用云端大模型,单次请求耗时约 2 秒,费用高,且用户题目数据上传云端存在隐私泄露风险。用 CoT 蒸馏后,将 GPT-4 的思维链压缩进 3B 小模型,离线解题只需 200 毫秒,成本几乎为零,题目数据完全不出手机。

具体案例:一家教育科技公司收集了 5 万道中小学应用题,调用 GPT-4 生成带分步推理的参考答案,再用 CoT 蒸馏训练轻量模型,内置到学生平板的离线模式中。在期末测试中,学生对“鸡兔同笼”类题目的答疑满意度从 58% 升至 88%。

车载语音助手意图推理

阶段:推理能力压缩

解决的问题:车载语音助手面临“多轮对话 + 复杂指令”的挑战。传统小模型只能做意图分类(“导航”“放音乐”),无法应对“先找到离公司最近的加油站,然后看看路上有没有充电桩”这类复合指令。CoT 蒸馏让车载模型学会了分解指令的推理链。

具体案例:某车企用 CoT 蒸馏,将云端 70B 模型的“指令拆解思维链”迁移到车内 1.5B 模型上。新模型在嘈杂环境下的复合指令理解准确率从 61% 提升到 83%,且断网时依然可用。

Python 演示

python79 行
import numpy as np # 模拟数据:问题 -> 推理步骤 -> 答案# 词汇表很小,仅用于演示vocab = {"<pad>": 0, "问题": 1, "20*7": 2, "=": 3, "140": 4,         "1*7": 5, "7": 6, "147": 7, "答案": 8, "so": 9} class TeacherModel:    """模拟教师模型:给定问题,输出思维链步骤"""    def generate_chain(self, question):        chain = []        if question == "21*7":            chain = ["20*7", "=", "140", "so", "1*7", "=", "7", "so", "147"]        return [vocab[token] for token in chain] class StudentModel:    """模拟学生模型:可训练的参数化模型"""    def __init__(self, vocab_size=10, hidden_dim=8):        # 简易循环网络参数        self.W_h = np.random.randn(hidden_dim, hidden_dim) * 0.1        self.W_x = np.random.randn(hidden_dim, vocab_size) * 0.1        self.W_o = np.random.randn(vocab_size, hidden_dim) * 0.1        self.hidden_dim = hidden_dim     def forward(self, input_token):        """单步前向:输入上一步 token,输出概率分布"""        x = np.zeros(vocab_size)        x[input_token] = 1.0        if not hasattr(self, "h"):            self.h = np.zeros(self.hidden_dim)        self.h = np.tanh(self.W_h.dot(self.h) + self.W_x.dot(x))        logits = self.W_o.dot(self.h)        exp_logits = np.exp(logits - logits.max())        return exp_logits / exp_logits.sum()     def train_step(self, input_token, target_token, lr=0.05):        """用交叉熵做一步梯度下降"""        probs = self.forward(input_token)        target_one_hot = np.zeros(vocab_size)        target_one_hot[target_token] = 1.0        grad = probs - target_one_hot  # 交叉熵梯度        # 简化更新:直接调整输出层        x = np.zeros(vocab_size)        x[input_token] = 1.0        self.W_o -= lr * np.outer(grad, self.h)        self.W_x -= lr * np.outer(self.h * (1 - self.h**2), x)  # tanh 导数        return -np.log(probs[target_token]) def cot_distill():    teacher = TeacherModel()    student = StudentModel()    question = "21*7"    chain = teacher.generate_chain(question)     print("教师思维链:", chain)    # 学生从"问题"开始,逐步模仿教师的每一步    input_token = vocab["问题"]    total_loss = 0    for target_token in chain:        loss = student.train_step(input_token, target_token)        total_loss += loss        input_token = target_token    print("蒸馏损失:", round(total_loss, 4))     # 验证:学生能否复现教师的推理链?    print("\n学生复现推理链:")    input_token = vocab["问题"]    student.h = np.zeros(student.hidden_dim)    generated = []    for _ in range(len(chain)):        probs = student.forward(input_token)        pred = int(np.argmax(probs))        generated.append(pred)        input_token = pred    print("学生生成的步骤:", generated)    print("完全一致:", generated == chain) if __name__ == "__main__":    cot_distill()
目的:演示 CoT 蒸馏的简化逻辑——教师生成思维链,学生通过逐步模仿每个推理 token 来获取推理能力。
  1. class TeacherModel:模拟大模型,输入问题输出一串推理 token,对应文中的“教师生成思维链”
  2. chain = teacher.generate_chain(question)教师先生成完整的 CoT 步骤,作为学生的监督信号
  3. student.train_step(input_token, target_token)学生每步学习“上一步是什么,下一步该说啥”,逐步逼近教师思维模式
  4. probs = student.forward(input_token)学生用自己的循环网络预测下一个推理 token 的概率分布
  5. grad = probs - target_one_hot交叉熵梯度:正确的 token 概率被拉高,错误的被压低
  6. cot_distill()主流程,先让教师演示,再让学生仿写,最后验证学生是否学会

常见误区

误区“CoT 蒸馏就是把教师模型的输出文本复制一份给学生学,学生背着这些文本就能变聪明,和普通的知识蒸馏没啥本质区别。”

正解普通知识蒸馏让学生模仿“最终答案”的概率分布,而 CoT 蒸馏让学生模仿“每一步推理”的概率分布。学生必须学会生成中间步骤,而不只是最终结论。就像徒弟背诵菜谱和徒弟学会“根据肉的弹性判断火候”的区别——后者学会了推理逻辑,遇到新问题才能举一反三。

为何常见:因为两者在训练流程上很像(都用教师输出做标签),初学者容易只看到表面的相似,忽略了监督信号从“结果”变成了“过程”的质变。

误区“既然 CoT 蒸馏学的是推理过程,那教师生成的思维链越长越详细,学生学到的就越多,模型就越聪明。”

正解思维链过长会引入大量无关信息,学生的注意力被稀释,训练成本也大幅上升。最佳实践是生成“适度粒度”的推理步骤——足够让逻辑清晰,但不冗余。就像教徒弟做菜,讲“热锅后下油”就够了,不必连“手指离锅 30 厘米”都规定死。

为何常见:人直觉上认为“信息越多越好”,但模型学习存在容量瓶颈,小模型的表征能力有限,塞太多噪声反而干扰核心推理模式的学习。

误区“既然用 CoT 蒸馏把推理能力压缩进小模型了,那小模型就完全媲美大模型了,可以放心替换。”

正解CoT 蒸馏只能转移教师模型“可表达”的知识,且受限于学生模型的容量,压缩过程必然有信息损失。学生模型在训练数据覆盖范围内的推理能力接近教师,但在开放域常识、对抗性示例、创造性任务上仍有明显差距。现实中 3B 蒸馏模型可能在数学题上接近 GPT-4,但写诗、讽刺、反常识推理依然远不如。

为何常见:看到某些 benchmark 上蒸馏模型分数接近教师,容易误以为全面超越。实际上 benchmark 往往只覆盖了蒸馏时的数据分布。

误区“把大模型跑一次的输出拿来训练小模型就行,反正大模型不参与梯度更新,蒸馏成本接近零。”

正解CoT 蒸馏的成本远超想象。教师模型要为每条数据生成完整的思维链,通常需要用采样或 beam search,可能需要多次前向才能得到高质量推理路径。且思维链数据的收集清洗、人工校验,以及学生模型的多轮训练迭代,都占据大量工程资源。

为何常见:初学者从论文图表上只看到“一次蒸馏流程”的简洁性,忽略了数据准备阶段教师模型的海量前向推理开销。

面试题

Q1. 知识蒸馏中,“软标签”指的是什么?

单选题 · easy

  • A.教师模型输出的概率分布← 正确答案
  • B.训练数据中的标准答案
  • C.学生模型中的中间特征
  • D.教师模型生成的文本序列

答案:A。软标签即教师模型在类别上的概率分布,例如猫 93%、狐狸 5%、狗 2%。它比硬标签(标准答案)携带更多细腻信息。选项 B 是硬标签,C 是中间特征而非标签,D 是思维链而非输出分布的准确描述。

Q2. CoT 蒸馏与传统知识蒸馏的核心区别在于?

单选题 · mid

  • A.教师模型规模更大
  • B.监督信号从结论变为推理过程← 正确答案
  • C.学生模型参数更多
  • D.训练数据规模更大

答案:B。传统蒸馏让学生的输出分布逼近教师的结论;CoT 蒸馏让学生生成的每一步推理 token 都逼近教师的思维链。区别在于“学什么”,而非模型大小或数据量。学生参数可变大变小,数据多少只是实验配置。

Q3. 关于思维链(CoT)的说法,正确的有哪些?

多选题 · mid

  • A.思维链是一串中间推理步骤← 正确答案
  • B.思维链让模型直接输出最终答案
  • C.思维链提供了中间过程的监督信号← 正确答案
  • D.思维链只适合大模型,对蒸馏无用

答案:AC。思维链(Chain of Thought)是模型生成最终答案前先输出的一串推理过程,让“一步到位”变成“逐步求解”,因此中间步骤成为可学习的监督信号。B 错误,思维链恰好是“不直接输出答案”。D 错误,思维链正是 CoT 蒸馏的核心素材。

Q4. 在 CoT 蒸馏的损失函数中,学生模型主要模仿教师的什么?

单选题 · easy

  • A.最终答案的硬标签
  • B.每一步推理 token 的概率分布← 正确答案
  • C.模型参数的取值
  • D.训练数据的分布

答案:B。CoT 蒸馏的监督信号是教师在每一步生成的 token 分布,学生让每一步输出的概率都逼近教师。选项 A 是标准蒸馏的做法,C 是参数拷贝而非蒸馏,D 是数据层面的概念。

Q5. CoT 蒸馏中“推理能力压缩”的实现方式包括哪些?

多选题 · hard

  • A.学生的每一层隐藏特征向教师对应层对齐← 正确答案
  • B.用线性投影把教师宽表征映射到学生窄表征← 正确答案
  • C.直接复制教师模型的全部参数
  • D.让学生学习教师的思维链生成模式← 正确答案

答案:ABD。推理压缩依赖多层特征对齐(包括隐藏层表征逼近和线性投影降维)以及序列层面的思维链模仿。C 是模型复制,既不压缩也失去了蒸馏的意义。A、B 是特征空间压缩,D 是语义空间的推理链压缩。

Q6. CoT 蒸馏相比标准知识蒸馏,在数学推理任务上泛化性更强的原因是?

单选题 · mid

  • A.CoT 蒸馏使用了更大的教师模型
  • B.CoT 蒸馏让学生学会了因果推理步骤← 正确答案
  • C.CoT 蒸馏增加了训练数据量
  • D.CoT 蒸馏降低了推理延迟

答案:B。因为 CoT 蒸馏的监督信号是推理链条,学生在模仿中掌握了“从因到果”的逻辑路径,而非简单的输入-输出映射。这种过程性知识能泛化到未见过的同类问题。模型大小、数据量、延迟都是干扰项。

Q7. 特征对齐蒸馏中,线性投影矩阵 $W_l$ 的作用是?

单选题 · hard

  • A.增加教师模型的参数量
  • B.将教师宽特征映射到学生窄表征空间← 正确答案
  • C.替代损失函数中的 KL 散度
  • D.替代学生模型的注意力机制

答案:B。教师网络隐藏层维度远大于学生,直接计算两者的特征差异不可行。$W_l$ 是可学习的线性变换,充当“翻译机”,把教师的宽表征投影到学生的维度空间中再求均方误差。它不改变参数、不替代损失函数,更不影响注意力。

Q8. 边缘设备部署 CoT 蒸馏模型带来的收益有哪些?

多选题 · mid

  • A.内存占用大幅降低← 正确答案
  • B.推理延迟显著减少← 正确答案
  • C.用户数据完全不上云← 正确答案
  • D.模型能力超过教师

答案:ABC。学生模型参数比教师少一个数量级,内存和延迟自然降低;本地推理让隐私数据不出设备。但蒸馏是损失压缩,学生能力只能逼近而非超越教师,D 不成立。

Q9. “思维链即数据”这句话的含义是?

单选题 · easy

  • A.思维链可以像文本数据一样参与训练← 正确答案
  • B.思维链就是训练集本身
  • C.思维链只存在于数据库中
  • D.思维链必须人工标注

答案:A。思维链由教师模型生成,作为监督信号(文本序列)参与学生训练,所以说“思维链即数据”。B 错误,训练集是问题文本,思维链是附加的推理标签。C、D 与事实不符,思维链由模型生成,不需人工逐条标注。

Q10. CoT 蒸馏中温度参数 $T$ 的平方项起到了什么作用?

单选题 · hard

  • A.放大教师的概率分布细节← 正确答案
  • B.减少学生的训练步数
  • C.降低教师模型的生成成本
  • D.提高教师模型的精度

答案:A。温度 $T$ 对教师输出的 logits 进行缩放,$T>1$ 时概率分布变得更平滑,暴露了类别间“隐藏的相似性”,让知识更易吸收。$T^2$ 用于量纲补偿。温度不影响训练步数、生成成本或教师的精度。