2026-07-08 08:57:50 +00:00

154 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TIR-Bench
## 概述
TIR-BenchThinking-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 开销的同时提升评估准确性
- [论文](https://arxiv.org/abs/2511.01833) | [GitHub](https://github.com/agents-x-project/TIR-Bench)
## 属性
| 属性 | 值 |
|----------|-------|
| **基准测试名称** | `tir_bench` |
| **数据集ID** | [evalscope/TIR-Bench](https://modelscope.cn/datasets/evalscope/TIR-Bench/summary) |
| **论文** | [Paper](https://arxiv.org/abs/2511.01833) |
| **标签** | `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`
```json
{
"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
```bash
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets tir_bench \
--limit 10 # 正式评估时请删除此行
```
### 使用 Python
```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)
```