AI Agent 里哪些活可以交给小模型:知识蒸馏、剪枝量化怎么选,什么时候值得做

AI Agent 里哪些活可以交给小模型:知识蒸馏与模型压缩怎么选

先说一个反直觉的观察:很多团队把 Agent 跑贵了,不是因为接了太多难题,而是因为把大量简单活也交给了最大的那个模型。分类、抽取、改写、路由、打标签、判断该调哪个工具——这些活占了调用量的大头,难度却并不高。

要把这部分成本压下去,有三条路最常被混在一起讲:AI Agent 成本怎么算、怎么省 讲的是「怎么花钱更少」(缓存、模型切换、工具调用收敛);能力不够该往哪加 讲的是「怎么让模型更强」(改提示词、做知识库、微调);这一篇讲的是第三条路:怎么把大模型的能力搬进一个小模型里,让原本跑不起的调用量跑得起。

一、先把三条路分清:换、蒸、压

同样是「用小模型」,做法差别很大:

  • 换——直接换一个现成的开源小模型(几 B 到十几 B 的通用模型)。成本最低、见效最快,缺点是它未必懂你的业务口径。
  • 蒸——知识蒸馏:拿大模型当「老师」,让它在你自己的样本上产出答案,再用这些答案去训练一个小模型当「学生」。学生学到的是你这个任务的做法,不是通用能力。
  • 压——模型压缩:剪枝、量化、更小的推理位宽。它不改变模型「会做什么」,只是让同一个模型跑得更省。压缩可以和蒸馏叠加:先蒸出一个任务专用小模型,再把它量化到更低位宽。

一句话分工:换是把现成的拿来用,蒸是教一个学生,压是把一个模型瘦身。

二、知识蒸馏到底蒸的是什么

很多人对蒸馏有个误解,以为是把大模型的参数「复制」一份到小模型里。不是。参数结构都不一样,复制不了。

真正被转移的是老师在这些样本上的「判断倾向」。常用的有三种形式:

  • 结果蒸馏——只用老师的最终答案当标签。最简单,也最常用。
  • 过程蒸馏——连同老师的推理步骤一起学。适合需要中间判断的任务,比如多步抽取、带条件的分类。
  • 偏好蒸馏——同一个输入采样多个答案,让老师排序,学生学「哪个更好」。适合开放式生成,比如改写、摘要、话术。

这里有个容易忽略的点:真正值钱的不只是老师答对的样本,还有老师答错的那些。把这些样本挑出来人工修正再交给学生,比多攒一万条老师随口答对的样本有用得多。

三、哪些环节适合蒸馏:四个信号

不是所有任务都值得蒸。同时满足下面四条,基本就值得动手:

  1. 量大——每天要跑几千几万次,省下来的钱才算得出来。
  2. 判据明确——对错能说清楚、能自动判。含糊的任务蒸出来也没法验收。
  3. 输出短——分类标签、结构化字段、短改写。输出越长,小模型越容易失控。
  4. 变化慢——业务口径稳定,蒸一次能用几个月。天天变的规则,蒸完就过期。

反过来,这几类不建议蒸:需要长链推理的规划任务、需要最新知识的问答(那是 知识库与检索 该干的活)、调用量很小的低频任务,以及你还没跑通的任务。

四、教师数据从哪来

蒸馏的天花板就是教师数据的质量。四个注意点:

  • 用真实样本,别编——直接从线上日志里抽脱敏后的真实输入,比人工造一百条都强。
  • 覆盖边界——只抽「正常情况」,学生一遇到异常就露馅。要刻意补:空值、超长、格式错乱、含歧义、领域外。
  • 留一份不用于训练的测试集——而且要按时间切分(旧数据训练、新数据测试),否则测出来全是虚高。
  • 记录老师的置信度——低置信度的样本单列,不要直接当标签用。这类样本最适合人工过一遍。

