Keep K3 suite selection and report-schema scoring in bash, merge K3/vision dataset_args into dpv4 yamls, and pin EvalScope at 735d920ee911 with local patches. Co-authored-by: Cursor <cursoragent@cursor.com>
4.2 KiB
4.2 KiB
PMC-VQA
概述
PMC-VQA 是一个大规模医学视觉问答基准数据集,构建自 PubMed Central 开放获取子集中生物医学论文的图表。本集成评估的是经过人工验证的 test_clean 划分,即作者推荐用于报告结果的 2,000 个问题子集。
任务描述
- 任务类型:医学视觉问答(单答案多项选择)
- 输入:一张生物医学图像以及一个包含四个候选答案的问题
- 输出:单个答案字母(A/B/C/D)
- 领域:医学与生物医学成像(包括放射学、病理学、显微镜图像,以及论文中常见的图表和示意图)
主要特点
- 包含 2,000 个问题,覆盖 1,440 张不同的图像,每个问题恰好有四个选项
- 问题由图像标题生成并经过人工验证,因此 test_clean 子集比原始的 5 万规模测试集干净得多
- 涵盖多种成像模态和疾病类型,还包括非摄影类图像,如图表和示意图
- 要求模型结合细粒度的视觉细节与生物医学领域知识进行推理
评估说明
- 主要指标:四个选项上的 准确率(Accuracy)
- 答案从提示词要求的
ANSWER: [LETTER]行中提取;原论文则将自由生成的答案匹配到最接近的选项字符串,仅适用于无法遵循指定答案格式的模型 - 设置足够大的
max_tokens,确保模型能完整输出答案行:若响应中未出现ANSWER:行,共享的多项选择解析器会回退到响应中的最后一个大写字母,因此截断的回复可能被宽松地计为猜测 - 图像以单个
images.zip文件(约 18 GB)形式存放在数据集仓库中。该文件仅下载一次,评估时所需图像直接从压缩包中读取,不会在磁盘上保留解压后的副本 - 论文 | GitHub
属性
| 属性 | 值 |
|---|---|
| 基准测试名称 | pmc_vqa |
| 数据集ID | evalscope/PMC-VQA |
| 论文 | Paper |
| 标签 | MCQ, Medical, MultiModal |
| 指标 | accuracy |
| 默认示例数 | 0-shot |
| 评估划分 | test_clean |
数据统计
| 指标 | 值 |
|---|---|
| 总样本数 | 2,000 |
| 提示词长度(平均) | 343.61 字符 |
| 提示词长度(最小/最大) | 241 / 1105 字符 |
图像统计:
| 指标 | 值 |
|---|---|
| 总图像数 | 2,000 |
| 每样本图像数 | 最小: 1, 最大: 1, 平均: 1 |
| 分辨率范围 | 17x21 - 4130x3564 |
| 格式 | jpeg |
样例示例
子集: default
{
"input": [
{
"id": "03f4a772",
"content": [
{
"image": "[BASE64_IMAGE: jpeg, ~93.0KB]"
},
{
"text": "Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of A,B,C,D.\n\nWhat is the name of the medical imaging technique used in this case?\n\nA) X-ray\nB) Magnetic resonance imaging\nC) Computed tomography\nD) Ultrasound"
}
]
}
],
"choices": [
"X-ray",
"Magnetic resonance imaging",
"Computed tomography",
"Ultrasound"
],
"target": "B",
"id": 0,
"group_id": 0,
"metadata": {
"figure_path": "PMC8415802_FIG1.jpg"
}
}
提示模板
提示模板:
Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of {letters}.
{question}
{choices}
使用方法
使用 CLI
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets pmc_vqa \
--limit 10 # 正式评估时请删除此行
使用 Python
from evalscope import run_task
from evalscope.config import TaskConfig
task_cfg = TaskConfig(
model='YOUR_MODEL',
api_url='OPENAI_API_COMPAT_URL',
api_key='EMPTY_TOKEN',
datasets=['pmc_vqa'],
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)