卡码笔记-最强八股文
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
  • 本栏必读

    • 卡码大模型专栏介绍
  • 大模型面经

  • 大模型动态

  • 入门认知

    • 大模型关键词全解
    • AI编程产品的三层架构
    • 大模型应用开发、算法岗、开发岗什么区别
    • 大模型应用开发到底在做什么
    • 大模型API到底怎么计费
    • 大模型到底是怎么训练出来的
    • 大模型蒸馏到底是什么
      • 蒸馏到底在蒸什么?
      • 为什么要做蒸馏?
      • 硬蒸和软蒸
      • 白盒蒸馏和黑盒蒸馏
      • 蒸馏其他厂商模型,是不是公开的秘密?
      • 蒸馏其他大模型有哪些方法?
      • 蒸馏能学到什么,学不到什么?
      • 蒸馏和微调、量化、剪枝有什么区别?
      • 蒸馏有哪些应用场景?
      • 面试里怎么回答模型蒸馏?
      • 最后
  • Prompt与调用基础

  • RAG检索增强

  • Agent智能体

  • 微调认知

  • 部署与工程化

  • 多模态入门

  • Transformer原理

  • 手撕Transformer

  • 模型家族与Llama架构

# 大模型蒸馏到底是什么?硬蒸、软蒸、蒸馏其他厂商模型,一篇讲明白

这两年录友应该经常听到一个词:模型蒸馏。

尤其是大模型圈子里,经常有人说:

某某模型是不是蒸馏出来的?

某某公司是不是蒸馏了其他厂商的模型?

听说现在大家都在互相蒸馏,谁家模型强,就去蒸谁家的?

如果大家最近有有看过 姚顺宇 的采访视频,他其实也委婉点名了,一些公司是 硬蒸,一些公司是 聪明的蒸(我这里就把它称为软蒸吧)

很多录友其实还没搞明白:蒸馏到底是个啥?

今天这篇,我就把模型蒸馏讲透。

不搞论文腔,不上来推公式。我们先从最核心的一句话开始:

模型蒸馏不是复制别人的模型参数,而是让一个小模型学习大模型的输出行为。

大模型像老师,小模型像学生。

老师不把脑子直接拆下来给学生,但学生可以通过老师的答案、解题过程、判断偏好,学会一套接近老师的答题方式。

这就是蒸馏。

模型蒸馏迁移的是输出行为,不是模型本体

# 蒸馏到底在蒸什么?

先说清楚一个误区。

蒸馏不是把大模型压缩一下,就变成小模型。

它不是把 1000 亿参数模型直接压成 70 亿参数模型。

如果真能这么压,那大模型训练公司都不用烧钱了,大家直接点一下"压缩"按钮就行。

真实的蒸馏,是这样一个过程:

  1. 准备一批问题
  2. 让强模型回答这些问题
  3. 把强模型的答案整理成训练数据
  4. 用这些数据训练一个小模型
  5. 看小模型有没有学到强模型的能力

所以蒸馏学的不是参数,而是行为。

比如老师模型面对一个问题,会怎么回答、怎么解释、怎么推理、怎么拒答、怎么判断哪个答案更好。

学生模型通过大量样本去模仿这些行为。

这就是知识蒸馏的核心。

模型蒸馏是数据质量驱动的闭环

# 为什么要做蒸馏?

很简单:大模型太贵、太慢、太重。

录友做大模型应用的时候,一定会遇到三个现实问题:

  • 调一次强模型,成本不低
  • 输出长一点,延迟就上来了
  • 想私有化部署,机器成本顶不住

但很多业务场景,其实不需要一个全能大模型。

比如:

  • 客服意图识别
  • 文档分类
  • Query 改写
  • RAG 结果打分
  • Agent 工具路由
  • 简历字段抽取
  • 内容安全审核

这些任务不需要模型会写诗、会做数学竞赛、会分析哲学。

它只要在某个小任务上稳定、便宜、速度快。

这就是蒸馏的价值:

把强模型在某个具体任务上的能力,迁移到一个更便宜、更快、更好部署的小模型里。

大模型负责当老师,小模型负责上线干活。

# 硬蒸和软蒸

(这是我自己编的词,主要是我看了 采访硅谷姚顺宇(不是腾讯的那位)的视频,他说到了 硬蒸 和 聪明的蒸,那我这里就说“软蒸”吧)

硬蒸馏:只学最终答案。

比如一道选择题:

问题:Redis 为什么快?

老师答案:因为内存存储、单线程事件循环、IO 多路复用、数据结构高效。

