NEJM-Bench — 二十年 NEJM 临床图像挑战的千题多模态基准

《新英格兰医学杂志》Image Challenge 栏目 2005-2026 年 1,063 例临床图像五选一题:公开版剥离答案键、双场景(MCQ/开放作答)评测、本地 Qwen3.5-27B 裁判与训练截断过滤,暴露约 30 个百分点「选项红利」与放射学 25.7% 的难度下限

来源 NEJM Image Challenge 公开栏目逐期抓取的题干与五选项(context/options)+ 外链病例图(csvc.nejm.org,1500×4000)+ LLM 生成的专科标签(categories.jsonl,每例 3 个)发布时间: 2026-10-17最后更新: 2026-10-20 阅读 22
NEJM-Bench — 二十年 NEJM 临床图像挑战的千题多模态基准

信息速览

数据集名称NEJM-Bench — 二十年 NEJM 临床图像挑战的千题多模态基准
数据类型multiple-choice-questions,multimodal-qa,clinical-vignettes,image-urls-only,no-answer-keys
规模1,063 例(每周一期 Image Challenge,2005-10-13 至 2026-04-02;患者为去标识化的公开病例,无独立患者表)
接入方式NEJM Image Challenge 公开栏目逐期抓取的题干与五选项(context/options)+ 外链病例图(csvc.nejm.org,1500×4000)+ LLM 生成的专科标签(categories.jsonl,每例 3 个)
AI 就绪度

INFOBOX — NEJM-Bench 一屏速览

维度 内容
本质 二十年 NEJM Image Challenge 栏目题目汇编成的多模态医学五选一评测基准(非新采集影像、非挑战赛)
题源 《新英格兰医学杂志》Image Challenge 周更病例:一张真实病例图 + 一段临床情景 + 五个候选诊断
规模 1,063 例(实测 parquet 行数),date 2005-10-13 → 2026-04-02,覆盖 247 个自然月
组织方 Medical Sphere(independent evaluation,机构与作者未具名)
公开口径 公开题面 + 选项 + 图像外链;答案键不公开(“no answer keys in this public release”)
场景 1 MCQ:图 + 情景 + 5 选项,答字母,精确匹配;选项按题打乱
场景 2 开放作答:只给图 + 情景,自由写诊断;本地 Qwen3.5-27B 裁判判「临床等价」
榜首 Gemini 3.1 Pro:MCQ 90.9%,开放作答 57.6%
核心发现 同一模型两场景落差 +29.8 至 +34.3pp,六个模型高度一致 → 落差属任务形态而非模型能力
最难专科 Radiology 开放作答 25.7%(vs Infectious Disease 62.7%,极差 37pp)
污染控制 每题 canary 串 + 按模型知识截止日过滤的 post-cutoff 子集(31–61 例/模型)
获取 HF medicalsphere/nejm-bench,gated=false,无需申请;334 KB parquet,图像全外链
许可 数据集无 license 字段、代码无 LICENSE;上游图文版权归 NEJM
库内互链 vqa-rad(240)、slake(250)、omnimedvqa(290)、medxpertqa(818)、rexvqa(729)、derm7pt(110)

NEJM-Bench 做的事情可以用一句话讲完:把《新英格兰医学杂志》从 2005 年起每周刊登的一道「看图猜诊断」课堂小测,完整抄下来变成 1,063 道标准化考题,再用两种问法去考前沿多模态大模型——一种是给五个选项让它挑,一种是只给它图和病史让它自己说。它最有价值的产出不是排行榜,而是那条几乎横贯所有模型的落差:同一道题,给出选项后准确率平均涨了约 30 个百分点。换言之,医学多模态模型在选择题上「会考」,并不等于在真实问诊中「会诊」。

导语读法三则:

  1. 只想下数据:直奔 §6 获取与许可——记住三件事:只有 334 KB 的 parquet,图像全是外链,没有答案键。
  2. 关心模型能力:直奔 §5 双场景结果与 §4 专科难度——先看 90.9%/57.6% 这一对,再看 Radiology 25.7%。
  3. 关心基准质量:直奔 §3 数据构成与 §10 避坑清单——本基准没有论文、没有许可、没有答案键,这三点决定了它只能作为「教学性基准」而非「金标准基准」使用。

§0 导读:这个基准解决什么问题

0.1 一个比 NEJM 更老的问题:模型到底会不会「看图诊断」

医学多模态模型的评测长期被困在一个两难里。用题库型基准(如各类医学 VQA 数据集)测,题目多是放射学影像配模板化问答,问法高度同质,模型很容易靠「影像类型 → 病症词表」的先验蒙对;用真实病历测,则既拿不到高质量的标注金标准,也无法控制病例来源与难度。于是「模型在医学 VQA 上超过人类」的新闻年年有,临床落地却始终卡在同一个地方:换一批真实病例,模型就崩。

NEJM-Bench 的切入点是找一个天然具备专家信度的题源。NEJM 的 Image Challenge 栏目自 2005 年起每周一期,每期给一张真实病人的临床图像、一段简短病史、五个候选诊断和一道单选,读者在线作答后可看到正确答案与解析。它本来是给临床医生练「看图识病」的教学资源,在全世界内科、皮肤科、急诊科医生里有稳定的读者群。二十余年下来,这个栏目积累了一千多道经过编辑审核的题——正好构成一个时间跨度极长、专科极分散、难度贴近临床的题库。

0.2 这个基准的三层回答

第一层是汇编:把 1,063 道公开题逐期抓取、结构化,统一成 id / date / url / context / options / image_url / canary 七列,图像以原始 CDN 外链方式保留,不复制副本。第二层是双场景:同一批题,一次给选项(MCQ,精确匹配),一次不给选项(开放作答,LLM 裁判)。第三层是反污染:每题嵌 canary 串,评测时可按模型知识截止日做时间过滤,只看模型训练数据里不可能见过的题。

三层叠起来得到的结论很干净:选择题上最好的模型能到 90.9%,一旦撤掉选项,同一个模型只剩 57.6%;六个不同厂商的模型,落差全部落在 +29.8 至 +34.3 个百分点之间。作者由此主张:选择题分数测的是「在五个候选里认出正确答案」的能力,开放作答分数才更接近「从零说出正确答案」的能力——后者才是临床推理。

0.3 为什么把它收进千方病案医数集

库内已有多条医学 VQA 基准(VQA-RAD、SLAKE、PathVQA、PMC-VQA、OmniMedVQA、ReXVQA、MicroVQA)与考试型基准(MedQA、MedXpertQA)。NEJM-Bench 与它们的关系可以这样定位:

  • 与 VQA-RAD/SLAKE/PathVQA 这类「放射/病理影像 + 模板问答」相比,NEJM-Bench 的题面是真正的临床情景叙述,专科覆盖 46 类,且时间跨度二十年;
  • 与 MedQA/MedXpertQA 这类「考试题」相比,NEJM-Bench 的题目必须看图,纯文本模型无法作答;
  • 与 OmniMedVQA/ReXVQA 这类「拼装型大基准」相比,NEJM-Bench 只有 1,063 题,体量小得多,但题源单一、信度来源清楚。

换句话说,它是库内**「小而信、跨专科、时间跨度长」**这一类基准的代表。它同时也是一份「反面教材」:没有论文、没有许可、没有答案键,三项缺失让它无法成为任何严肃模型发布时的主张依据,只能作为教学与自查工具。这种「题材极佳、工程极轻」的对照,正是本条目要完整记录的原因。

0.4 三分钟读完的骨架

你想知道 看哪节 一句话答案
题目长什么样 §1 Q1-Q3 一张病例图 + 一段病史 + 五选一
有多少题、跨多久 §2.1 1,063 题,2005-10 至 2026-04
专科怎么分布 §2.4 三标签制,46 个标签,皮肤与放射最多
答案在哪 §6.2 不在公开版里,需私有 key
模型考多少分 §5.1 MCQ 72.1%-90.9%;开放作答 40.6%-57.6%
为什么落差 30pp §5.2 选项把「回忆」降级成「识别」
能不能复现 §6.4 题面可复现,分数不可独立复算
有什么坑 §10 九个坑,首坑是「没答案键」

0.5 与十八个月前同类基准的一句话对照

把 NEJM-Bench 放进时间序列里看更清楚:2021 年的 SLAKE 解决的是「有没有中英双语的医学 VQA」;2023 年的 OmniMedVQA 解决的是「能不能把 12 种影像模态拼成一个足够大的测试集」;2025 年的 MedXpertQA 解决的是「能不能用考试题压出专家级推理的差距」;2026 年的 NEJM-Bench 则把问题换了个方向——不问「会不会」,而问「离开了选项还剩下多少」。前三者都在扩大「测什么」,它缩小到「怎么测」,这是一个从广度转向形态的方法学信号。

这个转向的价值在数字上非常直观:如果只看 MCQ,NEJM-Bench 的 90.9% 会被轻松解读为「视觉诊断已接近人类青年医生」;加上开放作答一栏,57.6% 立刻把结论拉回到「还差得远」。同一批题、同一批模型,一句话的差别(给不给选项),就是三十个百分点的差别。基准设计的力量,往往就藏在这种「问法」里。

0.6 读者使用本条的三种姿态

  • 核对型读者(想验证我们写得对不对):直奔附录 C 证据链与附录 K 冲突登记表,每条硬数字都标了来源与抓取方式;
  • 使用型读者(想拿它做评测):直奔 §6 获取、附录 F 代码骨架、附录 O 命令速查,注意坑 1(图像外链)与坑 2(无答案键);
  • 研究型读者(想引用它的结论):直奔 §5 结果、§7 三条结论、§8 方法学评价,务必连读 §7.4「与人类基线的距离」——本基准没有人类基线。

三种姿态对应三种读法,不必从头读到尾。本条目刻意把「可直接用的部分」(代码、命令、判断树)放在附录,把「需要判断的部分」(口径冲突、混杂因素、质量评价)放在正文,就是为了让使用型读者能跳过争议、研究型读者能直面争议。

§1 基准速览:十问十答

Q1:NEJM-Bench 的一道题长什么样?
每行一条记录,七个字段。以 2005-10-13 的首题为例:context 只有一句「What is the diagnosis?」(诊断是什么?),options 是 A-E 五个诊断名(Left facial palsy / Cavernous sinus thrombosis / Orbital lymphoma / Herpes zoster ophthalmicus / Orbtial fracture),image_url 指向 csvc.nejm.org 上的一张病例图,url 指向 NEJM 原栏目页,date 是 2005-10-13。题目本身不含正确答案,正确答案只在私有答案键与 NEJM 原站的解析页里。

Q2:「Image Challenge」是什么栏目?
NEJM 的周更互动栏目:编辑挑选一个真实病例,给出一张(或一组)临床图像与一段病史摘要,配五个候选诊断,读者点击作答后显示正确项、正确率分布与一段专家解析。它既是继续医学教育(CME)素材,也是全球临床医生训练「模式识别」的日常练习。

Q3:为什么题目大多带年龄性别?
实测 1,063 例中有 571 例(53.7%)含「N-year-old」年龄短语(其中 536 例为「数字+year-old」形式),487 例含「man」、206 例含「woman」,还有 boy/girl/infant 等。这与栏目风格一致:病史第一句通常就是「一位 37 岁女性,因……就诊」。这类人口学线索在开放作答时有时足以把鉴别诊断收窄到两三个方向,是评测中需要单独分析的混杂因素(见 §8.3)。

Q4:题量 1,063 是怎么来的?
栏目自 2005-10-13 起每周一期,逐期抓取全部公开可见的题。按年实测:2006-2025 年每年 50-53 例(多数年份 52 例,即全年 52 期),2005 年 12 例(10 月开栏起)、2026 年 14 例(截至 4 月 2 日)。合计 1,063 例,与 HF num_examples 完全一致。

Q5:为什么公开版没有答案?
HF 数据集卡原文:答案键不在本次公开发布中,本数据集仅用于模型推理,计分需要单独的私有 key 文件。GitHub README 补充:答案键既不给模型,也不发往任何外部 API。这样设计是为了让「谁在自己机器上跑分」这件事本身不会带来答案泄漏风险——但也直接导致外部无法独立复算官方分数。

Q6:两种评测场景具体怎么问?
场景 1(MCQ):输入 = 图 + 情景 + 五个选项,输出 = 一个字母,精确匹配计分。场景 2(开放作答):输入 = 图 + 情景(无选项),输出 = 自由文本诊断;由本地部署的 Qwen3.5-27B 判断与金标准是否「临床等价」,接受同义词与等效表述。

Q7:什么叫「选项打乱」和「训练截断」?
选项打乱:每道题的 A-E 顺序按固定随机种子重排,避免模型记住「正确答案常是 C」这类位置偏置。训练截断:每个模型有官方公布的知识截止日,评测时只保留发布日期晚于该日的题(31-61 例/模型),这些题模型在训练时不可能见过,可视为干净的分布外样本。

Q8:canary 串是干什么的?
canary 串是一段刻意嵌入数据的唯一标识(本数据集为 nejm-bench:f47b2e91-3da0-4c8e-b61f-09a7d5c3e284),1,063 行逐行复制。如果某个模型在提示补全时能复现这段串,就说明它训练时见过这份数据。这是数据污染检测(contamination detection)的常用手段,比事后测准确率更直接。

Q9:1,063 题多不多?
对一个「每周一期」的栏目而言,这是二十年的全部积累;对一个现代基准而言,这是小体量。参照库内条目:MedQA 约 1.2 万题、OmniMedVQA 约 12 万题、PMC-VQA 约 28 万题。1,063 题的统计功效有限——单题差异约 0.094 个百分点,模型间 1pp 的差距只相当于十来道题,因此官方用两次独立跑取均值±标准差来压噪(实测最大跑间差 1.3pp)。

Q10:这个基准适合我做什么、不适合做什么?
适合:模型上线前的「人类水平」自查、开放作答能力的横向对比、专科难度阶梯研究、污染检测方法演示。不适合:作为模型发布的唯一主张依据(无同行评议)、作为临床诊断准确率的估计(题源是有教学意图的精选病例,非连续门诊样本)、作为长尾/罕见病能力的证明(见 §8.3)。

§2 数据构成与规格

2.1 规模、时间跨度与年度节奏

