做文本大模型蒸馏时,最先出现的账单往往来自教师模型调用。团队很容易把输入和输出 Token 乘以单价,得到一笔看起来很清楚的费用。这个数字只能说明请求发生过,离“得到一条可以训练的样本花了多少钱”还差好几步。解析失败、限流重试、内容被拒收、人工修改和版本变更,都会改变最后的成本。
我重新翻了知识蒸馏的原始论文和几份推理部署资料。早期知识蒸馏主要讨论怎样把复杂教师的输出分布迁移给较小的学生。今天通过文本接口生成问答、解释或工具轨迹,更接近输出数据蒸馏。接口通常只返回文本,未必提供教师的 logits、软标签或中间特征。因此,成本台账也要围绕请求、原始响应、样本验收和训练批次来建,不能只照搬经典分类蒸馏的实验记录。
一笔调用费为什么对不上训练数据
假设一个批次有一万道任务。程序发出一万次请求,不代表最后会有一万条训练数据。部分响应可能缺字段,部分答案引用错误,另一些虽然语句通顺,却不符合任务边界。相似问题还可能生成高度重复的答案。等到清洗结束,真正进入训练集的样本会少于成功返回的响应。
工程上至少要分清四个数量。第一项是计划任务数,第二项是实际请求尝试数,第三项是拿到可解析响应的任务数,第四项是通过业务验收并进入发布数据集的样本数。四个数字混在一起,重试会被藏掉,拒收也看不见。最后只能解释总账单,解释不了钱花在哪一类任务上。
请求成功也不能直接写成样本合格。HTTP 状态正常,只说明接口完成了一次响应。JSON 可以解析,只说明结构过关。字段完整以后,还要检查事实、任务正确性、安全边界和训练许可。每一层都应该留下状态和拒收原因。这样算出的成本才与训练数据对应。
用任务台账保留每一次尝试
一个可恢复的批处理程序通常需要三类记录。任务表保存样本编号、输入版本、提示模板版本、生成参数和最终状态。尝试表保存每次请求的时间、所用模型、响应状态、请求标识、错误类别以及能够核对的消耗信息。运行表保存批次编号、进程心跳和任务归属,防止程序重启以后把正在处理的任务重复领取。
重试不能只写在内存循环里。若程序第三次拿到结果,数据库只留下最后一次成功,前两次超时或服务错误就会从记录中消失。账单出现差异时,团队也无法判断这些失败尝试是否产生费用。不同供应方、错误类型和计费规则可能不同,文章不能笼统地说失败请求一定收费或一定免费。稳妥的办法是保存每次尝试,再用平台调用记录和结算结果核对。
任务身份也需要稳定。样本编号相同,系统提示、温度、输出结构或验收器版本发生变化,实际已经是另一项生成任务。可以把数据集版本、样本编号、提示模板、生成配置和验收器版本共同参与哈希。这样既能避免误复用旧结果,也能知道一次改动到底带来了多少新增请求。
把单位合格样本成本算出来
企业可以采用一套内部管理口径。批次生成成本由教师请求、有效重试、数据处理、人工复核和工具运行等费用组成,再除以最终通过验收的样本数。这个公式用于内部比较,不属于统一会计标准。企业还应按照自己的合同、人员核算方式和基础设施分摊规则调整。
三个比值值得长期观察。响应可解析率反映接口和输出约束是否稳定。样本接受率反映教师质量、提示模板和验收标准是否匹配。每条合格样本的平均尝试次数反映重试和重复领取有没有吞掉预算。若调用单价下降了,接受率却从高位掉到很低,单位合格样本成本仍可能上涨。
人工复核也要落到任务上。粗略记录“审核了两天”没有多少分析价值。更实用的做法是记录抽检数量、拒收原因、修改时长和最终去向。高频拒收若集中在事实错误,应先改教师或加检索依据。若集中在格式问题,应先修提示和解析器。若只是少数高风险类别反复失败,可以把它们单独路由给更强的教师,而不必让全部样本使用同一模型。
小批试验比直接跑满更容易省钱
正式放量前,先做分层小样本。任务按类别、难度、输入长度和风险等级分组,每组抽取固定数量,让候选教师使用相同输入和输出约束。除了答案分数,还要记录输入输出量、响应时间、解析结果、接受结果和人工修改。小样本的用途是比较方案,不能把这一轮数据同时当作最终验收集。
当团队需要并行比较多个教师时,统一接入和分开记账会省下不少整理工作。147AI可以作为多模型统一调用的候选入口,按项目或实验建立不同 API Key,再结合调用量、消耗和日志核对批次。它承担的是调用与用量整理,数据清洗、训练状态机和质量验收仍由项目方实现。具体可用模型与接口方式应以当前页面为准。
小批结果还可以回答一个经常被忽略的问题。昂贵教师的单条调用成本更高,但若答案接受率明显更高、修改量更少,它生成一条合格样本的成本可能更低。比较教师时应统一看最终合格产物,不能只排输入输出单价。
放量以后仍要保留退出条件
批次扩大后,团队应为异常设置暂停阈值。连续出现解析率下降、相似样本激增、某类事实错误集中爆发或平均尝试次数明显上升时,先停止领取新任务,保留已经发出的请求和原始响应。查清是提示版本、教师版本、限流、解析器还是数据源发生变化,再决定是否继续。
最终交给训练团队的数据至少要能追溯到原始输入、教师响应、清洗动作、人工修改和数据版本。JSONL 文件能被读取,只证明每一行是合法 JSON,不能证明样本正确,也不能证明可以用于训练。把调用成功、结构合法、样本合格和正式发布分开,蒸馏数据的成本才算得清,出了问题也能回到具体的一次请求。
参考资料
- 知识蒸馏原始论文
- 英伟达推理参考架构
- 147AI公开状态页面