学生模型只看到这个最终答案,然后学习怎么输出类似答案。

这就是硬蒸。

硬蒸的训练数据通常就是:

问题 -> 老师最终回答
1

它简单、便宜、最常见。

特别是黑盒 API 场景,你只能拿到模型输出文本,拿不到模型内部概率分布,所以现实中很多蒸馏都是硬蒸。

软蒸馏:不仅学答案,还学老师的判断分布。

比如一个分类任务,老师模型不是只告诉你"答案是 A",而是告诉你:

A:80%
B:15%
C:5%
1
2
3

这就比单纯的 A 信息量大多了。

因为学生能知道:A 最可能,但 B 也有一点像,C 基本不像。

这就是软标签。

软蒸馏学的是老师模型对多个答案的概率分布,所以信息更细。

但问题也很现实:软蒸通常需要拿到 logits 或概率分布,很多闭源 API 根本不给。

所以你听到有人说"蒸馏其他厂商模型",多数时候不是严格意义上的软蒸,而是黑盒硬蒸,或者响应蒸馏。

硬蒸馏和软蒸馏的区别

# 白盒蒸馏和黑盒蒸馏

再讲一组概念:白盒蒸馏和黑盒蒸馏。

白盒蒸馏,意思是你能看到老师模型内部的一些信息。

比如:

  • logits
  • 概率分布
  • 中间层表示
  • attention 信息

这种蒸馏更"正统",信息量也更大。

但它通常发生在自家模型体系里,或者开源模型上。

比如公司自己有一个 70B 模型,再训一个 7B 小模型,这就比较适合白盒蒸馏。

黑盒蒸馏,意思是你看不到模型内部,只能通过 API 问它问题,拿到回答。

这就是大多数闭源模型 API 的情况。

你不知道它内部参数,也拿不到 logits,只能看到它最终输出。

所以黑盒蒸馏常见做法是:

  1. 准备大量问题
  2. 调用强模型 API
  3. 收集输出
  4. 清洗成训练数据
  5. 拿去微调自己的小模型

黑盒蒸馏技术上不复杂,麻烦的是成本、质量、规模、合规。

白盒蒸馏和黑盒蒸馏的区别

# 蒸馏其他厂商模型,是不是公开的秘密?

大模型厂商都不希望自己的模型被别人蒸馏。

这直接动了核心利益。

训练一个强模型,要花大量算力、数据、工程、人力和对齐成本。你通过 API 批量拿它的输出,再训练自己的模型,相当于把别人的技术投入变成自己的训练数据。

厂商当然不愿意。

OpenAI 使用条款 (opens new window)里明确限制自动化或程序化提取输出,也限制用输出开发与 OpenAI 竞争的模型。

Anthropic 的 Claude 帮助文档 (opens new window)也说得很清楚:可以把 Claude 输出用于不竞争的专用工具,但不能拿 Claude 输出训练和 Anthropic 竞争的模型。

所以这不是"大家各凭本事"这么简单。

用自家大模型蒸自家小模型,没问题。

用开源模型和许可允许的数据做蒸馏,没问题。

但批量调用闭源模型 API,拿输出训练竞争模型,很可能违反服务条款。

这里可以举几个已经公开报道的例子:。

25年1月,DeepSeek R1 爆火之后,外媒也讨论过,是否 DeepSeek 不当使用了 OpenAI API 用来蒸馏。

2026 年 2 月,Anthropic 也公开点名国内的三家公司(这里就不提具体公司名了)蒸馏自己的模型。

Anthropic 的说法是,这些公司/实验室通过大约 24000 个欺诈账号,和 Claude 产生了超过 1600 万次交互,用来提取 Claude 的能力,改进自己的模型。

2026 年 4 月,TechCrunch 报道 (opens new window),Elon Musk 在加州联邦法院作证时,被问到 xAI 是否使用 OpenAI 模型的蒸馏技术来训练 Grok。

他的回答大意是:这是 AI 公司之间的普遍做法。对方追问是不是"yes",他说:Partly。

现在大模型行业里,现实是:只要强模型开放 API,就一定会有人想把它当老师。

因为从零训练一个强模型太贵了。

而让强模型批量生成问答数据,再拿这些数据训练小模型,成本低很多。

这就是为什么行业里会有一种灰色现实:

谁家的模型效果好,谁就更容易成为别人采样、对齐、蒸馏的目标。

行业内,也有人说 "所有公司都在互相蒸馏"。

这个没有依据,不能把部分坚持自己做模型的公司一棒打死。