NEJM-Bench 的公开部分是一个 Parquet 文件:data/train-00000-of-00001.parquet,334,277 字节,1,063 行 × 7 列。全部内容解压后 654,942 字节——不到 0.7 MB。这是本条目第一个反直觉之处:一个覆盖二十年、横跨 46 个专科的多模态基准,其「数据本体」的重量还不如一张普通手机照片。原因很简单:图像不在包里,每条记录只存一个指向 NEJM 图像服务的 URL。

时间结构上,它的节奏高度规整。按年统计:

年份 题数 年份 题数 年份 题数 年份 题数
2005 12 2011 52 2017 52 2023 52
2006 52 2012 52 2018 52 2024 52
2007 50 2013 52 2019 52 2025 52
2008 51 2014 50 2020 53 2026 14
2009 53 2015 52 2021 52 — —
2010 52 2016 52 2022 52 — —
  • 完整年份(2006-2025)平均 52.3 题/年,中位数 52,最低 50(2007、2014)、最高 53(2009、2020);
  • 2005 年从 10 月 13 日起算,当年只有 12 题(10 月 3 题、11 月 4 题、12 月 5 题);
  • 2026 年截至 4 月 2 日只有 14 题(1 月 5、2 月 4、3 月 4、4 月 1),4 月尚未跑满,说明抓取快照冻结在 2026 年 4 月初;
  • 2006-2025 年月均 4.32 题,即每 7 天一期、每期一题的周更节奏,二十年几乎没有中断。

按月的完整分布另存于附录 E。值得一提的是若干「缺期」月份:2008-11 与 2014-09 各只有 3 题,说明某些周栏目未更新(假期或编辑安排),这些空缺是栏目本身的节奏,而非抓取遗漏——因为每一行的 url 的 ci 参数与 image_url 的 IC 编号、date 三者逐行严格一致(1,063/1,063 全部吻合),不存在错位补录的痕迹。

2.2 字段结构:七列逐项解剖

字段 类型 实测特征 使用建议
id string UUID v4,36 字符,1,063 个全唯一;官方称「stable UUID」 作为主键关联答案键与评测结果;不要用 date 当主键(虽然本快照内 date 唯一)
date string YYYY-MM-DD,2005-10-13 至 2026-04-02,唯一 训练截断过滤的唯一依据;与 ci 编号一致
url string https://www.nejm.org/image-challenge?ci=YYYYMMDD,唯一 回溯原始题面、解析与读者正确率;需订阅或登录
context string 题干,22-1,236 字符,均值 225.2、中位数 138,唯一值 833 直接作为 prompt 的病史段;234 例长度 ≤40 字符(多为裸问句)
options list<struct> 1,063 行全部恰为 5 项,键序恒为 A→E,无题内重复 需自行打乱顺序以控制位置偏置;选项文本最长 96 字符

分表续:

字段 类型 实测特征 使用建议
image_url string https://csvc.nejm.org/ContentServer/images?id=ICYYYYMMDD&width=1500&height=4000,唯一 图像必须现场下载;接口可能限速,建议加本地缓存
canary_string string 单值 nejm-bench:f47b2e91-3da0-4c8e-b61f-09a7d5c3e284,1,063 行完全相同 记录进自建评测日志;用于污染检测与来源追溯

options 是唯一一个嵌套结构列:list<struct{key:string, text:string}>。1,063 行全部为长度 5 的列表,键依次为 A、B、C、D、E,无一例外。这意味着选项数量本身不是变量——没有 4 选 1 或 6 选 1 的题,随机基线恒为 20%,跨题比较准确率时不需要按选项数归一化。

2.3 题干文本:从「一句话」到「一段病历」

题干长度分布极不均衡:最短 22 字符,最长 1,236 字符,均值 225.2,中位数 138,标准差 211.5。四分位点(25%/50%/75%)分别为 57/138/356.5 字符。这反映栏目本身的演化:

  • 早期(2005-2014)以裸问句为主:What is the diagnosis? 这一句原样出现在 198 例中,且这 198 例的年份分布高度集中——2007 年 26 例、2011 年 28 例、2009 年 26 例,到 2015 年只剩 2 例,此后不再出现;
  • 中期(2015 前后起)题干变长:逐步加入年龄、性别、主诉、病程、既往史、用药史甚至实验室数值;
  • 最长 1,236 字符的题目已接近一段完整病历摘要,模型必须在长文本中定位关键线索。

一个容易被忽略的语言学细节:全部 1,063 题的题干都以问号结尾(? 收尾比例 100%)。这在做提示工程时很有用——题干本身就是完整问句,不需要额外补「请回答」。

否定型与排除型问题极少:真正的「EXCEPT / NOT / least likely / least common」类题目只有 11 例(约 1.0%)。这一点与很多医学考试基准(如 MedQA 中大量「以下哪项最不可能」)形成鲜明对比,也是 NEJM-Bench 分数偏高的原因之一——它很少考「反向排除」,更多考「正向识别」。

2.4 专科标签:三标签制与 46 个标签

专科信息不在 HF 数据集里,而在 GitHub 仓库的 data/categories.jsonl(479,645 字节,1,063 行)。每行结构:

{"date": "2005-10-13",
 "categories": ["Ophthalmology", "Neurology", "Endocrinology"],
 "raw_response": "CATEGORIES: Ophthalmology | Neurology | Endocrinology\nREASONING: ...",
 "image_available": null, "error": null}

三个关键事实:

  1. 每例恰好 3 个标签(1,063/1,063,无例外),官方文章则表述为「最多三个」(up to three);
  2. 标签由 LLM 生成,且模型只看到与考生相同的题干与图像(不看答案),以避免标签泄漏答案;
  3. raw_response 保留了生成时的完整推理文本,image_available 与 error 两列在本快照中全为 null——即打标阶段 1,063 例无一失败。

按标签出现频次(可重复计,合计 3,189 次)实测前 20 名:

排名 专科标签 例次 占 1,063 例比例
1 Dermatology 498 46.8%
2 Radiology 331 31.1%
3 Infectious Disease 270 25.4%
4 Emergency Medicine 150 14.1%
5 Gastroenterology 148 13.9%
6 Rheumatology 146 13.7%
7 Pathology 142 13.4%
8 Pediatrics 136 12.8%
9 Ophthalmology 120 11.3%
10 Oncology 101 9.5%
11 Neurology 93 8.7%
12 Endocrinology 89 8.4%
13 Pulmonology 89 8.4%
14 Otolaryngology (ENT) 86 8.1%
15 Hematology 85 8.0%
16 Cardiology 71 6.7%
17 Orthopedics 59 5.6%
18 Oral & Maxillofacial Surgery 54 5.1%
19 Medical Genetics 48 4.5%
20 Vascular Surgery 47 4.4%

长尾共 46 个标签(完整表见附录 D),其中 Nuclear Medicine 8、Dentistry 4、Sports Medicine 3、Surgery 2、Psychiatry 2、Nutrition 2,以及仅有 1 例的 Trauma、Periodontics、Internal Medicine、Immunology, Allergy、Allergology、Uncertain。

标签体系有两个可验证的瑕疵。其一是同义重复:Immunology(41 例)与 Immunology, Allergy(1 例)并存,Allergy(22 例)与 Allergology(1 例)并存——说明打标时未做受控词表归并,同一概念被拆成了两个标签。其二是兜底类:Uncertain 1 例,说明模型对个别病例无法归类。这两点意味着 46 这个数字不代表 46 个互斥专科,做专科分层分析时需先人工合并。

2.5 与官方文章的口径逐一对照

官方解读文章给出一组专科计数:Dermatology 307 例(28.9%)、Radiology 95、Ophthalmology 91、Gastroenterology 61、Infectious Disease 60,合计覆盖 46 个专科。这与仓库实测(498/331/120/148/270)完全不同量级。三种可能的解释:

口径 Dermatology Radiology 合计 数据基础
文章正文 307(28.9%) 95 1,063 未知,疑似「主专科」单选
categories.jsonl 三标签 498(46.8%) 331 3,189 标签 每例 3 标签可重复
若按「每例最多 1 票」的粗略归一 约 498/3 = 166 约 110 — 仅作参考,不可直接换算

必须指出:498/3 ≈ 166 也远达不到 307,因此「文章口径 = 三标签除以三」的解释也不成立。最可能的解释是文章基于另一版打标结果(单选主专科),而这版结果并未随数据发布。这条冲突已写入 FACTS §9 存照,本条目在引用专科比例时一律标注口径来源,不做跨源混用。

2.6 图像:外链而非托管的三重后果

image_url 全部指向 csvc.nejm.org/ContentServer/images,参数固定为 id=ICYYYYMMDD&width=1500&height=4000。这一设计带来三重后果:

  1. 体积为零:数据集本体只剩 334 KB,分发极轻,但也意味着「下载数据集」不等于「拿到数据」,图像需要另跑一遍抓取(仓库提供 download_images.py,6,283 字节);
  2. 对齐风险为零、时效风险却很高:因为 id 直接由日期派生,图像与题面永远一一对应;但一旦 NEJM 更换 CDN 或收紧外链策略,1,063 条链接会同时失效,而数据集本身无法自我修复;
  3. 1500×4000 的固定请求参数值得警惕:这个比例(约 1:2.67)不是常见医学影像的宽高比,更像是栏目页面的窄幅展示框。实际抓下来的图像多是窄条带裁剪或多面板拼图(一张图里并排几个部位/时间点),模型必须自己理解「这是一组图」而不是「一张图」。这一点在数据集卡与官方文章中均无说明,是使用者的隐性门槛。

§3 题源与构建:三步流水线

3.1 第一步:逐期抓取

构建流程的输入是 NEJM Image Challenge 栏目页。每一期的 URL 形如 https://www.nejm.org/image-challenge?ci=YYYYMMDD,其中 ci(challenge identifier)就是期号日期。抓取两件事:题面(context + options)与图像地址(image_url)。仓库根目录的 download_images.py(6,283 字节)负责图像侧,README 提到 Playwright 是抓取器的依赖(uv run playwright install chromium),说明题面抓取遇到了需要渲染的页面。

抓取的完整性可以用两条内部一致性检验来验证:url 的 ci 与 date 一致(1,063/1,063);image_url 的 IC 编号与 date 一致(1,063/1,063)。两条都满分,说明不存在「张冠李戴」的错位记录。

3.2 第二步:结构化与去答案

抓取后的原文要转成七列结构。关键动作是去答案:NEJM 原栏目页在读者作答后才展开正确答案与解析,构建脚本只保留题面与选项,答案另存私有 key。这个「公开版去答案、私有版留答案」的双轨设计在基准里并不常见——多数医学 VQA 基准(如 SLAKE、VQA-RAD)都是题面与答案同包发布,靠「测试集不公开」来防作弊;NEJM-Bench 反过来,题面全公开、答案全隐藏。

这种设计的优点很直接:任何人都能验证题目是否真实存在、是否被篡改,因为题面与原始 URL 一一对应;缺点是任何人都无法复算分数,只能相信官方公布的私有 key 与评测日志。这是一种「透明题面、不透明评分」的取舍,与「不透明题面、透明评分」的常规做法正好相反。

3.3 第三步:LLM 打专科标签

第三步是用 LLM 给每道题打三个专科标签,写入 categories.jsonl。设计上有两点值得记录:

  • 盲打:打标模型只看到题干与图像,看不到答案,避免「先知道诊断再反推专科」;
  • 留痕:raw_response 保存了原样输出(CATEGORIES: ... | REASONING: ... 两段式),可回溯每个标签的判断理由。

盲打的好处是标签反映「题面呈现的专科属性」而不是「答案所属的专科」。例如一道以皮肤溃疡为表象、实为血管炎或感染病的题,可能同时被打上 Dermatology、Rheumatology、Infectious Disease——这恰好是真实临床的多学科重叠,也是三标签制相对于单选制的价值所在。

3.4 构建过程的三个空白

与库内多数条目不同,NEJM-Bench 的构建过程没有任何方法学文档:没有论文的方法节、没有数据字典、没有采集日志、没有标注者间一致性检验。我们能确认的只有结果的形态(七列、三标签),无法确认过程(何时抓取、抓了几轮、如何处理栏目改版、打标用的哪个模型、prompt 是什么)。这三处空白直接决定了本基准的证据等级:它是「可核验的数据集」,但不是「可复现的研究」。

§4 评测协议:两种问法、两道闸门

4.1 场景 1(MCQ):精确匹配

场景 1 是最朴素的多选题:把题干、图像、五个选项一起给模型,要求输出一个字母。

  • 输入:context(病史)+ 图像 + options(A-E);
  • 输出:一个字母(A/B/C/D/E);
  • 计分:与私有答案键的字母精确匹配,对得 1 分,错得 0 分,全卷取平均;
  • 防位置偏置:选项顺序按题打乱(README 原文为 shuffled per run with a fixed seed),因此同一道题在不同跑次里正确项可能落在不同字母上;
  • 随机基线:20%(5 选 1)。

精确匹配的好处是不需要裁判模型,分数完全确定、可复算(只要你有答案键),没有 LLM 裁判带来的额外方差。对 12 个模型-场景组合的两跑实测,最大跑间差只有 1.3 个百分点(GPT-5.4 MCQ),多数在 1pp 以内。

4.2 场景 2(开放作答):本地 LLM 裁判

场景 2 撤掉选项,只给病史与图像,要求模型直接说出诊断。

  • 输入:context + 图像(无 options);
  • 输出:自由文本诊断(可含修饰、可含多个候选);
  • 计分:由本地部署的 Qwen3.5-27B 作裁判,判断输出与金标准是否「临床等价」(clinical equivalence),接受同义词与等效表述;
  • 为什么本地:官方原文说明——本地跑裁判确保金标准从不被发往任何外部 API。

这一步的引入改变了误差结构。MCQ 的误差只来自模型;开放作答的误差来自模型 + 裁判,两者叠加。官方用两种方式压噪:

  1. 近等分翻转检验:6,649 个 case-model 对中裁判两次判定一致率 92.4%,506 次翻转中 257 次「对→错」、249 次「错→对」,几乎正好对半——说明裁判没有系统性偏好(不偏向放松也不偏向严格),翻转是随机噪声而非偏差;
  2. 两跑报告:所有结果取两次独立运行的均值±标准差。

一个必须点明的口径细节:官方文章说「五个选项」「六模型」时指的是核心评测集;benchmarks 页面后补了 Claude Opus 4.7(MCQ 81.9%),但文章里的开放作答表仍只有六个模型(Opus 4.7 的开放作答 51.4% 只出现在第三方镜像页)。因此「七个模型的 MCQ 榜」与「六个模型的开放作答榜」不是同一批受试者,横向比较时要小心(见坑 5)。

