评测集里的重复图片和混合标注,让视觉准确率失真¶
2026 年 9 月 10 日至 12 日的两份实验报告里,问题出在视觉识别评测数据本身:重复图片、标注与输入不匹配、标签泄漏,识别准确率因此失真。这是在给视觉识别能力建评测集、跑识别实验过程中发现的数据问题,不改任何产品行为,但“识别率提高”这类结论能不能信,取决于它。
三类数据污染¶
下“识别率”结论之前,先回查评测集本身靠不靠得住。核对分三个维度:图片是不是各自独立(哈希)、标注是不是只依赖图上可见信息(对照纯观察输入)、标注取值和备注是不是自洽。
第一类,重复样本。核对图片哈希(SHA-256)发现,编号不同的两个案例是同一张图,标了三个场景,实际只有两张独立图片。按三张图统计就是虚报样本量:同一张图只产生一份观察结果,同图复用同一份观察,把它算成两个样本,等于把同一份识别结果重复计入。实验里做了合并,报告里写明“不虚报三张图”。
第二类,标注与输入不匹配。把每条特征的标注取值和备注逐条对照,发现两类问题:
评测的输入只有图片,模型只能依据可见内容作答。第一类的标注自相矛盾,按它对错都罚不到模型头上;第二类的真值在图外,拿它当视觉真值,等于惩罚模型猜不到图外信息。另一个口径问题:标注是按有限特征清单逐项打的,清单里没提某个特征,只能说明没标注,不能当作“该特征不存在”——没标注和标注为不存在是两件事。处理口径:标注冲突的样本不计入二元正确率。核对中还发现当前观测与旧标注在若干特征上不一致,旧检查点不能逐字匹配当作专家验收。
第三类,标签泄漏。有一张图自带文字说明。图内文字是图片像素的一部分,模型看图时一定会读到:不识别形态、只复述文字也能得分,识别分数里会混入来自读字的部分。实验发现模型在非思考模式的第二轮输出里用了图中文字和补充信息来描述“视觉事实”,文字内容混进了观察结果,识别分数虚高。
实验设计本身的问题¶
重放不能当稳定证据。原计划用完全相同的请求重放来确认结果稳不稳,第一张图重放后多个特征的状态发生了变化。两个机制决定了重放本来就是一次新采样:供应商服务端缓存按 best-effort 工作,缓存的是输入前缀,不缓存答案;该模型思考模式下 temperature 参数不生效,设成 0 也不能让重放确定下来。所以单次输出置信度再高、甚至两次结果一致,都不能当真值证据。
基线来自第二次尝试。第一张图的基线初次输出里,思考占了输出预算的绝大部分,可见输出撞上限被截断(返回 finish_reason=length),残缺结果未被接受。按原计划重放同一请求后成功,此后的复查都以第二次输出为输入。失败的响应和费用保留在记录里,但质量对比只建立在成功的那一次上,等于先选了一次成功样本再拿它当基线。
局部复查不算盲测。复查选区靠人工裁剪,操作者在裁剪前读过标注,知道图上“应该”有什么,画框会不自觉框向目标特征;这轮也没有实现自动 ROI 定位,复查输入里还附了初稿,输出分不出是复查的贡献还是初稿的影响。这轮实验用的是原始评测图片,绕过生产预处理和发布链路,也不是端到端验收。结果不能当成自动定位能力的效果。
两处复查改动都不能记为纠错。第一张图的完整复查把一个特征从“存在”改成“不确定”,理由里引用了静态图无法确定的燃烧过程判断,改动依据越出了图片可见范围。第二张图的完整和增量复查把另一个特征从“不确定”改成“存在”,依据是末端一段黑色,而现有专家标注没有确认该段符合该特征的定义,需要专家核对。两个方向都缺有效依据,不能记为纠错成功。
处理¶
合并重复图片;冲突标注不计入二元正确率;补充无文字标签的图片和独立标注。不推荐普遍增加局部复查,也不推荐直接关闭思考:先把评测集修干净,再验证针对明确歧义做一次复查值不值得,关闭思考只作为该验证的低成本对照。