桃子桃子快讯
返回首页
研究论文

LLM 蒸馏如何把标注预算花在刀刃上

作者用 3000 条亚马逊家电评论做实验,发现学生模型回查可揪出 3.5% 的标签错误,并提出两阶段标注预算策略。

2026.08.31 · 周一4 分钟阅读

在大模型蒸馏场景中,让 LLM 直接给文本分类数据打标可以省去训练专用模型的过程,但每一次调用都要付出时延和成本,而且 LLM 给出的标签并非「真值」。当学生模型已经学会大部分任务之后,真正的问题变成:下一笔标注预算应该花在哪里?

作者在文中给出了一个反直觉的答案:先把学生模型反向跑一遍自己的训练集,找到它与 LLM 老师意见不一致的地方,再围绕这些「决策边界」补充新数据。这种做法把一次性的蒸馏流程变成了一个可以迭代校正的数据集审计过程。

学生模型也是数据集的检测器

传统蒸馏流程是单向的:LLM 打标 → 学生学习 → 学生上线。但学生模型一旦存在,就可以反过来扫一遍训练数据,生成第二股反向信息流:

  • 学生预测 → 与 LLM 标签不一致 → 检查这些「分歧点」。

一处分歧可能意味着:LLM 标签写错、学生学错、样本本身太难、数据集中此类样本太少,或者类别定义在边界处本就模糊。LLM 监督还有一个特点——同一个标注请求可能给出不同答案,越困难的判断越不稳定。老师再问一次是一种校验,训练好的学生模型提供了另一种独立校验。

一个可复现的二分类实验

为了说明机制,作者构建了一个小型实验:3000 条亚马逊家电评论,由 LLM 给出二分类标签——「defect」(具体的构造、运行、耐用性或功能缺陷)与「no_defect」(其他)。其中一星评论可能只是在说不兼容,而一段整体正面的评论也可能提到具体的故障。LLM 拿到的是商品和评论文本加标注规则,并不包含星级。

400 条做测试,2600 条做训练。学生模型选用 microsoft/deberta-v3-base,只用标题和评论文本训练,第一轮就在 holdout 上拿到了 0.9 准确率和 0.89 的宏 F1。

标注预算分两阶段

作者逐步增加可用的教师标注数量,观察学生模型何时「变得有用」:

  • 100 条:宏 F1 = 0.416,只会预测多数类;
  • 250 条:宏 F1 = 0.416,仍然只会预测多数类;
  • 500 条:宏 F1 = 0.810,首次出现「有用的学生」;
  • 1000 条:宏 F1 = 0.841,决策边界开始细化;
  • 2600 条:宏 F1 = 0.882,完整公开跑的结果。

关键拐点出现在 250 到 500 之间。低于这个阈值,教师预算买的只是基本任务覆盖;过了这个点,学生模型才有能力暴露分歧和薄弱区域,后续的每一笔教师调用都需要在「随机抽样」和「针对薄弱区抽样」之间二选一。

这意味着曲线本身就成了一种预算策略:先广泛采样直到学生模型具备判断力,然后围绕它的错误继续投入。如果再把单次标注的价格和时延代入,整张表还能换算成钱和时间。

用学生反向审计数据集

作者用训练好的学生对训练集和 holdout 集都做了一次推理。结果在 2600 条训练数据中,学生与 LLM 标签出现 65 处分歧;400 条 holdout 中出现 39 处,共 104 行。用原始 prompt 人工复核后,29 处标签被明确改正(训练集 19 处、holdout 10 处)。

换句话说,只检查 3.5% 的数据就拿到了 29 处修正,超过四分之一被复核的分歧都是真实的标签错误。当然,分歧并非自动正确——学生最自信的部分预测也存在明显失误,例如把「手柄开箱就有缺口和毛刺」错判为 defect、把「铰链送来就是断的……螺孔没有螺纹」错判为 no_defect。

文章给出的实践结论是:把 LLM 当老师用于蒸馏时,预算分配不应只盯着「再多标一些」,而应先确认学生模型何时具备判断力,再让它反过来告诉你下一批标签该标在哪里。

信源