4.3 闸门一:选项打乱

位置偏置是选择题评测的老问题:如果正确答案系统性地落在某个位置(例如编辑习惯把正确答案放在 C),模型只要学会「选 C」就能拿到虚高的分数。NEJM-Bench 的处理是每跑按固定种子打乱选项,使正确项的位置在题库内近似均匀分布。

需要注意它的强度:固定种子意味着同一跑次内所有题共用一套打乱方案,而不是每题独立随机。这样做的好处是两次跑之间可以复现(同种子同顺序),坏处是如果某个种子的打乱恰好产生与模型偏好一致的分布,单跑结果会有系统性偏差。官方用两次独立跑、不同种子的方式部分缓解了这点。

4.4 闸门二:训练截断过滤

污染(contamination)是所有「用公开材料做基准」的宿命问题:NEJM Image Challenge 从 2005 年起就在网上公开,几乎可以肯定进了各大模型的训练语料。NEJM-Bench 用两道闸门应对:

  • canary 串(每题一行 nejm-bench:f47b2e91-...):用于事后检测——如果模型能复现这段串,说明训练数据里出现过本数据集;
  • 训练截断过滤(--after-date):用于事前规避——只保留发布日期晚于模型知识截止日的题。

仓库 README 给出了直接用法:

uv run eval/run_eval.py \
  --model claude-sonnet-4-6 \
  --scenario 1 \
  --after-date 2025-04-01

截断后子集的规模是 31-61 例/模型。这个量级意味着:截断后分数几乎不具统计意义——31 例里错一道就是 3.2 个百分点。官方也承认这点,在文章里特别提示 GPT-5.4 Mini 的开放作答在 31 例上两跑摆动了 22.6pp(74.2% 对 51.6%),因此截断后结果只能当「方向性信号」,不能当结论。

4.5 场景对照表

维度 场景 1(MCQ) 场景 2(开放作答)
模型可见信息 图 + 病史 + 5 选项 图 + 病史
输出形态 单字母 自由文本
计分方式 精确匹配 本地 Qwen3.5-27B 裁判
随机基线 20% 0%(理论上)
是否需要私有答案键 是 是(裁判需比对金标准)
主要误差来源 模型 模型 + 裁判
官方报告模型数 7 6(+1 见镜像)
满分模型(截至 2026-04) 90.9%(Gemini 3.1 Pro) 57.6%(Gemini 3.1 Pro)

§5 评测结果:30 个百分点的落差

5.1 全量成绩单

官方 benchmarks 页的 MCQ 全量榜(1,063 例,0-shot,temperature=0,两跑取均值±标准差):

名次 模型 厂商 配置 MCQ 准确率 跑次日期
🥇 Gemini 3.1 Pro Google default · 0-shot 90.9% ±0.1% 2026-04-14
🥈 Claude Opus 4.7 Anthropic default · 0-shot 81.9% ±0.1% 2026-04-18
🥉 Claude Opus 4.6 Anthropic default · 0-shot 80.3% ±0.1% 2026-04-14
4 Gemini 3.1 Flash-Lite Google default · 0-shot 80.2% ±0.4% 2026-04-14
5 GPT-5.4 OpenAI default · 0-shot 78.9% ±0.7% 2026-04-14
6 Claude Sonnet 4.6 Anthropic default · 0-shot 77.5% ±0.3% 2026-04-14
7 GPT-5.4 mini OpenAI default · 0-shot 72.1% ±0.3% 2026-04-14

开放作答全量榜(六模型):

模型 开放作答 MCQ 落差(pp)
Gemini 3.1 Pro 57.6% 90.9% +33.3
GPT-5.4 49.1% 78.9% +29.8
Claude Opus 4.6 47.1% 80.3% +33.2
Gemini 3.1 Flash Lite 45.9% 80.2% +34.3
Claude Sonnet 4.6 45.0% 77.5% +32.5
GPT-5.4 Mini 40.6% 72.1% +31.5

读数三点:

  1. 榜首与榜尾差 18.8pp(90.9% 对 72.1%),在 1,063 题的体量上相当于约 200 道题,差距是实的;
  2. 同一厂商内部差异比跨厂商更大:Gemini 3.1 Pro 比自家的 Flash-Lite 高 10.7pp;Claude Opus 4.7 比 Sonnet 4.6 高 4.4pp;GPT-5.4 比 mini 高 6.8pp。这说明在这类题上,定价档位比厂商选择更能解释分数;
  3. 开放作答的排序与 MCQ 不完全一致:GPT-5.4 在开放作答里排到第二(49.1%),超过 MCQ 排名更靠前的 Opus 4.6(47.1%)。也就是说「选项挑得准」与「自己说得对」是两种能力,二者并不严格同步。

5.2 核心发现:约 30pp 的「选项红利」

把两栏相减,六个模型的落差落在 +29.8 至 +34.3 之间,跨度不到 5pp,而它们的基础能力从 40.6% 到 57.6% 差了 17pp。能力差别很大,落差却几乎一样——这是本基准最重要的观察。

作者的解释是:给出选项,等于把任务从「回忆 + 识别」降级为「在五个候选里辨认」,模型不再需要从记忆中提取正确诊断名,只需要判断哪个候选与图像最匹配。这类「五选一辨认」恰好是多模态模型在预训练里反复练过的形态(大量的图文对 + 选择题式指令微调),因此表现系统性偏高。

进一步的一个推论值得记录:这个落差不是模型的缺陷,而是评测形态的属性。任何用选择题测医学能力的基准,都会给所有模型加一层大约 30pp 的「普惠加分」——它压缩了模型间的相对差距(18.8pp 在 MCQ 上,17.0pp 在开放作答上,接近),却绝对地抬高了所有人的分数,制造「已接近人类专家」的错觉。

5.3 专科难度:放射学是硬墙

在开放作答形态下,专科难度呈现一个清晰梯度。官方给出的最难五科与最易五科:

端 专科 开放作答准确率
最难 Radiology 25.7%
最易 Infectious Disease 62.7%
极差 — 37.0pp

25.7% 这个数字值得停一下:随机基线是 20%,也就是说在开放作答形态下,模型在放射学题上只比瞎猜好 5.7 个百分点。而同一批模型在感染科题上能到 62.7%——差距接近三倍。

作者给出两个解释,且相互印证:

  1. 图像复杂度:放射学题的难点不是「说出病名」,而是「在影像上定位到那个微妙的征象」(subtle spatial features)。这需要空间定位与像素级推理,而当前多模态模型的视觉编码器普遍在分辨率与细粒度上受限;
  2. 形态无关性:Radiology 在 MCQ 与开放作答两种形态下都最难——如果是「选项不够提示」导致,MCQ 上应当明显缓解,事实并非如此。因此作者主张放射学的难度是图像驱动而非选项驱动。

这个结论对临床落地有直接含义:多模态模型在皮肤、眼底、感染性疾病这类「整体形态」可辨认的图上表现尚可,但在需要「看图上的某个局部」的放射学上仍远未可用。

5.4 截断后子集:高分与高噪声并存

按各模型知识截止日过滤后的 post-cutoff 子集(31-61 例/模型):

  • MCQ 准确率普遍升到 90-98% 区间;
  • Medical AI Council 在截断后 MCQ 上达到 98.3%,与最佳单体模型完全持平;
  • 开放作答方差显著放大,GPT-5.4 Mini 两跑 74.2% / 51.6%(22.6pp 摆动,仅 31 例)。

截断后分数高得反常,两种解释都要保留:一是新近题目确实更多依赖「模型没见过的新知识」,考的是泛化;二是新近题目的图更清晰、更典型、更偏向「教科书式」表现(作者自己也提示「recent cases may skew toward visually distinctive presentations」)。在 31 例的样本上,这两种解释无法区分。

5.5 Medical AI Council:多数投票的边界

官方还测了一个简单集成:六个模型对每题投票,只计两次独立跑都一致的票。

形态 数据集 Council 个体均值 最佳单体
MCQ 全量 1,063 86.8% 82.4% 90.9%
MCQ 截断后 98.3% — 98.3%
开放作答 全量 1,063 46.4% 47.3% 57.6%

三个读数:

  1. MCQ 上投票有用但不够:council 比个体均值高 4.4pp,但仍低于最佳单体 4.1pp——「三个臭皮匠」没有赛过 Gemini 3.1 Pro;
  2. 截断后投票追平最佳:在 31-61 例的小样本上,council 与最佳单体都到 98.3%,说明小样本下天花板效应明显;
  3. 开放作答上投票有害:council 46.4% 反而低于个体均值 47.3%。作者的解释是二值投票(对/错)让弱模型有机会「以多压少」,把最强模型的正确答案投掉——这是多数投票在「答案空间开放」时的结构性缺陷。

5.6 稳定性与可复现性

指标 实测值
12 个模型-场景组合的两跑最大差 1.3pp(GPT-5.4 MCQ)
多数组合的跑间差 <1pp
两跑排序一致性 完全保持
裁判两跑一致率(6,649 个 case-model 对) 92.4%
裁判翻转总数 506 次(257 对→错 / 249 错→对)
翻转净偏差 +8(可忽略)

这组数字说明官方评测在同环境内是高度可复现的,但也仅限于此:外部复现需要私有答案键、相同的 hopper 调用参数、相同版本的裁判模型。三者缺一,分数就无法严格对齐。

§6 获取与许可:一扇敞开的门、一张缺失的许可证

6.1 三层获取路径

层 内容 入口 是否需申请 实测状态
题面 parquet(1,063 行 × 7 列) HF medicalsphere/nejm-bench 否 gated=false,实下成功,334,277 B
图像 1,063 条外链 csvc.nejm.org/ContentServer/images 否(但受 NEJM 站点策略约束) 链接格式统一,未逐条连通性测试
答案键 私有 key 文件 无公开入口 未说明 不可得,无申请表单、无条件说明
代码 评测与抓取脚本 GitHub medicalsphere/nejm-bench 否 公开,2,804 KB 仓库体积
分数 官方跑分结果 medicalsphere.ai/benchmarks/nejm-bench 否 网页展示,无原始日志下载

最小可用路径只有一行:

from datasets import load_dataset
ds = load_dataset("medicalsphere/nejm-bench", split="train")
print(ds[0]["context"], ds[0]["options"])

在沙箱环境中,如果直连 HF 受限通常需改用镜像端点;本条目核验时通过 hf-mirror.com 的 API 取得元数据并直接下载了 parquet,因此题面部分在受限网络下也可完整获取。

6.2 答案键:最关键的缺失

答案键不在公开版里,这是 NEJM-Bench 与其他医学 VQA 基准最大的结构差异。后果分三层:

  1. 无法自测:任何研究者拿到数据后,能做的只有「跑推理」,不能「算分数」。要算分数就得自己去 NEJM 原站逐题核对答案——1,063 题人工核对的成本极高,且原站部分内容需订阅;
  2. 无法审计:官方公布的 90.9%/57.6% 这些数字,外部无法用同一套答案键复算,只能选择相信或不信;
  3. 防作弊的代价:好处是任何人拿去微调都不会「顺手」把答案学进去,因为数据里根本没有答案。这一点对防止「在基准上过拟合」是实质性的。

一个务实的折中方案是:用 NEJM 原站的公开解析页自行抽取答案,构建一份本地 key(注意版权与条款约束)。但这条路径的可信度取决于抽取质量,与官方 key 的口径未必一致(尤其当原站更新过答案或接受多个等效答案时)。

6.3 许可:三处空缺

这是本条目必须明确提示的风险点:

对象 许可状态 依据
HF 数据集 无——数据集卡与 API 的 cardData 均无 license 字段 hf-mirror API 实抓
GitHub 代码 无——API license: null,/license 端点 404,仓库无 LICENSE 文件 GitHub API 实抓
上游图文 归 NEJM——「are the property of the New England Journal of Medicine」 HF 卡 Attribution 段
官方文章与榜单 未声明 页面无版权/许可声明

在缺少显式许可的情况下,按著作权默认规则应理解为「保留全部权利」。数据集卡虽然写明了上游归属,却没有给出任何允许再分发或商用的授权。这意味着:

  • 个人研究与教学使用:风险较低,但严格说仍取决于 NEJM 的条款;
  • 把图像打包再分发:风险高——数据集本身刻意不托管图像,正是回避这一点的设计;
  • 商业产品内嵌:不建议,需先取得 NEJM 授权。

库内对照:MedQA(MIT)、MedXpertQA(MIT)、microvqa 等条目均有明确许可。NEJM-Bench 是库内少见的「完全无许可」条目,这一点在 DAIMS 的 A 维度上要重扣(见附录 B)。

6.4 版本链:只有一个版本

  • HF 仓库只有 main 分支,sha 2457610eb56921727dc605c1d94dfc1d913edbed,最后一次改动 2026-05-04T22:28:06Z;
  • GitHub 仓库创建于 2026-04-06,最后一次 push 2026-05-04T22:23:29Z;
  • HF 与 GitHub 在同一天冻结,此后(至本条目抓取时点 2026-10-17)半年无更新;
  • benchmarks 页标注「v1.0」,但 v1.0 与上述 sha 的对应关系未在任何文档中说明;
  • 无 v2、无 changelog、无 revision 记录。

这意味着:如果有人今天(2026 年 10 月)想复现 4 月的分数,他拿到的数据很可能就是当时那份(因为半年没变),这一点反而是可复现性的有利条件;但反过来,如果 NEJM 栏目此后继续更新,本基准并未跟进——它是一份冻结在 2026 年 4 月的切片,不是持续更新的活体基准。

6.5 评测入口:仓库骨架

仓库结构(GitHub API 实测):

路径 大小 作用
README.md 13,102 B 总说明、场景定义、命令行参数、复现步骤
data/categories.jsonl 479,645 B 每例 3 个专科标签 + LLM 原始输出
download_images.py 6,283 B 图像抓取脚本
eval/ — 评测入口(run_eval.py)
notebooks/ — 两个分析笔记本:benchmark 结果分析、专科分布分析
scripts/ — run_scenario1.sh、run_scenario2.sh、score_s2.sh
pyproject.toml + uv.lock 519 B + 624,111 B 依赖声明与锁定(Python 3.11+,uv 管理)

