TIR-Bench#

概述#

TIR-Bench(Thinking-with-Images Reasoning Benchmark)是一个全面的多模态基准测试,用于评估视觉语言模型的具身视觉推理能力。该基准涵盖多种任务类别,要求模型具备空间、组合式及多步骤的视觉推理能力。

任务描述#

  • 任务类型:多任务视觉推理(选择题、OCR、单词搜索、找不同、拼图等)

  • 输入:一张或两张图像 + 问题(大多数任务采用选择题格式)

  • 输出:答案字母(选择题)或数字/文本形式的答案(取决于任务类型)

  • 领域:instrument(仪器)、color(颜色)、refcoco、rotation_game(旋转游戏)、math(数学)、word_search(单词搜索)、visual_search(视觉搜索)、ocr、symbolic(符号)、spot_difference(找不同)、contrast(对比)、jigsaw(拼图)、maze(迷宫)

核心特性#

  • 包含13种多样化的视觉推理任务类别,共计1,215个测试样本

  • 覆盖单图和双图推理场景

  • 答案形式包括字母选项(A-J)、整数、浮点数和文本

  • 采用任务特定评分机制,并辅以LLM-as-judge作为后备方案,确保评估的鲁棒性

评估说明#

  • 默认使用 test 划分进行评估(共1,215个样本)

  • 主要指标:准确率(acc)

  • 图像数据通过 ModelScope 下载为 data.zip 并自动解压

  • 基于规则的评分方式:

    • OCR(子串匹配)

    • 拼图(grid IoU)

    • 找不同(set IoU)

    • 单词搜索(数值匹配)

    • 其他所有任务(选择题 / 数值判断)

  • 推荐设置:将 judge_strategy=JudgeStrategy.LLM_RECALL 并提供 judge_model_args,以启用 LLM-as-judge 作为召回机制——仅当基于规则的评分结果为0时才调用判别模型,在避免不必要 API 开销的同时提升评估准确性

  • 论文 | GitHub

属性#

属性

基准测试名称

tir_bench

数据集ID

evalscope/TIR-Bench

论文

Paper

标签

MultiModal, QA, Reasoning

指标

acc

默认示例数

0-shot

评估划分

test

数据统计#

指标

总样本数

1,215

提示词长度(平均)

384.97 字符

提示词长度(最小/最大)

19 / 4039 字符

各子集统计数据:

子集

样本数

提示词平均长度

提示词最小长度

提示词最大长度

instrument

80

110.96

57

196

color

100

130.26

98

241

refcoco

120

144.51

132

182

rotation_game

75

146.44

140

148

math

120

126.69

50

397

word_search

100

126.72

24

307

visual_search

120

111.64

19

501

ocr

60

35.08

29

116

symbolic

50

88.18

66

243

spot_difference

100

1114.79

93

1379

contrast

50

48.1

31

123

jigsaw

120

605

605

605

maze

120

1527.06

626

4039

图像统计数据:

指标

图像总数

1,255

每样本图像数

最小: 1, 最大: 2, 平均: 1.03

分辨率范围

60x23 - 6944x9280

格式

jpeg, mpo, png, webp

样例示例#

子集: instrument

{
  "input": [
    {
      "id": "dd25f10d",
      "content": [
        {
          "image": "[BASE64_IMAGE: jpg, ~2.9MB]"
        },
        {
          "text": "According to the image, what is the thermometer reading in Fahrenheit? Answer as an integer like 1,2,3."
        }
      ]
    }
  ],
  "target": "72",
  "id": 0,
  "group_id": 0,
  "subset_key": "instrument",
  "metadata": {
    "task": "instrument",
    "meta_data": {},
    "id": 6
  }
}

提示模板#

未定义提示模板。

使用方法#

使用 CLI#

evalscope eval \
    --model YOUR_MODEL \
    --api-url OPENAI_API_COMPAT_URL \
    --api-key EMPTY_TOKEN \
    --datasets tir_bench \
    --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=['tir_bench'],
    dataset_args={
        'tir_bench': {
            # subset_list: ['instrument', 'color', 'refcoco']  # 可选,用于评估特定子集
        }
    },
    limit=10,  # 正式评估时请删除此行
)

run_task(task_cfg=task_cfg)