Skip to content

数据质量:让小样本暴露真实缺陷 ​

对应 CS329Z · 2026-11-02 · Data Selection & Quality。日期为校方课表日期,可能调整。核对官方课表。

资料状态

核对日期:2026-09-19。对应课程尚未开课;本文是基于公开课纲与文中原始资料的原创预习技术解读,不是课堂实录、讲义翻译或官方作业答案。本文于 2026-09-20 深度修订。示例为原创教学设计;离线实验与真实模型实验的边界分别说明,不以推演冒充模型实测。

我们已经保存了可重放轨迹,但一千条重复的顺利案例,仍然可能发现不了一次版本冲突。数据质量的核心是识别样本提供了什么信息,而不是只问标签有没有填满。

本讲建立两种不同用途的数据集:快速回归集用于暴露已知缺陷,代表性样本用于估计实际表现。它们不应共用同一个未经解释的准确率。

从行为边界选择案例 ​

对研究助手,关键维度包括版本是否匹配、必要证据是否齐全、工具是否可用、动作是否授权。每个维度应至少有一个“只改变这一条件”的对照。

例如任务内容不变,只把 D4 从 B 2.0 换成 B 1.0,正确行为就应从采用证据变为继续核查。这样的成对样本直接测试版本机制,比随机增加无关问题更有诊断价值。

但完全枚举所有组合会迅速膨胀。先覆盖会改变正确动作的边界,再加入已知高频失败组合,如“旧版本且工具超时”。选择理由应该记录在样本旁边。

回归集与生产估计回答不同问题 ​

故障集可以刻意让一半任务包含冲突,用于防止系统重新犯错。真实流量中冲突也许很少,因此故障集的平均通过率不能直接当作用户成功率。

假设简单任务占 90%,复杂任务占 10%,两个配置表现如下,数字仅作教学演算:

配置简单任务成功率复杂任务成功率按真实比例加权
A98%50%93.2%
B96%70%93.4%

如果用一半简单、一半复杂的回归集,A 得 74%,B 得 83%。两种汇总没有算错,却回答不同问题。报告必须解释任务分布,并保留分层结果,否则会夸大整体收益。

相似问题会破坏独立测试 ​

同一份 D2 文档生成十种提问,如果七条进入训练、三条进入测试,系统可能只是记住了文档结论。按问题字符串去重不能解决这种泄漏。

更合理的分组键可以是项目、文档族或问题模板的语义实例。整个组进入同一集合。对于版本更新能力,还可以把旧版本用于开发、新版本用于独立测试,但要保证测试仍具备回答所需证据。

tinyBenchmarks研究精选样本如何估计已有基准表现;它不能证明任意小型自编题库都代表业务。本站小样本首先用于回归,不宣称总体性能。

用最小对照检查是否真的覆盖边界 ​

一个用例的价值可以由它能排除哪种错误实现来解释。比如“D2 存在且支持去重”无法区分严谨核验器与永远回答支持的程序;再加入“D2 只说恢复”后,两者才会产生不同结果。

为每个重要机制至少保留一对这样的对照:已知与未知、旧版与当前版、动作确认前与确认后、同键同内容与同键不同内容。对照中的其他信息尽量一致,避免多个变化混在一起。

如果一个机制删除后,全部用例仍然通过,可能说明机制冗余,也可能说明用例没有覆盖它。用故意错误的实现检查数据集是否能“抓住错误”,比只让当前实现反复跑绿灯更有价值。

这种方法验证的是用例的区分能力,不证明用例集合代表真实流量;两种目的仍需分别报告。

标签分歧本身是信息 ​

人工评审可能对“部分完成”有不同理解。一位认为承认缺资料就是正确,另一位认为没给出推荐就是失败。此时多数投票不能替代澄清任务契约。

将标签拆成证据支持、约束满足、可交付程度,常能解释分歧。确实存在歧义的题保留争议状态,不要强行制造唯一金标准。

验证评估器的研究提醒我们,评分工具也需要检查。对数据集而言,抽样复核的不仅是答案,还包括评分规则是否符合读者真实需求。

小样本的好结果应怎样表述 ​

20 条题全部通过,只证明这 20 个条件下没有观察到失败。若把任务看作独立、同分布的随机样本,零失败的统计上界也不会是零;实际手工挑选的回归题通常连这个抽样前提都不满足。

所以交付应写“固定回归用例全部通过”,而不是“系统准确率 100%”。估计真实用户表现需要另外设计抽样、重复运行和不确定性报告。

最终产物是一份数据说明 ​

为每个集合记录目的、来源、分层比例、划分方式、标注规则、争议处理和已知空白。新发现的失败先进入回归集;是否进入代表性评测,需要考虑真实频率。

这样我们才能在下一讲讨论评测结果,而不把数据选择造成的差异误认为模型能力。继续阅读评测设计。


本课程逐讲目录 · 两门课程映射与资料边界 · 离线实验与验证边界