两个值得记录的工程细节:

  1. 断点续跑:默认只跳过「有有效响应且无错误」的题,null 响应或记录错误的题会自动重试;传 --results-dir 可原地补跑,且会读该目录的 config.json 恢复原设置——这意味着每次跑批都有完整的参数留痕;
  2. 多跑支持:用 --seed 区分跑次(如 1/2/3),每次跑独立时间戳目录,天然支持「两跑取均值」的报告方式。

6.6 复现的四个必要条件

想把官方分数严格复现,需要同时满足:

条件 是否公开 说明
私有答案键 否 无申请入口
hopper 推理库 是 medicalsphere/hopper,README 说明评测全部经其调用
具体调用参数 部分 temperature=0、0-shot 已公开;max_tokens、图像预处理细节未公开
裁判模型版本 部分 Qwen3.5-27B 型号已公开,但 revision/量化版本未固定

四条里第一条就断了,因此严格复现不可能。能做的是「近似复现」:用自建答案键 + 同型号裁判,得到与官方同量级但不可能完全对齐的分数。

§7 关键发现与解读:三条可迁移的结论

7.1 结论一:选择题分数是「普惠加分」

观察 数据
六个模型的 MCQ-开放作答落差 +29.8 至 +34.3pp
六个模型的基础能力跨度 40.6% 至 57.6%(相差 17pp)
落差跨度 4.5pp

落差几乎与能力无关,说明它不是「强模型更能利用选项」的产物,而是任务形态对所有模型的统一加成。这在方法学上有一个很强的推论:不同的医学选择题基准之间的分数不可直接横比——5 选 1 与 10 选 1 的选项红利不同,带图与不带图的红利也不同。用 NEJM-Bench 的 90.9% 去比 MedQA 的四选一分数,两者测的不是同一件事。

7.2 结论二:放射学是当前多模态模型的共同天花板

依据 内容
开放作答 Radiology 25.7%,是所有专科最低
MCQ Radiology 同样最难
解释 图像复杂度(需定位微小空间征象),非选项可得性
推论 提升路径在视觉编码器的分辨率与细粒度定位,而非语言侧知识注入

这个结论与库内多条放射学基准(VQA-RAD、SLAKE、ReXVQA)长期显示的低分现象一致,可互相印证。

7.3 结论三:多数投票在开放作答上失效

形态 Council 相对个体均值 机制
MCQ +4.4pp(有用) 正确答案唯一,弱模型答错方向随机,多数可纠偏
开放作答 −0.9pp(有害) 二值判定下,弱模型的「似是而非」答案可压倒强模型的精确答案

这条对做「多模型会诊」(如临床决策支持里让多个模型投票)的人有直接警示:投票的前提是答案空间封闭。一旦答案要自由生成,投票反而会稀释最强模型的判断。

7.4 与「人类基线」的距离

官方没有报告人类基线。这是本基准的第二个大缺口:读者看到 90.9% 时无法判断「这是否超过医生」。NEJM 原站栏目页实际上给出了每期读者(多为临床医生)的正确率分布,理论上可以汇总成人类参照,但官方未做此事,也未在文章中提及。因此本条目拒绝给出任何「接近/超过人类专家」的推论——缺乏基线时,这类推论没有依据。

§8 方法学评价:一份好题目、一套薄工程

8.1 优势:三个「别人做不到」

第一,题源的专家信度是天然的。 医学基准最贵的东西不是数据量,而是「这道题的答案专家认可」。NEJM 的编辑流程保证了每道题的图像典型、病史自洽、五个选项互斥且都有一个「看起来对」的干扰项。作者不需要自己组织专家标注,只要把栏目抄下来——这是几乎所有自建基准都羡慕的成本结构。

第二,时间跨度带来天然的分布外集合。 二十年、1,063 道题,天然包含「模型训练前」与「训练后」两个时区。只要知道模型的知识截止日,就能切出一个干净的分布外子集。这是很多 2024 年后才建成的基准无法具备的。

第三,双场景设计把「会考」与「会诊」分开测。 同一批题两种问法,得到的是同一批知识的两种调用方式,比两个独立基准之间的横比要干净得多。这 30pp 的落差本身就是一个可迁移的方法学发现。

8.2 短板:四处「工程欠账」

欠账 具体表现 影响
无同行评议 无 arXiv、无论文、无会议投稿 结论无外部方法学审查,只能自证
无许可 数据集与代码均无 license 无法合规再分发,商用无据
无答案键公开通道 无申请入口、无条件说明 外部无法复算分数
无人类基线 未汇总原站读者正确率 无法回答「是否超过医生」
无专科标签归并 46 个标签含同义重复与 Uncertain 专科分层分析需人工清洗
无模型广度 仅 7 个闭源模型,无开源/医学专用 结论不能推广到全部模型

8.3 五个需要单独控制的混杂因素

  1. 人口学提示:53.7% 的题干含年龄短语、大量含性别。开放作答时,这些线索本身就能把鉴别诊断收窄。要判断模型是「看图」还是「看字」,需要做「去人口学」的消融(例如把年龄性别替换为占位符);
  2. 图像质量的时代漂移:2005 年的扫描图与 2025 年的高清图差别很大。跨年比较时,模型分数的提升可能部分来自图像质量提升,而非能力提升;
  3. 专科不均衡:Dermatology 一个科就占近半(三标签口径 46.8%)。整体准确率实际上被皮肤科主导,专科结论必须分科看;
  4. 选项文本的跨题复用:全库 5,315 个选项中只有 3,390 个不同文本,Sarcoidosis 出现 38 次、Psoriasis 33 次、Syphilis 32 次。这意味着模型可能靠「这个词在这类图里常出现」的先验得分,而非真正识别病灶;
  5. 近因效应:最新题目(2025-2026)的视觉呈现更精致、更「教科书」,可能与早期题目的难度不同,截断后子集的高分有一部分来自这一点。

8.4 与库内医学 VQA 基准的横向对照

维度 NEJM-Bench VQA-RAD(240) SLAKE(250) OmniMedVQA(290) MedXpertQA(818)
题量 1,063 题 315 图 / 3,515 问答对 642 图 / 14,028 条 118,010 图 / 127,995 题 4,460 题
图像来源 NEJM 病例图(外链) 放射学影像 放射/病理影像 多源公开数据集 考试题 + 临床信息
题面形态 临床情景 + 五选一 短问句 中英双语问句 短问句(封闭/开放) 专家级多选题
答案公开 否 是 是 是 是(测试集标签可评)
许可 无 有 有 有 MIT
专科学科化评测 有(46 标签) 无 有(器官/模态) 有(模态) 有(17 专科)
同题双形态 有(MCQ/开放) 部分 部分 有 部分
人类基线 无 有 有 无 有

这张表里 NEJM-Bench 的独特性很清晰:双形态同题是它唯一在库内不可替代的设计;答案不公开与无许可是它唯二明显落后于同侪的地方。

8.5 可用于库内的三条经验

  1. 「同题双形态」应当成为医学问答基准的标配:任何只报单选准确率的医学基准,都应补一栏开放作答分数,否则分数会被选项红利系统性放大;
  2. 「公开题面 + 私有答案」是一种可考虑的防泄漏设计:它让题面可审计、答案不可偷。代价是无法复算,适合「一次性的榜单型基准」,不适合「长期演进的社区基准」;
  3. 「canary 串 + 截断过滤」双闸门应当写进数据卡:NEJM-Bench 把这两件事都做了,且都在 README 里写清用法——这一点值得库内其他有污染风险的图文基准(尤其公开来源的 VQA)借鉴。

§9 与库内条目的关系

9.1 家族定位

NEJM-Bench 在库内的位置可以这样描述:

  • 上游:无(它不派生自任何库内数据集,唯一上游是 NEJM 栏目);
  • 同层:vqa-rad(240)、slake(250)、pathvqa(260)、pmc-vqa(270)、vqa-med(280) —— 均为「影像 + 短问句」的医学 VQA,但都是多选题或简答,且答案公开;
  • 跨层:medqa(50)(执照考试纯文本)、medxpertqa(818)(专家级多选题,含多模态子集)、pubmedqa(49)(文献问答)—— 都是「知识型」基准,NEJM-Bench 与之互补的是「看图型」;
  • 下游:暂无(无公开的衍生数据集)。

9.2 检索路径建议

你的目的 建议路径
找医学多模态评测题 NEJM-Bench → omnimedvqa(290) → rexvqa(729) → slake(250)
找专科分层能力评测 NEJM-Bench(46 标签)→ medxpertqa(818)(17 专科)
找皮肤科视觉基准 derm7pt(110) → derm12345(742) → derm1m(783) → NEJM-Bench(皮肤占近半)
找放射学视觉基准 vqa-rad(240) → slake(250) → rexvqa(729) → NEJM-Bench(放射学最难)
找污染检测方法 NEJM-Bench(canary + 截断)→ 库内其他含 canary 的条目

9.3 互链声明

本条目的 frontmatter relatedLink 一律使用占位 URL https://www.qianfanghub.com/ai-ready-dataset/<slug>/0,具体 rid 由主会话在入库后统一回填(遵循 R018 教训:写手不猜测同批条目的 rid)。建议回填的库内条目及其实测 rid 如下:

条目 rid 互链理由
vqa-rad 240 同为放射学医学 VQA,可作「短问句 vs 临床情景」对照
slake 250 同为多专科医学 VQA,可作「答案公开 vs 私有」对照
pathvqa 260 病理图像问答,专科互补
pmc-vqa 270 大规模图文问答,体量对照
vqa-med 280 年度评测基准,历史对照
omnimedvqa 290 拼装型大基准,体量对照
rexvqa 729 胸片 VQA,放射学难度对照
microvqa 815 显微成像多模态推理,同为「小而专」基准
medxpertqa 818 专家级多选题,同为「考知识」型
medqa 50 医学执照考试,纯文本对照
derm7pt 110 皮肤科基准,NEJM-Bench 第一大专科的专职对照

§10 避坑清单:九个已踩过的坑

坑 1:以为下载完 parquet 就有数据了。
数据集包里只有题面与选项,图像全是外链。必须先跑一遍 download_images.py 或用自写脚本按 image_url 抓取 1,063 张图,否则任何多模态评测都跑不起来。抓取时注意 NEJM 站点可能有速率限制,建议串行 + 本地缓存。

坑 2:到处找答案键。
公开版没有答案键,也没有申请通道。看到别人报出 90.9% 这类分数时,那是官方用私有 key 跑出来的,你无法用自己的数据复算。想自测只能自己从 NEJM 原站抽答案,且口径未必与官方一致。

坑 3:把 2,126 cases 当成题量。
官方 benchmarks 页写「2,126 cases」,这是1,063 题 × 2 个场景的相加,不是 2,126 道不同的题。数据集本身是 1,063 例。检索与引用时务必写 1,063。

坑 4:用官方文章的专科比例做分层分析。
文章写 Dermatology 307(28.9%)、Radiology 95,而仓库 categories.jsonl 实测是 498、331。两套口径差三倍以上,且文章口径的数据未发布。做分层分析请用 categories.jsonl,并在文中标注「三标签口径」。

坑 5:把 7 个模型的 MCQ 榜与 6 个模型的开放作答榜当成同一批受试者。
Claude Opus 4.7 是 2026-04-18 后补的,只有 MCQ 81.9% 进了官方榜;它的开放作答 51.4% 只出现在第三方镜像页。做跨形态比较时,要么只用 6 个共同模型,要么明确标注缺失项。

坑 6:把截断后子集的 98.3% 当成「模型真的会」。
截断后子集只有 31-61 例/模型,98.3% 意味着错不到 1 道题。在这么小的样本上,任何单个模型的波动都能让排名翻转(GPT-5.4 Mini 开放作答两跑就摆了 22.6pp)。截断后结果只能当方向性参考。

坑 7:以为「无 license」等于「随便用」。
HF 卡与 API 都没有 license 字段,GitHub 也没有 LICENSE。按著作权法默认规则,这是「保留全部权利」而不是「公有领域」。上游图文版权归 NEJM,进一步加重了风险。研究自用与再分发/商用要分开判断。

坑 8:把图像当成「一张图」。
image_url 的参数固定为 width=1500&height=4000,实际抓下来的多是窄条带或多面板拼图(同一病例的多个部位/多个时间点并排)。直接送进只接受单图、且会做中心裁剪的视觉编码器,会丢掉关键面板。预处理时建议先做面板切分。

坑 9:以为它是「活体基准」。
HF 与 GitHub 都在 2026-05-04 冻结,此后半年无更新;数据截至 2026-04-02。NEJM 栏目仍在每周更新,但 NEJM-Bench 没有跟进——它是一份冻结切片,不是持续增长的基准。引用时要写清「截至 2026 年 4 月」。

§11 总结与适用性判断

11.1 三句话总结

  1. NEJM-Bench 把《新英格兰医学杂志》二十年的 Image Challenge 栏目做成 1,063 道五选一题,公开题面、隐藏答案、图像外链,是一份题源极佳、工程极轻的医学多模态基准。
  2. 它最有价值的发现是那条稳定的 30pp 选项红利:给选项让所有模型都涨三成,撤掉选项同一批模型立刻掉到 40-58%,说明选择题分数被系统性高估。
  3. 它的主要短板同样清楚:无论文、无许可、无答案键、无人类基线——可以当自查工具,不能当学术主张的依据。

11.2 适合谁

角色 用法
多模态模型开发者 上线前做「开放作答」自查,重点看与 MCQ 的落差是否异常大
临床推理研究者 用 46 个专科标签做难度阶梯分析,重点研究放射学
数据科学家 作为「污染检测 + 截断过滤」的范式案例,学习 canary 与 after-date 用法
医学教育者 作为教学题库的可审计副本(注意 NEJM 版权)

11.3 不适合谁

角色 原因
需要发布官方主张的模型团队 无同行评议,无法作为权威依据
需要合规商用的产品团队 无许可,上游图文版权归 NEJM
需要大规模训练数据的研究者 1,063 题、334 KB,体量极小,且无答案
需要连续监测的榜单运营者 已冻结,不随栏目更新

11.4 30 秒决策卡

  • 想要题:HF 一行 load_dataset,1,063 题立即可得。
  • 想要图:自己抓,1,063 条外链,注意限速与多面板。
  • 想要分:拿不到答案键,只能看官方榜或自建 key。
  • 想要许可:没有,研究自用可以,商用需谈 NEJM。
  • 想要结论:记住 90.9%/57.6% 与 30pp 落差,其余数字按样本量打折看。

FAQ(高频问答 24 问)

A. 基础认知