蒸馏闭源强模型的灰色链路

# 蒸馏其他大模型有哪些方法?

下面讲具体方法。

# Response Distillation:学最终回答

这是最常见的方式。

你准备一批问题,让强模型回答,然后用这些问答对训练小模型。

格式大概是:

{
  "instruction": "解释一下RAG为什么需要Embedding",
  "output": "Embedding的作用是把文本转成向量..."
}
1
2
3
4

这种方式简单粗暴,但有效。

很多垂直小模型,本质上就是大量高质量指令数据 + SFT。

缺点也明显:学生只学到了老师最后怎么答,不一定学到老师为什么这么答。

# CoT 蒸馏:学推理过程

CoT 就是 Chain of Thought,思维链。

普通蒸馏只学答案,CoT 蒸馏让老师模型把推理过程也写出来。

比如不是只回答:

答案是 B
1

而是让老师写:

先判断题目问的是上下文窗口,不是训练数据。
再排除和RAG无关的选项。
所以答案是 B。
1
2
3

学生模型学到的就不只是结论,还有解题路径。

这对数学、代码、复杂问答、面试题讲解都很有用。

但也有坑:老师的推理过程如果是错的,学生会把错误思路也学进去。

所以 CoT 数据必须清洗。

不是老师写得长,就一定好。

# Preference Distillation:学偏好判断

大模型不只是会回答,还会判断哪个回答更好。

比如同一个问题有两个答案:

  • 答案 A:说得很完整,但废话多
  • 答案 B:更准确,更符合用户需求

老师模型可以判断 B 更好。

学生模型就可以学习这种偏好。

这类蒸馏常用于对齐,让小模型更像强模型一样判断"什么是好回答"。

# Self-Instruct:让强模型造训练题

还有一种常见玩法:让强模型自己生成题目、生成答案、生成变体。

比如你要训一个简历点评小模型,可以让强模型生成:

  • 不同行业的简历片段
  • 不同质量的项目描述
  • 错误版本和优化版本
  • 点评理由

这样就能低成本扩充训练数据。

但注意:强模型生成的数据,不等于高质量数据。

生成数据很容易同质化,也容易带进模型自己的偏见和错误。

真正有价值的是:生成之后的筛选、去重、评测和人工抽检。

# 领域蒸馏:只蒸一个小能力

我认为应用开发者最该关注的是领域蒸馏。

不是把一个通用大模型完整蒸出来,而是只蒸某个具体能力。

比如:

  • 只蒸"客服意图分类"
  • 只蒸"代码评审建议"
  • 只蒸"简历项目经历优化"
  • 只蒸"RAG 检索结果排序"
  • 只蒸"Agent 工具选择"

这才是工程里更常见、更现实的做法。

全量复刻一个强模型太难,但复刻它在一个小任务上的表现,现实很多。

# 蒸馏能学到什么,学不到什么?

蒸馏不是魔法。

学生模型不是看了老师答案,就突然变成老师。

它能学到一些东西,也学不到一些东西。

能学到什么?

  • 常见问题的回答方式
  • 某个任务的输出格式
  • 老师模型的表达风格
  • 一部分领域知识
  • 一部分推理套路
  • 一部分偏好判断

学不到什么?

  • 老师模型的完整参数
  • 老师模型的全部世界知识
  • 老师模型的全部泛化能力
  • 老师模型内部真实推理机制
  • 超过学生模型容量的复杂能力

这里有个关键点:

学生模型容量是天花板。

一个很小的模型,不可能因为蒸馏数据多,就完整学会强模型的全部能力。

就像你让一个小学生听大学教授讲课,听得再多,也不可能马上变成教授。

它能学到一些解题套路,但底层知识结构和能力上限不一样。

模型蒸馏能学到什么学不到什么

# 蒸馏和微调、量化、剪枝有什么区别?

这几个词很容易混。

我给录友直接拆开。

微调:让一个已有模型学习你的任务数据。

比如你拿客服问答数据去训练一个模型,让它更懂你公司的客服场景。

微调强调的是:学任务数据。

蒸馏:让学生模型学习老师模型的输出行为。

老师可以是强模型,也可以是多个模型的集成。

蒸馏强调的是:学老师模型。

量化:降低模型参数的数值精度。

比如从 FP16 变成 INT8、INT4,让模型占用显存更少、推理更快。

量化强调的是:降低计算和存储成本。

剪枝:删掉模型里不重要的结构。

比如删掉部分神经元、通道、层,让模型更小。

剪枝强调的是:减少模型结构规模。

这几者不是互斥的。