数据质量本身要有门槛,空值、重复和异常分布先拦住再谈训练,做法可以参考 数据质量门禁。

五、落地六步

  1. 圈定一个任务——一次只蒸一个,别想着「蒸一个万能小模型」。
  2. 跑基线——先用大模型在当前任务上跑一遍,把准确率和单位成本记下来。这是后面所有对比的锚点。
  3. 攒教师数据——按上一节的四条来,训练集和测试集分开。
  4. 选底座——从小参数量的开源模型起步,先看格式遵从和稳定性,别一上来就挑最难驾驭的。自建推理可以对照 vLLM 部署流程。
  5. 蒸馏 + 可选微调——先跑一轮纯蒸馏看差距;如果格式总是跑偏,再补少量带格式约束的样本。
  6. 灰度替换——保持双跑一段时间,同一批输入两个模型都跑,比对差异样本,确认稳定后再逐步加大流量。

六、验收不能只看准确率

这是最容易翻车的一环。小模型常见的失败不是「答得不对」,而是「答得不像话」。至少要盯这几个数:

  • 任务准确率——和大模型基线比,不是和自己的上一版比。
  • 格式合法率——结构化输出的 JSON 能不能解析、字段齐不齐。这一项小模型通常掉得最狠。
  • 一次通过率——需要重试几次才对。重试多了,省下来的钱又还回去了。
  • 拒答与胡答率——小模型要么过度自信乱答,要么过度保守什么都不答,两个方向都要看。
  • P95 延迟与单位成本——这是做这件事的初衷,必须量出来。
  • 回归集——上线前固定跑一批历史样本,看有没有退化。思路可以直接套 评测与回归 的方法,评测集怎么建看 评测样本 那篇。

如果想把「人工抽查」这一步标准化,可以参考 评分器设计 的做法,把人的判断变成可复用的规则。

七、三个边界

  • 没有可信的教师,就别蒸。老师在这个任务上自己都不稳定,蒸出来的学生只会把错误固化下来。
  • 数据不够,别硬蒸。样本量撑不起一个任务专用模型时,先做提示词优化和缓存,收益更快。
  • 任务在变,就别指望一劳永逸。蒸馏模型是「冻结的知识」,业务口径一改就得重蒸。把它当成一个有保质期的资产来管,替换前先按 质量门禁 走一遍。

八、五个坑

  1. 拿老师答的样本直接当金标准。老师会错,错的标签会一路传给学生。
  2. 只看准确率就上生产。格式合法率和一次通过率掉了一半,比准确率掉两个点危险得多。
  3. 训练集和测试集同源。用同一批数据切两个子集来测,等于自己给自己发奖状。
  4. 一次蒸一个「万能小模型」。任务混在一起,蒸出来的学生哪个都不精。
  5. 蒸完就不管了。没有版本管理、没有回放验证,模型退化了你也不知道——这块可以套 模型版本回放验证 的做法。

九、适合谁

适合:Agent 已经稳定跑起来、每天调用量上到十万级、并且能把成本拆到具体任务上的团队。这时候通常能一眼看出「某个简单的分类或抽取任务吃掉了三成预算」,蒸馏就是最直接的解法。

不太适合:还在验证 Agent 能不能用的阶段。这时候把精力放在提示词、知识库和工具设计上,收益比研究蒸馏大得多。等某个环节的调用量真的涨上来、口径也稳定了,再动手也不迟。

总结

把活交给小模型这件事,记住三句话:先分清「换、蒸、压」三条路,别混着做;蒸馏转移的是判断倾向而不是参数,所以教师数据的质量就是天花板;验收不能只看准确率,格式合法率和一次通过率往往才是小模型真正翻车的地方。对做 Agent 的团队来说,这不是一次技术炫技,而是一笔算得清的账——先把任务圈小、把基线跑出来,值不值得做自然就有答案。

发表评论

您的电子邮箱地址不会被公开,必填项已标注 *