A1:NEJM-Bench 和 NEJM 官方有关系吗?
没有。组织方 Medical Sphere 在官方文章的文末明确声明:NEJM-Bench 是独立评测,与《新英格兰医学杂志》无隶属关系。题目来自公开栏目,但基准本身是第三方整理的。

A2:它是「数据集」还是「基准」?
两者都是。作为数据集,它是 1,063 行 × 7 列的结构化题目表;作为基准,它附带一套评测协议(MCQ + 开放作答)、一份私有答案键与一份公开榜单。库内把它归入「医学问答与基准」类,与 VQA-RAD、slake、medxpertqa 同类。

A3:它有没有论文?
没有。这是本条目最重要的核验结论之一:三轮检索(HF、GitHub、官方站、通用搜索、论文镜像)均未找到 arXiv 预印本或期刊论文,唯一的「方法说明」是官方站上的两页内容(benchmarks 页与 articles 页)。引用时应引 HF 数据集而非论文。

A4:为什么 NEJM 的题可以做基准?
因为栏目本身有强质量控制:每道题的图像是真实病例(去标识化)、病史是编辑撰写的、五个选项覆盖主要鉴别诊断、正确答案有专家解析。它本来就是全球临床医生的训练材料,用它做基准,等于借用了几十年积累的专家审校劳动。

A5:1,063 题够用吗?
看用途。做「大模型医学能力的大致画像」够用;做「模型间细微差异的排序」不够——单题 0.094pp,1pp 的差距只有十来道题,统计上不可分。官方用两跑取均值来压噪,但样本量本身没变。

B. 数据与获取

B1:怎么下载?
load_dataset("medicalsphere/nejm-bench", split="train"),或直接下 data/train-00000-of-00001.parquet(334 KB)。HF 仓库无需申请(gated=false)。

B2:图像要另外下吗?
要。数据集不含任何图像字节,只存 image_url 外链。需要自己按 URL 抓 1,063 张,仓库提供了 download_images.py。注意 NEJM 站点可能有速率限制。

B3:答案键能申请到吗?
目前无公开申请通道。HF 卡只说「scoring requires a separate private key file」,没有说如何获取,也没有联系邮箱。这是本条目无法解决的疑点(见 FACTS §9)。

B4:专科标签在哪?
不在 HF 数据集里,在 GitHub 仓库的 data/categories.jsonl。每个病例 3 个标签,另带 LLM 的原始推理文本。

B5:能商用吗?
不建议。数据集与代码都没有 license,上游图文版权归 NEJM。商用前必须与 NEJM 谈授权,与 Medical Sphere 无许可可谈。

B6:有中文版吗?
没有。全部题面为英文(HF language: en),无翻译版本。

C. 评测协议

C1:MCQ 怎么计分?
答字母,与私有答案键精确匹配,全卷平均。选项按固定种子打乱,避免位置偏置。

C2:开放作答怎么计分?
本地部署 Qwen3.5-27B 作为裁判,判断模型输出与金标准是否「临床等价」,接受同义词与等效表述。

C3:为什么开放作答分数这么低?到底低多少?
两个原因叠加:一是没有选项提示,模型必须自己回忆出正确诊断名;二是裁判对「临床等价」的判断有一定严格度。官方用翻转近等分(257 对 249)证明裁判没有系统性偏严。实测落差约 30pp:Gemini 3.1 Pro 从 90.9% 掉到 57.6%,GPT-5.4 Mini 从 72.1% 掉到 40.6%。

C4:截断过滤怎么用?
--after-date YYYY-MM-DD,只跑发布日期晚于该日的题。各模型截断后只有 31-61 例,样本极小,结果只作方向参考。

C5:canary 串怎么用于检测?
把 nejm-bench: 作为补全前缀喂给模型,若模型能续写出 f47b2e91-3da0-4c8e-b61f-09a7d5c3e284,说明训练数据里出现过本数据集。

C6:为什么用「本地」裁判?
因为开放作答需要把金标准答案喂给裁判做比对。若调用外部 API 裁判,等于把答案键发给第三方——本地部署是唯一能守住「答案不外流」的做法。

D. 结果解读

D1:90.9% 算高吗?
在没有人类基线的前提下无法判断。5 选 1 的随机基线是 20%,90.9% 显然远高于随机;但「医生平均能考多少」官方没报,所以不能说「接近/超过医生」。

D2:为什么 Gemini 3.1 Pro 领先这么多?
官方没有给原因分析。可以观察到的是它同时在 MCQ(90.9%)与开放作答(57.6%)上领先,落差(+33.3pp)与其他模型接近——说明它的优势是全面性的,不是单纯「更会做选择题」。

D3:Medical AI Council 值得学吗?
MCQ 上值得(+4.4pp),开放作答上不值得(−0.9pp)。机制是:答案空间封闭时投票能纠偏,答案空间开放时投票会稀释最强判断。

D4:放射学为什么这么难?
官方解释是「图像复杂度」——需要定位微小空间征象。这个解释有一个强证据:Radiology 在 MCQ 与开放作答两种形态下都最难,排除了「选项不够提示」的解释。

D5:截断后 98.3% 可信吗?
不可直接引用。31-61 例的样本上,98.3% 意味着错误只有 0-1 题,置信区间极宽;同一模型两跑摆动可达 22.6pp。只能作为「新题上也没有明显崩」的方向性证据。

E. 与其他基准的关系

E1:和 MedQA 有什么区别?
MedQA 是纯文本的医学执照考试题(四选一),考的是知识记忆;NEJM-Bench 每题必须看图,考的是「看图识病」。二者互补,不能相互替代。

E2:和 MedXpertQA 有什么区别?
MedXpertQA 是专家级推理题(4,460 题,10 选 1 / 5 选 1),部分多模态,有论文与 MIT 许可;NEJM-Bench 是纯图像题,1,063 题,无许可无论文。前者适合「考推理」,后者适合「考识图」。

E3:和 VQA-RAD / SLAKE 有什么区别?
VQA-RAD 与 SLAKE 是「短问句 + 影像」的 VQA 形态,答案是词或短语,题库公开且答案公开;NEJM-Bench 是「临床情景 + 五选一」,答案是字母,答案不公开。前者适合训练,后者适合评测。

E4:和 OmniMedVQA 有什么区别?
OmniMedVQA 是拼装型大基准(118,010 图 / 127,995 题),体量是 NEJM-Bench 的一百倍以上,但题源杂、来源多;NEJM-Bench 体量小但题源单一、信度来源清晰。前者测广度,后者测信度。

E5:这个基准会更新吗?
截至 2026-10-17,HF 与 GitHub 都自 2026-05-04 起冻结,半年无更新。NEJM 栏目仍在更新,但基准没有跟进。使用时应把它视为「截至 2026 年 4 月的冻结切片」。

F. 复现与工程

F1:我能在本地跑一遍官方评测吗?
能跑推理,不能复算分数——没有答案键。可以用自建 key 做近似评测,但分数与官方不可严格对齐。

F2:跑一遍要多少钱?
官方未公布成本。参考量级:1,063 题 × 2 场景 × 7 模型 × 2 跑,接近 3 万次多模态调用,按主流 API 定价属「几千美元级」的规模。

F3:图像抓不下来怎么办?
先检查 csvc.nejm.org 是否可访问;若返回 403,可能需要在请求头带 Referer 或 UA;若持续失败,可退化为「只看题面 + 图像摘要」的弱评测,但要明确标注「非法评测」。

F4:能用它微调模型吗?
技术上可以(有题面与选项,无答案),但没有答案就无法做监督微调。若自建答案,注意版权与「污染自己未来的评测」的风险。


事实清单(硬事实 34 条)

  1. 全称:NEJM-Bench: NEJM Image Challenge Benchmark;slug:nejm-bench。
  2. 组织方:Medical Sphere(独立评测机构,GitHub org medicalsphere,org id 232501456)。
  3. 题源:《新英格兰医学杂志》Image Challenge 栏目,2005 年起每周一期。
  4. 规模:1,063 行(HF num_examples 与 parquet 实测一致)。
  5. 时间跨度:2005-10-13 至 2026-04-02,覆盖 247 个自然月。
  6. 年度节奏:2006-2025 年每年 50-53 题,中位数 52;2005 年 12 题、2026 年 14 题。
  7. 体积:dataset_size 654,942 B;download_size 334,277 B;无图像字节。
  8. 七列:id / date / url / context / options / image_url / canary_string。
  9. id 为 36 字符 UUID,1,063 个全唯一。
  10. url 形如 nejm.org/image-challenge?ci=YYYYMMDD,与 date 逐行一致。
  11. image_url 形如 csvc.nejm.org/ContentServer/images?id=ICYYYYMMDD&width=1500&height=4000,与 date 逐行一致。
  12. options 1,063 行全部恰为 5 项,键序恒为 A-E,题内无重复。
  13. context 长度 22-1,236 字符,均值 225.2,中位数 138,唯一值 833。
  14. 198 例题干为裸问句「What is the diagnosis?」,2015 年后不再出现。
  15. 571 例(53.7%)题干含「N-year-old」年龄短语。
  16. 否定/排除型题仅 11 例(约 1.0%)。
  17. canary 串为 nejm-bench:f47b2e91-3da0-4c8e-b61f-09a7d5c3e284,1,063 行相同。
  18. 专科标签存于 GitHub data/categories.jsonl(479,645 B,1,063 行),每例恰 3 个。
  19. 专科标签共 46 个(含同义重复与 Uncertain);按出现频次 Dermatology 498、Radiology 331、Infectious Disease 270。
  20. 官方文章的专科计数(Dermatology 307/28.9%、Radiology 95)与 jsonl 实测不一致。
  21. 公开版无答案键;官方称计分需单独私有 key。
  22. 数据集与代码均无 license;上游图文版权归 NEJM。
  23. 场景 1:MCQ,精确匹配,5 选 1 随机基线 20%。
  24. 场景 2:开放作答,本地 Qwen3.5-27B 裁判判「临床等价」。
  25. 防偏置:选项按固定种子打乱;防污染:canary + --after-date 截断过滤。
  26. 截断后子集 31-61 例/模型。
  27. MCQ 榜首:Gemini 3.1 Pro 90.9%±0.1%(1,063 例,2026-04-14 跑,两跑均值)。
  28. MCQ 榜尾:GPT-5.4 mini 72.1%±0.3%;榜首榜尾差 18.8pp。
  29. 开放作答榜首:Gemini 3.1 Pro 57.6%;榜尾:GPT-5.4 Mini 40.6%。
  30. MCQ-开放作答落差:+29.8 至 +34.3pp,六个模型几乎一致。
  31. 专科难度:Radiology 25.7%(最易 Infectious Disease 62.7%),极差 37pp。
  32. Medical AI Council:MCQ 全量 86.8%、截断后 98.3%、开放作答 46.4%。
  33. 稳定性:12 组两跑最大差 1.3pp;裁判两跑一致率 92.4%,翻转 257 对 / 249 错。
  34. 时间线:GitHub 创建 2026-04-06,HF 创建 2026-05-04,两者同日后冻结,此后无更新。

术语表(26 条)

术语 释义
Image Challenge NEJM 自 2005 年起每周一期的临床图像挑战栏目,一张病例图 + 一段病史 + 五个候选诊断
vignette 病例小传:题干中的病史摘要,通常含年龄、性别、主诉、病程、既往史
MCQ(Multiple-Choice Question) 多选题,本基准中为五选一,输出单个字母
开放作答(Open-Ended) 不给选项,模型自由输出诊断文本的评测形态
精确匹配(Exact Match) 预测字母与答案字母完全一致才计分
临床等价(Clinical Equivalence) 裁判判定标准:同义词、上位词或等效表述算对
LLM 裁判(LLM Judge) 用大模型代替人工评分,本基准为本地 Qwen3.5-27B
选项红利(Option Bonus) 给出选项带来的准确率提升,本基准实测约 30pp
位置偏置(Position Bias) 模型偏好某个选项位置(如总选 C)的倾向
选项打乱(Option Shuffling) 按固定随机种子重排 A-E 顺序以压制位置偏置
随机基线(Random Baseline) 五选一的期望准确率,本基准为 20%
知识截止日(Knowledge Cutoff) 模型训练数据的截止时间,用于切出分布外子集
截断过滤(After-Date Filtering) 只保留发布日期晚于模型截止日的题
分布外(Out-of-Distribution, OOD) 训练时未见过、能反映真实泛化的样本
污染(Contamination) 基准题目进了模型训练数据,导致分数虚高
canary 串 嵌入数据的唯一标识串,用于检测训练数据是否包含本数据集
训练-测试泄漏 训练集与评测集重叠导致的失真
统计功效 样本量支撑的结论可靠度;1,063 题下单题约 0.094pp
置信区间宽度 小样本下不确定性的度量;31 例题错 1 道即 3.2pp
0-shot 不给示例直接作答
temperature=0 解码温度设为零,尽可能确定性输出
Medical AI Council 官方测的六模型投票集成
多数投票(Majority Voting) 取多数模型答案的集成策略
两跑均值±标准差 官方报告格式:两次独立运行的均值与波动
Parquet 列式存储格式,HuggingFace datasets 的默认落盘格式
hopper Medical Sphere 的统一 LLM 推理库,评测调用入口

附录

附录 A:条目信息速查卡

项目 内容
条目名 NEJM-Bench (nejm-bench)
官方名 NEJM-Bench: NEJM Image Challenge Benchmark
组织方 Medical Sphere
数据集入口 https://huggingface.co/datasets/medicalsphere/nejm-bench
代码入口 https://github.com/medicalsphere/nejm-bench
榜单入口 https://medicalsphere.ai/benchmarks/nejm-bench
解读文章 https://medicalsphere.ai/articles/nejm-bench
推理库 https://github.com/medicalsphere/hopper
上游栏目 https://www.nejm.org/image-challenge
规模 1,063 题 × 7 列,334,277 B parquet
时间跨度 2005-10-13 至 2026-04-02
许可 无(数据集与代码均无 license)
抓取时点 2026-10-17
库内互链 vqa-rad(240)/slake(250)/omnimedvqa(290)/medxpertqa(818)/rexvqa(729)/derm7pt(110)

附录 B:DAIMS 评估全表