真实工程里经常组合使用:

先蒸馏出一个小模型,再量化部署。

或者:

先用强模型生成领域数据,再 SFT 微调,再做量化上线。

所以录友不要死记概念,要看它们解决的问题:

  • 蒸馏:能力迁移
  • 微调:任务适配
  • 量化:降低精度
  • 剪枝:减少结构

模型蒸馏微调量化剪枝的区别

# 蒸馏有哪些应用场景?

蒸馏最核心的场景,就是降本增效。

但具体到大模型应用开发里,可以拆成很多方向。

# 1. 降低 API 成本

如果一个业务每天要调用强模型几百万次,成本会非常吓人。

这时候可以让强模型先生成高质量数据,再训练一个小模型承接高频任务。

强模型处理复杂问题,小模型处理常见问题。

这就是典型的成本分层。

# 2. 降低延迟

强模型输出慢,小模型输出快。

对客服、搜索、推荐、实时交互类场景来说,延迟很关键。

用户不是来欣赏模型思考的,用户是来要结果的。

如果一个小模型能在 200ms 内完成意图识别,就没必要每次都调用最强模型。

# 3. 端侧部署

手机、PC、本地设备,不可能都跑超大模型。

端侧模型需要小、快、省资源。

蒸馏就是把云端强模型的一部分能力迁移到端侧模型的一种方式。

# 4. 企业私有化部署

很多企业不想把数据发到外部 API。

但自己部署强模型成本又高。

这时候可以考虑训练一个领域小模型,在内网环境里跑。

它不一定全能,但可以解决内部固定任务。

# 5. 垂直领域小模型

比如医疗、法律、金融、教育、招聘。

这些场景里,通用大模型未必最合适。

你可以用强模型辅助生成领域数据,再结合真实业务数据,训练一个更懂业务的小模型。

# 6. RAG 系统里的辅助模型

RAG 不一定所有环节都用大模型。

比如:

  • Query 改写
  • 文档 rerank
  • Chunk 打分
  • 答案置信度判断
  • 引用完整性检查

这些环节都可以用小模型承接。

# 7. Agent 系统里的子任务模型

Agent 系统里,很多判断不需要最强模型。

比如:

  • 该不该调用工具
  • 调哪个工具
  • 是否需要继续执行
  • 当前结果是否够用
  • 是否触发人工审核

这些都是很适合蒸馏的小任务。

真正成熟的系统,不是所有请求都砸给最强模型,而是把不同难度的任务分给不同模型。

模型蒸馏在大模型系统中的应用场景

# 面试里怎么回答模型蒸馏?

如果面试官问你:什么是模型蒸馏?

你可以这样回答:

模型蒸馏是一种能力迁移方法,用一个性能更强的 Teacher Model 生成标签、概率分布、推理过程或偏好数据,再训练一个更小的 Student Model,让小模型在特定任务上接近大模型表现。它的核心价值是降低推理成本、降低延迟、方便私有化或端侧部署。

如果面试官问:蒸馏和微调区别?

你可以说:

微调是让模型学习任务数据,蒸馏是让学生模型学习老师模型的行为。两者可以组合,比如先用强模型生成领域问答数据,再对小模型做 SFT。

如果面试官问:蒸馏其他厂商模型怎么看?

你可以说:

技术上可以通过黑盒 API 采样输出做响应蒸馏,但合规上要看服务条款。很多闭源模型厂商明确限制用输出训练竞争模型,所以工程项目里不能只看技术可行性,还要看授权、数据来源和合规边界。

这个回答就比较完整。

# 最后

蒸馏的本质,是把大模型在某个任务上的能力,迁移到一个更便宜、更快、更可控的小模型里。

至于蒸馏其他厂商模型,确实是行业里绕不开的灰色话题。

Last Updated: 5/23/2026, 4:25:44 PM

← 大模型到底是怎么训练出来的 大模型怎么接入真实应用 →

评论

验证登录状态...

侧边栏 侧边栏
夜间模式 夜间
卡码简历 卡码简历
代码随想录 代码随想录
卡码投递表 卡码投递表🔥
2026实习校招群 2026群
添加客服微信 2026实习校招客服微信 PS:通过微信后,请发送姓名-学校-年级-2026实习/校招
支持卡码笔记 支持卡码笔记
鼓励/支持/赞赏Carl 卡码笔记赞赏码
1. 如果感觉本站对你很有帮助,也可以请Carl喝杯奶茶,金额大小不重要,心意已经收下
2. 希望大家都能梦想成真,有好的前程,加油💪