Forensic Reproducibility Audit of a Radiology Vision-Language Model Benchmark: From Intended Protocol to Released Artifact
本文对一项胸部 X 线片视觉语言模型基准测试进行了取证复现性审计,通过追踪保留的导入与调用路径以推断提示词绑定情况,揭示了在数据渲染、提示词执行和统计分析方面存在的关键差异。研究发现,尽管在固定队列分析中仅产生了 27/45 项未调整和 20/45 项 Holm 调整后的比较,但 28/45 的结果在采用各比较项独立分母的独立成对可用病例分析中得到了复现。上述差异导致原有的性能与自动化报告-标签不一致性主张被撤回,并提出了旨在确保未来人工制品完整性的机器可验证控制措施。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个科学家们正在构建数字侦探,通过阅读 X 光片来告诉医生出了什么问题的世界。这些侦探是一种特殊的计算机程序,被称为“视觉语言模型”(Vision-Language Model)。把它们想象成超级聪明的机器人,它们可以观察一张胸部照片,然后写出一份报告,就像人类医生所做的那样。为了测试这些机器人的表现如何,研究人员创建了“基准测试”(benchmarks)。基准测试就像是一套标准化考试:你给机器人展示 30 张 X 光片,向它提出特定问题,然后根据“金标准”(gold standard)检查它的答案,看它答对了多少。大家都默认,如果测试过程被写在论文里,那么计算机实际上确实完全按照论文所述的方式在运行。但如果计算机采取了捷径呢?如果测试问题被调换了,或者 X 光片被颠倒了,而直到几年后才有人发现,这该怎么办?这就是我们“所说的”与计算机“实际所做的”之间可怕的鸿沟。
这篇论文是一个关于其中一个数字测试的法医侦探故事。作者 Mateusz Kozłowski 决定扮演数字犯罪现场调查员的角色。他并没有重新运行测试;相反,他调查了前一项研究留下的“犯罪现场”(计算机文件和代码)。他想看看论文中讲述的故事是否与硬盘上的现实相符。他发现,故事与现实大相径庭。研究声称比较了两种不同的提问方式,但通过追踪保留下来的导入(import)和调用(call)路径,他推断出在提示词绑定(prompt binding)环节出现了问题,导致机器人实际上被问了两次完全相同的问题。它声称使用了 30 名不同的患者,但文件显示只有 28 名。它声称使用的是完美的 X 光图像,但其中四张被错误地翻转了,就像是在看胸部的镜像。由于这些混乱,原始报告中的最终得分和排名都是错误的。作者得出结论,原始测试的结果无法让我们信任这些机器人到底表现如何,并提出了一套新的“机器规则”,以确保未来的测试不会出现这些隐藏的故障。
数字侦探报告
设置:一场并非测试的测试
想象你是一名正在数学测验卷的老师。你告诉班级:“我要给你们两个版本的测验,版本 A 和版本 B,来看看哪个更难。”你分发了试卷,收回了试卷,并进行了评分。但当你稍后查看答案解析时,你意识到你竟然不小心给每个学生都发了完全相同的版本 C 试卷。你以为你在测试 A 和 B 之间的差异,但你其实只是把 A 和 B 的测试变成了对 C 的两次重复测试。
这正是这项研究中发生的情况。研究人员想要观察向医疗 AI 提出两个不同问题(提示词 A 和提示词 B)是否会改变答案。他们在 30 张胸部 X 光片上运行了测试。然而,当作者深入研究计算机代码时,他通过追踪代码中保留的导入与调用路径,推断出在提示词绑定环节发生了错误:代码本应在提示词 A 和提示词 B 之间切换,但由于编程错误,两组问题实际上都被发送成了提示词 C。因此,计算机被要求回答 60 次,但它实际上是在回答同一个问题 60 次。该研究声称发现了 A 和 B 之间的差异,但由于 A 和 B 根本没有发生,这种差异只是一个幻影。
X 光片的混淆
接下来,想象你在看一张黑白照片。如果照片是以“负片”形式打印的(即黑色代表“骨骼”,白色代表“空气”),你可能会认为一个暗点其实是一个亮点。该研究声称使用的是标准 X 光片。但作者发现,其中四张图像处于“空气”设置模式,且计算机代码忘记在展示给 AI 之前将其翻转为“骨骼”设置。
这就像是给顾客上一份汉堡,却把面包放在下面、肉饼在上面,然后声称你提供的是一份“标准汉堡”。AI 看到的是一张翻转后的图像,而不是真实的图像。这意味着 AI 是基于扭饰的现实而非真实的 X 光片做出决策。
患者计数与缺失的文件
研究说使用了 30 名不同的患者。但当作者清点文件时,他发现有两个患者实际上出现了两次,这意味着实际上只有 28 名患者。这就像一次班级点名,有两个学生签了两次名,导致看起来有 30 个孩子,而实际上只有 28 个。这很重要,因为如果同一个人在测试中出现了两次,就会使结果产生偏差。
此外,该研究计划进行 300 个回答(30 张 X 光片 × 10 个不同的 AI 模型)。但当作者检查文件时,他发现其中三个文件缺失或为空。其中两个文件完全是空的(零字节),还有一个直接消失了。原始报告假装这些是成功的回答,但它们实际上是失败的。这就像一名老师在批改试卷时,即便学生交了白卷,仍然给了学生分数。
“神奇”的数学
由于这些错误,原始论文的数学计算是错误的。作者计算了一个名为“科克伦统计量”(Cochran statistic)的分数,以观察模型之间是否存在差异。原始论文称该分数为 154.73。当作者使用正确且完整的数据(369 个数据块,而不是那个混乱且不完整的版本)修正数学计算后,分数跳升到了 182.29。
关于显著性差异的结论也变得更加复杂。在修正了数学计算和缺失数据后,作者发现对于 45 次比较中的情况,在未经过 Holm 调整时有 27 次显示出显著差异,而在经过 Holm 调整后则为 20 次。虽然原始论文声称在 45 次比较中有 28 次显示出显著差异,但作者通过使用每个比较都有其自身分母的独立两两可用案例分析(pairwise available-case analysis),确实重现了 28/45 这个数字。尽管如此,由于这些数字是基于有缺陷的数据得出的,其背后的含义已完全改变。原论文中“模型 A 优于模型 B”的说法是基于一个从未真正发生的测试。
“过时的”发布
这是最令人沮丧的部分。当研究人员意识到错误并修正了论文中的数字时,他们忘记更新向世界分享的数字文件。他们上传了一个“修订版”论文,但随附的压缩包里仍然保留着旧的、错误的数字和旧的、错误的模型名称。这就像一位厨师在修改了书中的食谱,却忘了更新网站上的配料表。任何下载该文件的人拿到的都是旧的、损坏的版本。
解决方案:新的规则手册
作者不仅指出了错误,还建立了一套新的规则手册以防止此类情况再次发生。他称之为“基准合同”(Benchmark Contract)。想象一份合同,它强制要求计算机在被允许发布分数之前,必须证明自己做了正确的事情。
这个合同包含八条规则:
- 样本集合同(Cohort Contract): 证明你拥有正确数量的唯一患者。
- 像素合同(Pixel Contract): 证明 X 光图像没有被翻转或损坏。
- 提示词合同(Prompt Contract): 证明 AI 接收到的确实是你提出的特定问题,而不是其他问题。
- 模型合同(Model Contract): 证明你使用的确实是您所声称的那个版本的 AI。
- 输出合同(Output Contract): 证明回答文件不是空的。
- 标注合同(Annotation Contract): 证明标签(如“患病”或“健康”)被正确地分配了。
- 分析合同(Analysis Contract): 证明数学计算是在正确的数据组上进行的。
- 发布合同(Release Contract): 证明你分享的文件与你撰写的论文相匹配。
作者构建了一套自动化测试(类似于机器人检查员)来检查这些规则。如果测试失败,系统会停止运行并提示:“不,你现在还不能发布这个。”
底线
核心结论是,原研究关于这些 AI 模型表现如何的说法已被撤回。作者非常明确:原始结果是无效的。你不能信任那些排名或所谓的“更好”的模型,因为测试本身是破碎的。唯一能被保留下来的只有关于它是如何出错的故事。此外,关于被撤回的终点指标,作者指出这属于“自动化报告标签不一致”(automated report-label discordance)的问题。
作者建议,在未来,我们需要使用这些可由机器检查的合同。我们不能仅仅相信计算机完成了我们交给它的任务;我们需要计算机证明它确实做到了。这篇论文并没有给我们一个新的、更好的 AI 模型;相反,它给了我们一种更好的方法,来确保我们用来评判 AI 的测试是公平且真实的。它提醒我们,在这个数字时代,如果你不去检查代码,你可能是在为一个从未发生的测试打分。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。