维度 评分(1-10) 依据
D 可发现性 7 HF + GitHub + 官方站三入口;名称独特不易混淆;扣分:无论文,学术检索命中率低,Google Scholar 无记录
A 可获取性 5 题面 gated=false 直下;但无许可、无答案键、图像需另抓——三重门槛叠加
I 可互操作 7 Parquet + HF datasets 标准;专科标签另存 JSONL 需手动 join;无图像随包,需自建缓存层
M 元数据质量 6 数据集卡字段说明齐;扣分:无 license 字段、无采集方法、专科口径冲突、image_available/error 两列全空
S 可持续性 4 HF 与 GitHub 同日冻结半年、git star 1、无维护计划、答案键无发放通道、上游 CDN 单点依赖
综合评级 5.8/10(中等) 题源质量极高(若单列「题目信度」可给 9 分),但工程与合规欠账严重拖累总分

附录 C:逐项证据链自证

关键数字 来源 抓取方式
1,063 行 / 7 列 HF parquet 全量 实下 334,277 B 后 pandas 读取
date 2005-10-13 至 2026-04-02 parquet date 列 min/max pandas
年度分布 12/52/50/51/53… parquet groupby pandas
options 全为 5 项 parquet options.apply(len) 计数验证
context 22-1,236 字符 parquet 长度统计 describe()
571 例含 N-year-old 正则匹配 str.contains
11 例否定型题 正则匹配 EXCEPT/NOT/least likely str.contains
46 个专科标签 / 3,189 次 categories.jsonl 全量 逐行 Counter
Dermatology 498 / Radiology 331 同上 同上
num_examples=1063 / download_size=334277 hf-mirror API cardData.dataset_info curl API
gated=false / createdAt / sha hf-mirror API 顶层字段 curl API
license=null / createdAt 2026-04-06 GitHub API /repos/medicalsphere/nejm-bench curl API
90.9% / 57.6% / +33.3pp 官方文章表格 WebFetch 正文提取
Radiology 25.7% / ID 62.7% 官方文章正文 WebFetch
council 86.8% / 98.3% / 46.4% 官方文章正文 WebFetch
92.4% 裁判一致率 / 506 次翻转 官方文章方法学注 WebFetch
README 克隆路径 phosseini GitHub raw README curl raw

附录 D:46 个专科标签完整频次表(categories.jsonl 三标签口径)

# 标签 频次 # 标签 频次
1 Dermatology 498 24 Urology 39
2 Radiology 331 25 Tropical Medicine 33
3 Infectious Disease 270 26 Wound Care 27
4 Emergency Medicine 150 27 Neurosurgery 25
5 Gastroenterology 148 28 Hepatology 24
6 Rheumatology 146 29 Plastic & Reconstructive Surgery 23
7 Pathology 142 30 Obstetrics & Gynecology 23
8 Pediatrics 136 31 Allergy 22
9 Ophthalmology 120 32 Critical Care 20
10 Oncology 101 33 Toxicology 19
11 Neurology 93 34 Neonatology 17
12 Endocrinology 89 35 Nuclear Medicine 8
13 Pulmonology 89 36 Dentistry 4
14 Otolaryngology (ENT) 86 37 Sports Medicine 3
15 Hematology 85 38 Surgery 2
16 Cardiology 71 39 Psychiatry 2
17 Orthopedics 59 40 Nutrition 2
18 Oral & Maxillofacial Surgery 54 41 Trauma 1
19 Medical Genetics 48 42 Periodontics 1
20 Vascular Surgery 47 43 Internal Medicine 1
21 Nephrology 44 44 Immunology, Allergy 1
22 Geriatrics 42 45 Allergology 1
23 Immunology 41 46 Uncertain 1

合计 3,189 次(1,063 × 3)。同义重复对:Immunology(41) / Immunology, Allergy(1);Allergy(22) / Allergology(1)。合并后实际互斥标签约 44 类。

附录 E:逐月题数分布(247 个月)

期间 题数 期间 题数 期间 题数 期间 题数
2005-10 3 2005-11 4 2005-12 5 2006-01 4
2006-02 4 2006-03 5 2006-04 4 2006-05 4
2006-06 5 2006-07 4 2006-08 5 2006-09 4
2006-10 4 2006-11 5 2006-12 4 2007-01 4
2007-02 4 2007-03 4 2007-04 4 2007-05 5
2007-06 4 2007-07 4 2007-08 4 2007-09 4
2007-10 4 2007-11 5 2007-12 4 2008-01 5
2008-02 4 2008-03 4 2008-04 4 2008-05 5
2008-06 4 2008-07 5 2008-08 4 2008-09 4
2008-10 5 2008-11 3 2008-12 4 2009-01 5
2009-02 4 2009-03 4 2009-04 5 2009-05 4
2009-06 4 2009-07 5 2009-08 4 2009-09 4
2009-10 5 2009-11 4 2009-12 5 2010-01 4
2010-02 4 2010-03 4 2010-04 5 2010-05 4
2010-06 4 2010-07 5 2010-08 4 2010-09 5
2010-10 4 2010-11 4 2010-12 5 2011-01 4
2011-02 4 2011-03 5 2011-04 4 2011-05 4
2011-06 5 2011-07 4 2011-08 4 2011-09 5
2011-10 4 2011-11 4 2011-12 5 2012-01 4
2012-02 4 2012-03 5 2012-04 4 2012-05 5
2012-06 4 2012-07 4 2012-08 5 2012-09 4
2012-10 4 2012-11 5 2012-12 4 2013-01 5
2013-02 4 2013-03 4 2013-04 4 2013-05 5
2013-06 4 2013-07 4 2013-08 5 2013-09 4
2013-10 5 2013-11 4 2013-12 4 2014-01 5
2014-02 4 2014-03 4 2014-04 4 2014-05 5
2014-06 4 2014-07 5 2014-08 4 2014-09 3
2014-10 4 2014-11 4 2014-12 4 2015-01 4
2015-02 4 2015-03 4 2015-04 5 2015-05 4
2015-06 4 2015-07 5 2015-08 4 2015-09 4
2015-10 5 2015-11 4 2015-12 5 2016-01 4
2016-02 4 2016-03 5 2016-04 4 2016-05 4
2016-06 5 2016-07 4 2016-08 4 2016-09 5
2016-10 4 2016-11 4 2016-12 5 2017-01 4
2017-02 4 2017-03 5 2017-04 4 2017-05 4
2017-06 5 2017-07 4 2017-08 5 2017-09 4
2017-10 4 2017-11 5 2017-12 4 2018-01 4
2018-02 4 2018-03 5 2018-04 4 2018-05 5
2018-06 4 2018-07 4 2018-08 5 2018-09 4
2018-10 4 2018-11 5 2018-12 4 2019-01 5
2019-02 4 2019-03 4 2019-04 4 2019-05 5
2019-06 4 2019-07 4 2019-08 5 2019-09 4
2019-10 5 2019-11 4 2019-12 4 2020-01 5
2020-02 4 2020-03 4 2020-04 5 2020-05 4
2020-06 4 2020-07 5 2020-08 4 2020-09 4
2020-10 5 2020-11 4 2020-12 5 2021-01 4
2021-02 4 2021-03 4 2021-04 5 2021-05 4
2021-06 4 2021-07 5 2021-08 4 2021-09 5
2021-10 4 2021-11 4 2021-12 5 2022-01 4
2022-02 4 2022-03 5 2022-04 4 2022-05 4
2022-06 5 2022-07 4 2022-08 4 2022-09 5
2022-10 4 2022-11 4 2022-12 5 2023-01 4
2023-02 4 2023-03 5 2023-04 4 2023-05 4
2023-06 5 2023-07 4 2023-08 5 2023-09 4
2023-10 4 2023-11 5 2023-12 4 2024-01 4
2024-02 5 2024-03 4 2024-04 4 2024-05 5
2024-06 4 2024-07 4 2024-08 5 2024-09 4
2024-10 5 2024-11 4 2024-12 4 2025-01 5
2025-02 4 2025-03 4 2025-04 4 2025-05 5
2025-06 4 2025-07 5 2025-08 4 2025-09 4
2025-10 5 2025-11 4 2025-12 4 2026-01 5
2026-02 4 2026-03 4 2026-04 1 — —

说明:本表为实测逐月计数,合计 1,063。多数月份 4 题、部分 5 题,取决于该月有几周(4 周月 4 题、5 周月 5 题)。三个异常低点:2008-11(3)、2014-09(3)、2026-04(1,截至 4 月 2 日)。

附录 F:MCQ 加载与评测骨架(代码)

import hashlib, json, random
import pandas as pd
import requests
from PIL import Image
from io import BytesIO

# 1) 读题面
df = pd.read_parquet("train-00000-of-00001.parquet")
assert len(df) == 1063 and df["options"].apply(len).eq(5).all()

CANARY = df["canary_string"].iloc[0]        # nejm-bench:f47b2e91-...
assert CANARY.startswith("nejm-bench:")

# 2) 抓图(带缓存,避免重复请求 NEJM CDN)
def fetch_image(url: str, cache_dir: str = "img_cache") -> Image.Image:
    key = hashlib.md5(url.encode()).hexdigest() + ".png"
    path = f"{cache_dir}/{key}"
    import os
    if not os.path.exists(path):
        os.makedirs(cache_dir, exist_ok=True)
        r = requests.get(url, timeout=30,
                         headers={"User-Agent": "Mozilla/5.0",
                                  "Referer": "https://www.nejm.org/image-challenge"})
        r.raise_for_status()
        open(path, "wb").write(r.content)
    return Image.open(path).convert("RGB")

# 3) 选项打乱(固定种子,两跑不同种子)
def shuffle_options(row, seed: int):
    opts = list(row["options"])
    random.Random(f'{seed}-{row["id"]}').shuffle(opts)
    return opts

# 4) 拼 prompt(题干本身以问号结尾,无需额外补充)
def build_prompt(row, opts, scenario: int = 1) -> str:
    letters = "ABCDE"
    if scenario == 1:
        body = "\n".join(f"{letters[i]}. {o['text']}" for i, o in enumerate(opts))
        return (f"{row['context']}\n\n{body}\n\n"
                "Answer with a single letter (A-E) and nothing else.")
    return (f"{row['context']}\n\n"
            "State the single most likely diagnosis in a few words.")

三个工程要点:

  1. 缓存键用 URL 的 md5,这样即使将来数据集换了 id 格式,缓存也不会撞;
  2. 打乱种子带上 row["id"],保证同一题在不同跑次里顺序不同,但同一次跑内可复现;
  3. 题干不要改:全部题干本身已是问句(100% 以问号结尾),额外加「请回答」反而会改变模型行为,破坏与官方口径的可比性。

附录 G:开放作答裁判提示词骨架(自建版,非官方)

官方未公布裁判 prompt。若需自建近似版,可参考以下结构(注意:这是本条目作者的复现建议,不是官方口径):

You are a medical examiner scoring a free-text diagnosis.

GOLD ANSWER: {gold}
MODEL ANSWER: {prediction}
CLINICAL CONTEXT (for reference only): {vignette}

Decide whether the model answer is CLINICALLY EQUIVALENT to the gold answer.
Rules:
- Accept synonyms, abbreviations, and spelling variants.
- Accept a more specific diagnosis only if it is a subtype of the gold.
- Accept a broader category only if it uniquely implies the gold.
- Reject answers that name a different disease, even if the region is similar.
- Reject answers that list multiple unrelated candidates.

Output exactly one word: CORRECT or INCORRECT.

自建版与官方版的三处必然差异:裁判模型版本(官方 Qwen3.5-27B,自建可能用别的)、prompt 措辞、以及「多个候选答案」的处理规则。这三处决定了自建分数只能与官方比量级,不能比数值。

附录 H:截断过滤统计

项目 数值 说明
官方截断后子集规模 31-61 例/模型 依各模型知识截止日而定
31 例下单题权重 3.23pp 错 1 题即掉 3.2pp
61 例下单题权重 1.64pp 错 1 题即掉 1.6pp
截断后 MCQ 区间 90-98% 六个模型
截断后 council MCQ 98.3% 与最佳单体持平
最大跑间摆动案例 22.6pp GPT-5.4 Mini 开放作答(31 例)

一个实用的判断规则:如果某篇报告只给了截断后分数、没给样本量,默认把它当 31 例处理——即任何小于 3pp 的差距都不可信。

附录 I:许可与合规判断树

你要做什么?
├─ 只在自己机器上跑推理(不出图、不发数据)
│   └─ 风险低。但仍应遵守 NEJM 站点条款,不绕过访问限制。
├─ 把题面(parquet)转发给同事或内网
│   └─ 灰色。数据集无 license,严格说是「保留全部权利」。
├─ 把图像打包进自己的仓库或网盘再分发
│   └─ 高风险。图像版权归 NEJM,数据集本身刻意不托管图像。
├─ 把数据集用于商业产品或对外服务
│   └─ 不建议。需先获 NEJM 授权,与 Medical Sphere 无许可可谈。
└─ 在论文里引用它的分数
    └─ 可以,但必须写明「无同行评议、无人类基线、以官方自述为准」。

附录 J:与库内条目的互链理由详表

条目 rid 互链方向 具体理由
vqa-rad 240 双向 同为放射学 VQA;NEJM-Bench 可作「临床情景 vs 短问句」的升级对照
slake 250 双向 同为多专科 VQA;可对照「答案公开 vs 私有」两种设计
pathvqa 260 NEJM → pathvqa 病理图像问答,NEJM-Bench 的 Pathology 标签 142 例
pmc-vqa 270 双向 大体量图文问答与小题量精选题的对照
vqa-med 280 双向 同为年度评测型基准,可对照评测协议的演化
omnimedvqa 290 双向 118,010 图的「广度型」与 1,063 题的「信度型」对照
rexvqa 729 NEJM → rexvqa 胸片 VQA;放射学难度结论可互相印证
microvqa 815 双向 同为「小而专」的医学多模态推理基准
medxpertqa 818 双向 同为「考知识」型多选题基准,一个偏推理一个偏识图
medqa 50 NEJM → medqa 纯文本执照考试,作为「无图」对照组
pubmedqa 49 弱链 文献问答,仅作「知识型基准」谱系补充
derm7pt 110 NEJM → derm7pt 皮肤科专项基准;NEJM-Bench 中皮肤占 46.8% 三标签口径

附录 K:双口径与冲突登记表

