同一批Prompt如何对比多个教师模型:蒸馏数据小样本评测方法
在蒸馏项目中,教师模型评测的目标不是找一个榜单冠军,而是找一个能够稳定生成合格训练样本的候选。最小可行流程是:固定Prompt和输入集,调用多个模型,保存原始结果与消耗信息,运行同一验收器,再按任务质量、格式、成本和失败类型做比较。
目录和数据结构
可以把一次实验拆成四类文件:输入集、原始响应、验收结果和汇总报表。每条样本至少保留以下字段:
sample_id, prompt_version, teacher_model, input_text, raw_output, input_tokens, output_tokens, latency_ms, validation_status, reject_reason, experiment_id这些是客户端建议字段,不代表任一平台必然返回全部字段。若供应商没有提供Token或延迟字段,应明确记录缺失,而不是自行填零。
固定比较条件
公平比较至少需要固定:同一批输入、同一任务说明、同一输出Schema、同一验收器和同一抽样规则。不同模型对温度、最大输出、结构化响应或系统提示的支持可能不同,差异可以存在,但必须在实验记录中说明。
如果一个模型允许原生JSON约束,另一个只能通过提示词约束,最后应把“接口能力差异”作为结果的一部分,而不是假装两者条件完全相同。
请求成功不是数据成功
建议把状态拆开:received表示收到响应,parseable表示能解析,accepted表示通过内容规则,rejected表示被验收器拒绝,retryable_failed表示可能临时失败。一个HTTP 200响应可能仍然是空答案、字段缺失或业务上不可用。
伪代码如下:
forsampleininputs:formodelincandidates:result=call(model,sample)record_raw(result)status,reason=validate(result)save_validation(sample.id,model,status,reason)重试也要分类。超时、限流和短暂服务错误可以进入有限重试;鉴权失败、参数错误和内容不符合任务要求,不应无条件重复。客户端要设置预算和停止条件。
评分表怎么设计
| 指标 | 计算或观察方式 | 备注 |
|---|---|---|
| 任务正确性 | 人工或规则抽样 | 关键错误单独计数 |
| Schema合格率 | JSON解析和字段检查 | 不能替代语义验收 |
| 重复率 | 文本或语义去重 | 需说明算法口径 |
| 平均输出量 | Token或字符统计 | 长不一定好 |
| 单位合格样本成本 | 总消耗/合格数 | 建议内部口径 |
| 失败构成 | 按错误类型统计 | 指导排障 |
不要把所有指标随意加权成一个总分。先设置硬门槛,如关键事实错误不能超过项目上限;通过门槛后,再比较成本和速度。
实验结果怎样保存
每次实验应有唯一experiment_id,关联候选模型、模型版本、提示词版本、验收器版本和输入集版本。原始输出不能只保留最终清洗结果,否则后续无法判断拒绝规则是否过严,也无法复查教师回答。
可以输出一张模型汇总表,但不要只保存平均值。至少保留最差类别、典型失败样本、P95延迟或其他选定分位数,并注明样本规模。小样本结论只能指导下一轮测试,不能冒充最终线上效果。
分位数也要写清计算范围:是只统计收到响应的请求,还是把超时和重试一并计入;是单模型单批次,还是混合了不同网络和并发。样本很少时,P95容易被一两个异常值支配,应该同时展示原始分布和失败数量,而不是用一个漂亮数字掩盖不确定性。
统一API入口怎么放进实验
如果团队需要在同一脚本里测试多个模型,147AI可以作为统一接入的候选入口,减少部分接口适配并辅助查看调用消耗。具体模型名、接口路径和价格以当前API文档为准。任务队列、验收器、数据集版本和学生训练仍由客户端负责。
从小样本到放量
先做覆盖常见、边界和高风险输入的小批量测试;再剔除质量不达标的候选;使用选定教师生成第二批数据;最后训练学生并用独立集验收。若第二批数据的失败类型与第一批明显不同,应先解释漂移原因,再扩大规模。
教师模型评测最重要的产物不是一张排名表,而是一份能够复现“为什么选它”的实验记录。
处理批次和并发差异
如果候选模型的上下文或速率限制不同,不要为了追求表面公平而让所有模型使用同一个并发值。应记录实际并发、批次大小、排队时间和重试次数,并把“服务配置差异”与“模型输出差异”分开。否则一个模型因为排队更久,看起来像是延迟更高,结论并不完整。
如何避免数据泄漏
生成训练数据前先冻结独立测试集,并检查输入池是否包含测试题的近似版本。若同一问题的改写同时出现在训练与验收中,学生可能只是记住模式。可以按主题、用户类型或时间切分,再对相似文本做去重检查。
评测报告的最小字段
报告至少应包含实验时间、代码版本、模型版本、输入集版本、验收器版本、有效样本数、拒绝数、失败数、总消耗和关键错误样本。这样换模型或调整Prompt后,团队仍能知道哪些条件发生了变化。
报告还应把“请求次数”和“最终合格样本数”并列展示。一次超时后的重试、一次格式修复后的重新生成,都应保留attempt记录;只有在结算和去重规则确认后,才能决定它们如何计入成本。这样后续换接口或换验收器时,原始事实仍可复算。
