VTCBench#
概述#
VTCBench(Vision-Text Compression Benchmark)评估将文本表示为渲染图像时的长上下文理解能力,并与纯文本基线进行比较。
任务描述#
任务类型:包含图像模式与文本模式的长上下文问答
输入:渲染后的上下文图像及问题(VTC 模式),或原始文本及问题(Text 模式)
输出:简短的自由格式答案
领域:检索、关联推理和长期对话记忆
主要特性#
提供配对的 VTC 和 Text 模式,用于衡量视觉文本压缩的影响
包含源自 RULER、NoLiMa 和 LoCoMo 的 Retrieval、Reasoning 和 Memory 子集
使用预渲染的多图文档,以保留基准测试的视觉布局
支持跨多张文档图像的上下文
评估说明#
默认配置在 VTC 模式下使用 0-shot 评估
使用
--dataset-args '{"vtcbench": {"extra_params":{"eval_mode":"text"}}}'启用 Text 基线Retrieval 和 Reasoning 使用官方的分数型
contains_all指标Memory 使用各参考答案中最高的官方 ROUGE-L F1 分数
统一的
score指标会根据子集选择相应的官方指标;报告中的macro_score是三个任务的无权平均值Text 模式按照官方静态评测器的方式移除 HTML 标签并规范化空白字符
评分前会排除
<think>...</think>中的内容,与官方评测器保持一致长上下文请求可能需要设置更大的模型超时时间
如果数据集转换出现 offset overflow,请设置
DATASET_TF_BATCH_SIZE=1
属性#
属性 |
值 |
|---|---|
基准测试名称 |
|
数据集 ID |
|
论文 |
|
标签 |
|
指标 |
|
默认 Shot 数 |
0-shot |
评估划分 |
|
数据统计#
指标 |
值 |
|---|---|
样本总数 |
2,200 |
Prompt 平均长度 |
236.71 字符 |
Prompt 最短/最长长度 |
89 / 384 字符 |
各子集统计:
子集 |
样本数 |
Prompt 平均长度 |
Prompt 最短长度 |
Prompt 最长长度 |
|---|---|---|---|---|
|
800 |
110.38 |
89 |
141 |
|
800 |
368.69 |
363 |
384 |
|
600 |
229.15 |
186 |
283 |
图像统计:
指标 |
值 |
|---|---|
图像总数 |
26,554 |
每个样本的图像数 |
最少:1,最多:62,平均:12.07 |
分辨率范围 |
896x896 - 896x896 |
格式 |
jpeg |
样例示例#
子集:Retrieval
{
"input": [
{
"id": "c51f44e8",
"content": [
{
"image": "[BASE64_IMAGE: jpeg, ~367.1KB]"
},
{
"image": "[BASE64_IMAGE: jpeg, ~366.1KB]"
},
{
"image": "[BASE64_IMAGE: jpeg, ~385.2KB]"
},
{
"image": "[BASE64_IMAGE: jpeg, ~377.7KB]"
},
{
"image": "[BASE64_IMAGE: jpeg, ~333.5KB]"
},
{
"text": "\n\nQuestion:What are all the special magic numbers for foolish-rawhide mentioned in the provided text?"
}
]
}
],
"target": "4075987, 5943250",
"id": 0,
"group_id": 0,
"metadata": {
"problem": "What are all the special magic numbers for foolish-rawhide mentioned in the provided text?",
"answers": [
"4075987",
"5943250"
],
"subset": "Retrieval",
"eval_mode": "vtc"
}
}
Prompt 模板#
未定义 Prompt 模板。
额外参数#
参数 |
类型 |
默认值 |
描述 |
|---|---|---|---|
|
|
|
评估模式:vtc(图像 + 问题)或 text(文本 + 问题)。选项:['vtc', 'text'] |
使用方法#
使用 CLI#
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets vtcbench \
--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=['vtcbench'],
dataset_args={
'vtcbench': {
# subset_list: ['Retrieval', 'Reasoning', 'Memory'] # 可选:评估指定子集
# extra_params: {} # 使用默认额外参数
}
},
limit=10, # 正式评估时请移除此行
)
run_task(task_cfg=task_cfg)