# 冲突项 口径 A 口径 B 本条目采信 处置
1 题量 HF/README 1,063 benchmark 页 2,126(=1,063×2 场景) 1,063 正文与全文一律用 1,063,并在坑 3 说明
2 专科计数 文章 Dermatology 307(28.9%) jsonl 实测 498(46.8%) jsonl 实测 正文标注「三标签口径」,附录 D 全表
3 时间跨度 HF 卡 2005-10 至 2026-04 GitHub README 2005–2025 实测 2005-10-13 至 2026-04-02 以 parquet 实测为准
4 canary 值 API/README f47b2e91-... 镜像 Data Studio ff343f11-... f47b2e91-... 判为镜像渲染错位
5 模型数 MCQ 榜 7 个(含 Opus 4.7) 开放作答榜 6 个 分别标注 坑 5 说明,不混用
6 标签数表述 文章「up to three」 jsonl 每例恰 3 个 恰 3 个 正文以实测为准
7 克隆路径 README phosseini/nejm-bench 实际 medicalsphere/nejm-bench 后者 判为旧个人仓库痕迹
8 版本号 benchmark 页「v1.0」 无 tag、无 changelog 记「v1.0(未与 sha 绑定)」 存照

附录 L:维护计划与触发点

触发条件 应做动作
NEJM 栏目继续更新、HF 重新活跃 更新规模与时间跨度,重算逐月分布
官方补评开源模型或医学专用模型 更新 §5.1 榜表,补「模型广度」评价
官方发布论文或预印本 升级证据等级,重写 §2、§8.2
补上 license 字段 更新 §6.3 与 DAIMS 的 A 维度评分
开放答案键申请通道 更新 §6.2、§6.6,补「可复现性」结论
图像 CDN 策略变化(403/改域) 更新 §2.6 与坑 8,补抓取建议

附录 M:检索者常犯的五种误读

  1. 把 2,126 当题量(坑 3 已述);
  2. 把 90.9% 当「超过医生」——没有人类基线,官方也没这么说;
  3. 把 57.6% 当「模型很差」——开放作答是 0 提示的开放生成,与 MCQ 不同轨;
  4. 把 98.3% 当「几乎满分」——那是 31-61 例的小子集;
  5. 把「无 license」当「免费」——这是三处许可空缺里最危险的一处误读。

附录 N:结果总表(官方口径汇总)

模型 MCQ 全量 开放作答全量 落差 MCQ 跑次 开放作答跑次
Gemini 3.1 Pro 90.9% ±0.1% 57.6% +33.3 2026-04-14 2026-02
Claude Opus 4.7 81.9% ±0.1% 51.4%(镜像页) +30.5 2026-04-18 2026-04
Claude Opus 4.6 80.3% ±0.1% 47.1% +33.2 2026-04-14 2026-02
Gemini 3.1 Flash-Lite 80.2% ±0.4% 45.9% +34.3 2026-04-14 2026-02
GPT-5.4 78.9% ±0.7% 49.1% +29.8 2026-04-14 2026-03
Claude Sonnet 4.6 77.5% ±0.3% 45.0% +32.5 2026-04-14 2026-02
GPT-5.4 mini 72.1% ±0.3% 40.6% +31.5 2026-04-14 2026-03

说明:开放作答跑次日期取自第三方镜像页的 SOTA 演进记录(Claude Sonnet 4.6 与 Gemini 3.1 Pro 为 2026-02,GPT-5.4 为 2026-03,Opus 4.7 为 2026-04),官方 benchmarks 页未逐项列出开放作答跑次,故此处为间接推断,已在附录 K 第 5 条登记模型数口径问题。

附录 O:官方评测命令速查

# 安装(需要 Python 3.11+ 与 uv)
git clone https://github.com/medicalsphere/nejm-bench
cd nejm-bench
uv sync

# 场景 1(MCQ)
bash scripts/run_scenario1.sh

# 场景 2(开放作答):推理 + 打分
bash scripts/run_scenario2.sh
bash scripts/score_s2.sh

# 冒烟测试(先跑 10 题)
uv run eval/run_eval.py --model claude-sonnet-4-6 --scenario 1 --dry-run 10

# 截断过滤
uv run eval/run_eval.py --model claude-sonnet-4-6 --scenario 1 --after-date 2025-04-01

# 多跑取均值(不同种子)
for i in 1 2 3; do
  uv run eval/run_eval.py --model claude-sonnet-4-6 --scenario 1 --seed $i
done

# 断点续跑(原地补跑失败/未完成的题)
uv run eval/run_eval.py --results-dir results/<run-folder>

注意:score_s2.sh 需要先搭好裁判模型(本地 Qwen3.5-27B)与其服务端点;README 提到「score after Lambda is set up」,说明官方是在 Lambda 云函数上跑裁判服务的。

附录 P:条目信息与编码说明

项目 内容
条目 slug nejm-bench
条目文件 writing/nejm-bench/nejm-bench_Wikipedia.md
事实档案 writing/nejm-bench/FACTS.md
抓取时点 2026-10-17
主要来源 HF 数据集 API + parquet 全量、GitHub API + README + categories.jsonl、medicalsphere.ai 两页
数字口径 除注明外,均为本条目实测(parquet/jsonl)或官方页面原文
语言 中文为主,术语首现标英文
版权声明 本文为千方病案医数集编辑部整理,题目文本与图像版权归 NEJM
勘误渠道 条目发布后如发现数字错误,按附录 L 触发条件更新

