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

133 lines
3.3 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.

# ZeroBench
## 概述
ZeroBench 是一个面向大语言多模态模型LMMs的高难度视觉推理基准测试。它包含 100 个高质量、人工精心筛选的问题,涵盖多个领域、多种推理类型和图像类型,旨在超越当前模型的能力边界。
## 任务描述
- **任务类型**:高级视觉推理
- **输入**:一张或多张图像 + 高难度视觉推理问题
- **输出**:逐步推理过程,并在最后用花括号给出最终答案
- **领域**:视觉推理、感知、多步推理
## 核心特点
- 包含 100 个高质量、人工精心筛选的问题
- 专为挑战前沿模型而设计(使用贪心解码时,零样本准确率为 0
- 覆盖多样化的领域、推理类型和图像类型
- 目前尚无模型能达到 5/5 的可靠性评分
- 用于测试当前视觉推理能力的极限
## 评估说明
- 默认评估使用 **zerobench** 划分
- 主要指标:由 LLM 评判的 **准确率Accuracy**
- 答案格式必须为:`{final answer}`
- 包含子问题划分,便于详细分析
- 使用图像压缩以处理大尺寸图像
## 属性
| 属性 | 值 |
|----------|-------|
| **基准测试名称** | `zerobench` |
| **数据集 ID** | [evalscope/zerobench](https://modelscope.cn/datasets/evalscope/zerobench/summary) |
| **论文** | N/A |
| **标签** | `Knowledge`, `MultiModal`, `QA` |
| **指标** | `acc` |
| **默认示例数量** | 0-shot |
| **评估划分** | `zerobench` |
| **训练划分** | `zerobench_subquestions` |
## 数据统计
| 指标 | 值 |
|--------|-------|
| 总样本数 | 100 |
| 提示词长度(平均) | 645.72 字符 |
| 提示词长度(最小/最大) | 139 / 1998 字符 |
**图像统计信息:**
| 指标 | 值 |
|--------|-------|
| 图像总数 | 108 |
| 每样本图像数 | 最小: 1, 最大: 3, 平均: 1.08 |
| 分辨率范围 | 512x297 - 5559x4070 |
| 图像格式 | jpeg, png |
## 样例示例
**子集**: `default`
```json
{
"input": [
{
"id": "f3276b25",
"content": [
{
"text": "I want to purchase all the Montellier bottles from the top three shelves. How much do I save by purchasing the bottles with a loyalty card? Give your final answer in dollars.\n\n\n\nLet's think step by step and give the final answer in curly braces,\nlike this: {final answer}\"\n"
},
{
"image": "[BASE64_IMAGE: png, ~462.4KB]"
}
]
}
],
"target": "11.90",
"id": 0,
"group_id": 0,
"metadata": {
"question_id": "1",
"question_images": [
"images/1_0.png"
],
"image_attribution": "Own"
}
}
```
## 提示模板
**提示模板:**
```text
{question}
Let's think step by step and give the final answer in curly braces,
like this: {{final answer}}"
```
## 使用方法
### 使用命令行CLI
```bash
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets zerobench \
--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=['zerobench'],
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)
```