附录 Q:与 NEJM 原栏目的关系声明

  1. 不是 NEJM 官方基准:NEJM-Bench 由 Medical Sphere 独立构建,NEJM 未参与、未背书。官方文章文末有明确 disclosure。
  2. 题目版权归 NEJM:1,063 道题的题干、选项、图像均为 NEJM 编辑成果,数据集只做结构化转录与外链引用,不主张任何权利。
  3. 评测结论仅供研究参考:本条目所有分数引自 Medical Sphere 自述页面,未经第三方复现,且无同行评议。
  4. 引用规范建议:引用本基准时,应同时引用 HF 数据集(medicalsphere/nejm-bench)与官方文章(https://medicalsphere.ai/articles/nejm-bench),并注明「无同行评议、无人类基线」。

附录 R:术语中英对照补充表

中文 英文 出现位置
病例小传 vignette §2.3、术语表
选项红利 option bonus §5.2、§7.1
医学等价 clinical equivalence §4.2、附录 G
分布外 out-of-distribution §4.4、§5.4
训练截断 training cutoff §4.4
污染检测 contamination detection §1 Q8、§4.4
位置偏置 position bias §4.3
多数投票 majority voting §5.5
精确匹配 exact match §4.1
开放作答 open-ended response §4.2
冻结点 freeze point §6.4、§10 坑 9
私有答案键 private answer key §6.2
专科标签 specialty tag §2.4
两跑均值 mean over two runs §5.1

附录 S:本条目自检清单

检查项 结果
frontmatter title ≤255 字符 80 字符
frontmatter subtitle ≤255 字符 140 字符
frontmatter description ≤170 字符 127 字符
title 含「AI-Ready Wikipedia \ 千方病案医数集」后缀
frontmatter 无双引号嵌套 是(全部使用「」)
cr:RecordSet 为节点式 是
URL 占位为 /0 是
含 DAIMS 表 是(附录 B)
坑点 ≥5 个编号制 是(9 个)
category_tags 取自受控词表 是(6 个)
行数 1200-1900 见交付报告

附录 T:给主会话的回填提示

  1. 入库后请按附录 J 的 rid 表统一回填 relatedLink(遵循 R018:写手不猜 rid);
  2. 本条目为「无许可」条目,若发布流程有 license 字段校验,需要人工确认是否允许空值;
  3. 封面 prompt 已按 v2 淡色插画风格撰写,若主会话执行 cover_style.py assign 后需重写,请保留「病例卡片 + 五枚选项气泡 + 2005-2026 日历柱状图」三个主体意象;
  4. 条目中提到「无论文」这一核验结论有较高风险被推翻(若后续发布预印本),建议在发布 6 个月后复查一次。

附录 U:题干与选项的文本质量抽检

本条目对 1,063 行做了逐项文本抽检,结论如下(全部可复现):

抽检项 结果 说明
题干是否全部成句 1,063/1,063 以问号结尾 无截断句、无残留模板符号
题干前 30 字符的唯一性 622 种 大量题目共用「A 47-year-old woman with…」句式,开头雷同
含「数字 + year-old」 536 例 年龄线索密集,见 §8.3 混杂因素 1
题干长度 > 1,000 字符 3 例 已接近病历摘要体量
题干长度 > 800 字符 15 例 长题干集中在 2020 年后
选项文本含换行 0 例 无跨行污染,解析安全
选项文本长度上限 96 字符 无「整段解析混入选项」的情况
选项文本以句号结尾 1 例 孤立异常,不影响使用

题干开头高度雷同(622 种开头,平均 1.7 例共享同一开头)说明栏目有稳定的写作模板:年龄 + 性别 + 主诉 +「shown here」+ 问句。这对模型是一把双刃剑——模板降低了语言理解的难度,但也让「只读题干不读图」的基线策略变得可行。要排除「不看图也能答」的疑虑,需要做「遮图消融」(把图像替换为空白图,看准确率掉多少),官方未做这项实验。

附录 V:遮图消融的设计建议(本条目建议,非官方)

官方未报告任何消融实验。若要自评本基准的「视觉依赖度」,建议做三档对照:

组别 输入 期望观察
A 全信息 图 + 题干 + 选项 对应官方 90.9% 一档
B 无图 题干 + 选项(不放图) 若掉幅 < 21pp(即仍高于 4 选 1 的 25%),说明题干泄漏严重
C 无题干 只有图 + 选项 掉幅反映纯视觉识别能力
D 双空 只有选项(无图无题干) 应接近 20% 随机基线,用于校验选项分布是否被利用

判定口径:如果 B 组仍显著高于随机基线,说明本基准有相当比例的题目可以「靠文字猜对」,此时任何「视觉诊断能力」的结论都要打折。这是使用 NEJM-Bench 时最值得补做的一项实验,也是本条目认为官方评测设计里最大的缺口。


版本记录与方法说明

版本 日期 变更
v1.0 2026-10-17 首版。基于 HF parquet 全量实测(1,063 行)、GitHub categories.jsonl 全量实测(1,063 行)、HF/GitHub API 元数据实抓、官方 benchmark 页与解读文章全文抓取

本条的写法遵循三条原则:

  1. 实测优先于转述:凡能从 parquet 或 jsonl 直接算出的数字(行数、长度分布、年度分布、专科频次、选项数),一律以实测为准,并在附录 C 标明计算方法。官方文章与实测冲突处(专科计数、题量口径),两条都记录,主文采信实测,冲突登记在附录 K。
  2. 不自造结论:官方未做的事(人类基线、遮图消融、开源模型评测),本条目只在「建议」语境下讨论,不写成「已发现」。附录 V 的消融设计明确标注「本条目建议,非官方」。
  3. 不确定就标不确定:答案键的申请方式、v1.0 与 sha 的绑定、开放作答跑次日期,这三处都没有公开依据,本条目要么写「未说明」,要么写「间接推断」并注明推断路径。宁可留白,不填猜测。

抓取时点统一为 2026-10-17。所有「当前」「最新」「已冻结」等表述,均以该日为准;若读者在更晚的日期阅读,请先按附录 L 的触发条件复查 HF 与 GitHub 的最后改动时间。

关于「无论文」这条结论的强度:本条目检索了 HF、GitHub、官方站、通用搜索引擎与论文镜像,均未找到 NEJM-Bench 的预印本或期刊论文。但「检索不到」不等于「不存在」,尤其当一个项目可能只在会议 poster 或机构博客里出现过时。因此本条把它写成「截至抓取时点未发现论文」,而不是「确定没有论文」。这也是附录 T 第 4 条建议六个月后复查的原因。

关于分数的引用方式:本条目所有模型分数都来自 Medical Sphere 自述页面,未经第三方复现。若读者要在论文或产品文档里引用,建议的写法是「Medical Sphere 报告 NEJM-Bench MCQ 准确率 90.9%(Gemini 3.1 Pro,1,063 例,截至 2026 年 4 月)」,并附上「无同行评议、无人类基线」的限定语。

参考来源(全部实抓,抓取时点 2026-10-17)

# 来源 类型 用于核验的内容
1 https://huggingface.co/datasets/medicalsphere/nejm-bench 数据集卡 规模 1,063、七列结构、去答案说明、canary、Attribution、引用格式
2 https://hf-mirror.com/api/datasets/medicalsphere/nejm-bench API 元数据 num_examples、download_size、dataset_size、gated、createdAt、lastModified、sha、tags
3 HF data/train-00000-of-00001.parquet(实下 334,277 B) 数据本体 行数、列、日期范围、年度/逐月分布、题干长度、选项数、唯一值计数
4 https://github.com/medicalsphere/nejm-bench (README raw) 代码仓库 双场景定义、精确匹配、本地裁判、--after-date、--seed、断点续跑、20 年跨度表述、克隆路径
5 GitHub API /repos/medicalsphere/nejm-bench API 元数据 createdAt 2026-04-06、pushed_at、license=null、star/fork、homepage
6 GitHub data/categories.jsonl(实下 479,645 B) 数据本体 每例 3 标签、46 个标签及频次、raw_response 结构、image_available/error 全空
7 https://medicalsphere.ai/benchmarks/nejm-bench 官方榜单 2,126 cases 表述、v1.0、七模型 MCQ 与跑分日期、双场景说明、裁判模型
8 https://medicalsphere.ai/articles/nejm-bench 官方解读 1,063 例、46 专科、专科频次、六模型双形态表、30pp 落差、Radiology 25.7%、Council 86.8/98.3/46.4、92.4% 一致率、506 次翻转、disclosure
9 https://github.com/medicalsphere/hopper 关联仓库 统一推理库(官方文章引述)
10 https://www.nejm.org/image-challenge 上游栏目 题源与栏目性质(仅作背景核验,未逐题抓取)
11 https://paperswithcode.co/benchmark/nejm-bench-open-ended 第三方镜像 Opus 4.7 开放作答 51.4%、SOTA 演进日期(2026-02 至 2026-04)
12 库内同侪条目(vqa-rad/slake/omnimedvqa/medxpertqa 等) 内部条目 横向对照表的规模与许可数字

来源分级说明:1-6 为一手可复现来源(任何人按同样地址可复算);7-8 为组织方自述(不可独立验证分数);11 为第三方镜像(仅用于补全官方未列项);12 为库内二手整理(用于横向对照)。

数据可信度自评(五个等级)

等级 内容 本条目占比(按硬事实条数估算)
A 级:可直接复算 行数、列结构、日期分布、题干长度、选项数、专科频次、体积、sha、license 空值 约 55%
B 级:官方自述且可逻辑校验 双场景协议、随机基线、打乱机制、截断过滤用法 约 15%
C 级:官方自述不可复算 所有模型分数、council 分数、裁判一致率 约 20%
D 级:间接推断 开放作答跑次日期、2,126 的构成解释、文章专科口径的来源猜测 约 5%
E 级:无法核实 答案键存在性细节、打标所用模型、构建时间线 约 5%

这张自评表的目的是让读者一眼看出:本条目里超过一半的硬数字是可以自己重算的,两成左右必须信任组织方,剩下的一成是推断或空白。任何引用本条目的人,都应该知道自己在引用哪一级。

结尾:一句话定位

NEJM-Bench 是一份题源无可挑剔、工程极其简陋的医学多模态基准:它用一个栏目二十年的积累,换来 1,063 道真实的临床图像题;又用一个「给不给选项」的简单对照,量出了选择题评测里那层约 30 个百分点的水分。它的数据可以放心拿来自查,它的分数不宜拿去断言,它的设计思路值得整个医学基准社区借鉴。

如果说库内的 VQA-RAD 教会我们「医学视觉问答长什么样」,OmniMedVQA 教会我们「规模可以做到多大」,MedXpertQA 教会我们「专家级推理有多难」,那么 NEJM-Bench 教会我们的只有一件事——先问清楚你是怎么问的,再问模型答得怎么样。

附录 W:六模型逐题表现的可能分布(本条目推演,非官方)

官方只给了总分,没有给逐题结果。但用总分可以推出一些必须注意的边界:

计算 结果 含义
MCQ 满分差(90.9% − 72.1%) 18.8pp 约 200 题(1,063 × 0.188)
开放作答满分差(57.6% − 40.6%) 17.0pp 约 181 题
两形态落差极差(34.3 − 29.8) 4.5pp 约 48 题
若两模型答案完全嵌套 至少 200 题是「只有强模型答对」 无法确认,官方未公开逐题

最后一行是重点:总分差 18.8pp 不代表弱模型在 200 道题上「不会」,也可能是强模型在另外 200 道题上「更会」,甚至在同一个 400 题集合上互有胜负。没有逐题数据,就无法做 McNemar 检验,也无法判断两个模型的差异是否统计显著。这是本基准在「可比较性」上的一个隐性缺陷——它给了分数,没给差异的结构。

附录 X:与官方「2,126 cases」口径的正式说明

官方 benchmarks 页的原始表述是「Live · v1.0, 2,126 cases」。这个数字的来源可以精确还原:

  • 1,063(MCQ 题数)× 2(场景数)= 2,126;
  • 同一页的「Models evaluated: 7」「Tasks / scenarios: 1 / 2」「Samples / scenario: 1,063」三条,正好互相印证。

也就是说,2,126 是「评测实例数」(case-scenario 对),不是「不同题目数」。这在数据库视角下是合理的口径(一个病例跑两个场景算两条记录),但对检索者极其不友好——外部引用时若照抄 2,126,会让人误以为数据集有两千多道题。

本条目在全文统一使用 1,063(题目数),只有在附录 K 与坑 3 提到 2,126 时明确标注其为「评测实例数」。

附录 Y:给模型开发者的五条实操建议

  1. 先跑 MCQ 再跑开放作答,两次都要跑。只跑 MCQ 会得到虚高的自我评价;两次都跑,落差本身就是一个诊断信号——如果你的模型落差显著大于 34pp,说明它的「自由生成诊断名」能力明显弱于「候选辨认」能力,这在真实临床场景里是致命的。
  2. 一定要做遮图对照。附录 V 的四组设计里,B 组(无图)最关键:如果无图也能答对相当比例,说明你的模型在利用题干里的年龄、性别、主诉等文字线索,而不是图像。这不是模型的问题,是评测设计的问题,但你必须在报告里说明。
  3. 不要在截断后子集上调参。31-61 例的样本,任何调参都是在拟合噪声。截断后结果只用于「事后报告」,不用于「模型选择」。
  4. 注意图像预处理。1500×4000 的窄条带/多面板图像,直接缩放到 224×224 会把关键细节压没。建议先做面板切分或按长边缩放后切片,再送进编码器。
  5. 报告时写明「无人类基线」。这是最容易被忽略、也最容易被审稿人抓住的一点。NEJM-Bench 的 90.9% 是一个孤立数字,没有「医生平均分」作参照,任何「接近人类」的表述都缺依据。

附录 Z:给数据工程团队的落地清单

步骤 动作 产出 验收标准
1 load_dataset 拉取 parquet 1,063 行本地副本 行数、列数与本文一致
2 按 image_url 抓图并缓存 1,063 张图 + md5 索引 抓取成功率 ≥ 99%,失败清单留档
3 join categories.jsonl 每题 3 个专科标签 标签数与 date 一一对应
4 自建答案键(可选) 本地 key 文件 抽样 50 题人工复核,准确率 ≥ 98%
5 选项打乱 固定种子 + 逐次种子 同种子可复现
6 跑 MCQ 与开放作答 两套结果 + 落差 与官方同量级(±5pp 内可解释)
7 跑遮图对照 B/C/D 三组 用于判断视觉依赖度
8 出报告 分数 + 落差 + 视觉依赖度 + 限定语 必含「无人类基线」声明

这张清单的核心思想是:NEJM-Bench 不是「下载即用」的数据集,而是「下载后还要自己搭一半」的评测套件。把它当成套件来用,就不会在答案键和图像抓取上踩坑。

附录 AA:与「开放题库型」医学基准的取舍矩阵

医学基准圈子里长期存在一个争论:题目应该公开还是保密。NEJM-Bench 选择的是「题目全公开、答案全保密」,这是四种组合里最少见的一种。把四种组合摆开看,取舍非常清楚:

组合 代表 优点 缺点
题目公开 + 答案公开 SLAKE、VQA-RAD、PathVQA 可复现、可训练、可审计 极易被当作训练数据,评测随即失效
题目保密 + 答案保密 各类商业评测(如部分医学执照模拟考) 防泄漏最强 不可审计,外部只能相信榜单
题目保密 + 答案公开 部分竞赛的「隐藏测试集」 防止过拟合 外部无法自测,只能等官方跑
题目公开 + 答案保密(本基准) NEJM-Bench 题面可审计、答案不可偷、可防微调污染 分数不可复算、无法自建对照

第四种组合的巧妙之处在于:任何人都能确认「这 1,063 道题确实来自 NEJM、没有被篡改」,因为每条记录都带原始 URL;但任何人都不能「顺手」把答案学进去或拿去刷榜,因为答案根本不在包里。它把「透明」与「防泄漏」这两个通常互斥的目标拆开,各给了一半。

代价也很明确:它把「可复现」这一项完全让渡给了组织方。评分必须回到 Medical Sphere 那台跑着私有 key 的机器上,外部只能用自建 key 做「近似评测」。对于一个想长期演进、让社区一起迭代的基准来说,这个代价太大;但对于一个「一次性发布、用于说明某个现象」的评测来说,这个代价可以接受——NEJM-Bench 恰恰是后者。

附录 AB:为什么「同题双形态」比「两个基准」更可靠

如果不用同题双形态,要测「有选项 vs 无选项」的差异,只能拿两个不同的基准比:例如用 MedQA 的四选一分数,对比某个开放作答 VQA 的分数。这种比较的问题在于,两个基准的题目、专科、难度全都不同,差异无法归因。

同题双形态把混淆变量降到了最低:

混淆变量 两个基准对比 同题双形态
题目内容 不同 相同
专科分布 不同 相同
难度梯度 不同 相同
时间跨度 不同 相同
唯一差异 — 给不给选项

在这个设计下,「+30pp」才能被解释为「选项的效应」,而不是「两个数据集难度不同」。这也是本条反复强调这条结论的原因:它是整个基准里唯一一个因果干净的观察。

值得补充的是,这个设计还有一层隐含价值:它让「选项红利」这个量可以被反复测量。如果未来某个模型把这个落差压到 10pp 以内,那说明它的自由生成能力已经接近候选辨认能力,这是一个比「总分突破 95%」更有意义的进步信号。

附录 AC:关于「专科标签用 LLM 打」这件事

专科标签由 LLM 生成,这在方法学上有争议,但对本基准而言是合理选择:

方案 成本 一致性 偏差 本基准选择
人工标注 极高(1,063 例 × 3 标签) 依赖标注者水平 主观 未采用
规则匹配(关键词) 低 高 严重(同义词覆盖不全) 未采用
LLM 盲打 低 中高 与训练数据相关 采用
混合(LLM 初筛 + 人工抽检) 中 高 低 未采用,但更好

盲打的好处已在 §3.3 说明;风险有三点需要使用者知道:一是标签可能继承 LLM 自身的专科偏见(例如过度打 Dermatology);二是 46 个标签里出现同义重复,说明没有做后处理归并;三是 raw_response 里的推理文本虽然留痕,但没有人工复核记录,无法确认标签质量。

实操建议:如果把专科标签用于科研结论,先人工抽检 100 例,算一个「标签-人工一致率」,再决定是否采信。这个数字官方没给,使用者必须自己补。

附录 AD:常见提问模板(可直接复用)

把 NEJM-Bench 用于自查时,提示词的一致性比「写得多漂亮」更重要。以下三套模板对应三种用途,建议固定使用、不要临时改措辞:

[T1 · MCQ 标准模板]
{context}

A. {opt_a}
B. {opt_b}
C. {opt_c}
D. {opt_d}
E. {opt_e}

Answer with a single letter (A-E) only.

[T2 · 开放作答标准模板]
{context}

State the single most likely diagnosis. Answer in 5 words or fewer.

[T3 · 带推理的开放作答(仅用于分析,不建议用于计分)]
{context}

First describe the key visual findings in one sentence, then state the
single most likely diagnosis. Separate the two parts with "DIAGNOSIS:".

三套模板的差异会显著影响分数,官方只用 T1 与 T2(T2 的具体措辞未公开)。如果自建评测换了措辞,得到的分数就不能与官方对齐。这一点在报告里必须写明。

另外提醒一句:T3 的「先描述再诊断」会改变模型的推理路径,通常能小幅提升开放作答准确率,但它测的不再是官方定义的「直接诊断」能力。若目的是与官方分数对标,不要用 T3。

附录 AE:图像预处理的三种方案与取舍

image_url 返回的图像是 1500×4000 的窄幅,实际多为多面板拼图。三种常见预处理各有代价:

方案 做法 优点 缺点
整图缩放 直接 resize 到编码器输入尺寸(如 224²、448²) 实现最简单,与原图语义一致 窄条带内容被大幅压扁,细节丢失严重
按长边切块 按长边切成若干正方形 tile,分别送编码器 保留细节,适合放射学题 需模型支持多图输入,token 成本上升
面板切分 先做白边检测切出各个面板,再逐面板编码 最贴近「多面板」的真实结构 需要额外 CV 逻辑,切错会引入噪声

对本基准的具体建议:放射学题优先用「面板切分 + 多图输入」,因为它的难点正是「定位微小征象」;皮肤科与眼底题用「整图缩放」即可,因为它们的判别信号是整体形态。混合使用会让不同专科的分数不可比,报告时要说明每题用了哪种方案。

附录 AF:一个最小可跑的评测脚本(伪代码级)

results = []
for _, row in df.iterrows():
    opts = shuffle_options(row, seed=1)
    img = fetch_image(row["image_url"])
    pred = model.generate(image=img, prompt=build_prompt(row, opts, scenario=1))
    letter = parse_letter(pred)                      # 正则取第一个 A-E
    chosen = next((o["text"] for i, o in enumerate(opts)
                   if "ABCDE"[i] == letter), None)
    results.append({
        "id": row["id"],
        "date": row["date"],
        "pred_letter": letter,
        "pred_text": chosen,                          # 便于人工复核
        "canary": row["canary_string"],               # 留痕
    })

# 若无答案键:只能统计「预测分布」,无法算准确率
print(result_df["pred_letter"].value_counts(normalize=True))

最后一行是重点:没有答案键时,唯一可做的是「预测分布分析」——看模型是否把答案集中到某个字母、某个诊断词上。这不能代替准确率,但能发现明显的偏置(例如 60% 的答案都是同一个词)。在没有官方 key 的情况下,这是最廉价的体检。

附录 AG:预测分布分析能发现什么

承接附录 AF:如果只用公开数据,仍然可以做四类有价值的分析,不需要答案键:

分析 做法 能发现的问题
字母分布 统计预测字母的频次 位置偏置(若某字母显著偏高,说明打乱未生效或模型有偏好)
诊断词分布 统计预测文本的词频 模型是否只输出少数几个高频诊断(「模式坍塌」)
长度分布 统计预测文本长度 模型是否偷懒只答单词、或冗长不收敛
与专科交叉 按 3 个标签分组统计预测分布 某专科是否系统性输出同一类答案

这四类分析都能在无 key 条件下完成,且成本远低于人工核对答案。建议任何用 NEJM-Bench 做自查的团队,先跑这四项,再决定要不要投入人力去自建 key。

其中「模式坍塌」最容易发生也最容易被忽略:如果模型在 1,063 题里对 300 题都回答「Psoriasis」,它在 MCQ 上可能仍能拿到不低的分数(因为选项里常有这个词),但在开放作答上会立刻暴露。这也是为什么本条目建议「两形态都要跑」的另一个理由。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • medxpertqa — 共享标签:医学问答与基准 / 视觉问答 / 评测基准 / 医学问答 / 多模态
  • medframeqa — 共享标签:医学问答与基准 / 视觉问答 / 评测基准 / 医学问答 / 多模态
  • liveclin — 共享标签:医学问答与基准 / 视觉问答 / 评测基准 / 医学问答 / 多模态
  • rex-in-the-wild — 共享标签:视觉问答 / 评测基准 / 医学问答 / 多模态
  • medreco-db — 共享标签:医学问答与基准 / 视觉问答 / 医学问答 / 多模态
  • x-pcr — 共享标签:医学问答与基准 / 视觉问答 / 评测基准 / 多模态
  • skincap — 共享标签:医学问答与基准 / 图像分类 / 多模态
  • rexvqa — 共享标签:视觉问答 / 评测基准 / 医学问答 / 多模态
  • chestagentbench — 共享标签:医学问答与基准 / 评测基准 / 医学问答 / 多模态
  • mimic-ext-cxr-qba — 共享标签:视觉问答 / 评测基准 / 医学问答 / 多模态

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集