ViDoRe Benchmark V2:提升视觉检索的标杆
为什么要推出新的基准?
自原始 ViDoRe 基准发布以来,用于评估文档检索任务的视觉模型,视觉检索模型取得了显著进展!原始 ColPali 模型的平均 nDCG@5 得分为 81.3,而目前排行榜上的 SOTA 模型已超过 90 的 nDCG@5,一些任务变得“过于简单”,无法提供有意义的信号!
随着基准对 SOTA 模型趋于饱和,真正衡量改进和理解模型在实际场景中能力的空间有限。为了继续推动视觉检索的边界,推出一个专门挑战这些高级模型的新基准变得至关重要:ViDoRe Benchmark V2。
推出 ViDoRe Benchmark V2 的动机
在开发 ViDoRe Benchmark V2 时,我们的主要目标是创建一个反映现实世界检索挑战的基准——困难、多样且有意义。当前的基准存在局限性,无法准确反映真实用户行为和复杂的检索场景。我们发现了现有基准中的三个关键问题:
查询的提取性质: 当前基准通常依赖于提取式查询,提供不切实际的检索上下文,因为真实用户很少从文档中的精确短语来构建查询。
单页查询偏见: 许多基准过分强调从单页上下文中进行检索,而忽略了实际应用中常见的复杂、多文档或跨文档查询。
合成查询生成中的挑战: 纯粹的合成基准,虽然理论上很吸引人,但如果没有大量的人工监督,很难有效实施。它们经常产生异常值、不相关或琐碎的查询,使得人工过滤变得必不可少但成本高昂。
设计决策和所用技术
为了应对这些挑战并创建稳健、真实的基准,ViDoRe Benchmark V2 包含了几项创新功能:
盲目上下文查询: 实际上,用户通常不了解他们正在查询的语料库内容。为了减少大多数合成查询-文档数据集(数据集通常是在了解文档内容的情况下创建的)中普遍存在的提取偏见,我们只向查询标注模型提供了有关文档的有限信息(摘要、元数据等),并过滤掉了由此产生的许多不相关查询,从而更好地再现了真实世界用户与语料库的交互。
长文档和跨文档查询: 与传统基准不同,ViDoRe Benchmark V2 强调长格式和跨文档查询,这更接近真实的检索场景。多个数据集专门关注涉及综合文档或多文档检索任务的场景。
混合合成和人工参与创建: 认识到单独合成查询生成的局限性,我们采用了混合方法——合成生成查询并经过大量人工审核进行完善。尽管这个过程非常耗时,但它确保了查询质量和数据集可靠性显著提高。
ViDoRe Benchmark V2 的数据集选择
ViDoRe Benchmark V2 选择的数据集具有多样性、公开可用性和挑战性。每个数据集都具有独特的视觉复杂性,适用于实际检索任务,包括将查询翻译成法语、英语、西班牙语和德语的多语言版本。这种多语言方法进一步扩展了基准的适用性和挑战水平。
数据集名称 | 原始版本 | 多语言版本 | 原始文档语言 | 查询语言 | 文档数量 | 查询数量 | 页面数量 | Qrels 数量 | 平均页面/查询 | 评论 |
---|---|---|---|---|---|---|---|---|---|---|
保险 | vidore/synthetic_insurance_filtered_v1.0 |
vidore/synthetic_insurance_filtered_v1.0_multilingual |
法语 | 法语 | 4 | 18 | 260 | 86 | 4.7 | 小但有挑战性,多文档 |
麻省理工学院组织交互 | vidore/synthetic_mit_biomedical_tissue_interactions_unfiltered |
vidore/synthetic_mit_biomedical_tissue_interactions_unfiltered_multilingual |
英语 | 英语 | 27 | 160 | 1016 | 515 | 3.2 | 最大数据集,最提取 |
世界经济报告 | vidore/synthetic_economics_macro_economy_2024_filtered_v1.0 |
vidore/synthetic_economics_macro_economy_2024_filtered_v1.0_multilingual |
英语 | 英语 | 4 | 18 | 260 | 86 | 4.7 | 跨文档查询,高复杂性 |
ESG 报告 | vidore/synthetic_rse_restaurant_filtered_v1.0 |
vidore/synthetic_rse_restaurant_filtered_v1.0_multilingual |
英语 | 法语 | 30 | 57 | 1538 | 222 | 3.9 | 原生跨语言,特定行业 |
评估模型
为了评估 ViDoRe Benchmark 2 上的模型,我们遵循以下步骤:
选项 1:使用 CLI
以下是在 ViDoRe Benchmark 2 上使用 ColPali 类型检索器的 CLI 示例。有关其他检索器,请参阅此仓库。
vidore-benchmark evaluate-retriever \
--model-class colpali \
--model-name vidore/colpali-v1.3 \
--collection-name vidore/vidore-benchmark-v2-dev-67ae03e3924e85b36e7f53b0 \
--dataset-format beir \
--split test
选项 2:创建自定义检索器
有关如何操作的详细说明,请参阅此处
结果
以下是 ViDoRe Benchmark 2 上视觉检索模型的 ndcg_at_5
结果示例:
数据集 | voyageai | metrics-colqwen2.5-3B | colsmolvlm-v0.1 | colqwen2-v1.0 | colpali-v1.2 | dse-qwen2-2b-mrl-v1 | colSmol-256M | colpali-v1.3 | colqwen2.5-v0.2 | dse-llamaindex | tsystems-colqwen2.5-3b-multilingual-v1.0 | gme-qwen2-VL-7B | visrag-ret | colSmol-500M | colpali-v1.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
restaurant_esg_reports_beir | 0.561 | 0.645 | 0.624 | 0.622 | 0.321 | 0.614 | 0.460 | 0.511 | 0.684 | 0.631 | 0.721 | 0.658 | 0.537 | 0.522 | 0.465 |
insurance | 0.641 | 0.579 | 0.555 | 0.651 | 0.560 | 0.655 | 0.504 | 0.598 | 0.603 | 0.688 | 0.693 | 0.607 | 0.505 | 0.587 | 0.547 |
insurance_multilingual | 0.595 | 0.557 | 0.432 | 0.572 | 0.458 | 0.563 | 0.341 | 0.501 | 0.532 | 0.610 | 0.600 | 0.554 | 0.452 | 0.377 | 0.484 |
synthetic_economics_macro_economy_2024 | 0.588 | 0.566 | 0.609 | 0.615 | 0.531 | 0.615 | 0.534 | 0.516 | 0.598 | 0.612 | 0.548 | 0.629 | 0.596 | 0.503 | 0.567 |
synthetic_mit_biomedical_tissue_interactions | 0.564 | 0.639 | 0.581 | 0.618 | 0.585 | 0.592 | 0.532 | 0.597 | 0.636 | 0.606 | 0.653 | 0.640 | 0.548 | 0.543 | 0.564 |
synthetic_mit_biomedical_tissue_interactions_multilingual | 0.515 | 0.569 | 0.505 | 0.565 | 0.557 | 0.551 | 0.340 | 0.565 | 0.611 | 0.569 | 0.617 | 0.551 | 0.477 | 0.421 | 0.507 |
synthetic_rse_restaurant | 0.472 | 0.496 | 0.511 | 0.534 | 0.519 | 0.549 | 0.272 | 0.570 | 0.574 | 0.503 | 0.517 | 0.543 | 0.459 | 0.392 | 0.461 |
synthetic_rse_restaurant_multilingual | 0.462 | 0.492 | 0.476 | 0.542 | 0.540 | 0.557 | 0.313 | 0.557 | 0.574 | 0.512 | 0.533 | 0.567 | 0.464 | 0.391 | 0.481 |
synthetics_economics_macro_economy_2024_multilingual | 0.550 | 0.535 | 0.474 | 0.532 | 0.479 | 0.528 | 0.273 | 0.499 | 0.565 | 0.528 | 0.512 | 0.562 | 0.487 | 0.361 | 0.438 |
平均分 | 0.550 | 0.564 | 0.530 | 0.583 | 0.505 | 0.580 | 0.397 | 0.546 | 0.597 | 0.584 | 0.599 | 0.590 | 0.503 | 0.455 | 0.502 |
基准注释
我们调整了 voyageAI API 的评估程序,导致 ViDoRe benchmark v1 上的性能略低于 voyageAI 报告的值。这种差异可能是由于我们将输入图像的大小调整为最大图像高度 1200 像素,以方便高效的基准测试,而 voyageAI 的原始基准测试设置中可能没有应用此预处理步骤。
到目前为止,最好的模型似乎是基于 Qwen2.5 的。但是请注意,这些模型不属于开放许可证。
结果洞察
ViDoRe v2 基准的洞察
- ViDoRe v2 基准与原始 ViDoRe 基准保持着强相关性,这体现在两个版本中模型排名的一致性。
- ViDoRe v2 为未来的改进留下了巨大的空间,这与 ViDoRe v1 形成了对比,后者已接近性能饱和(分数超过 90%)。
- 某些模型表现出轻微过拟合训练分布的迹象,导致对新数据的泛化能力下降(例如,vidore/colSmol-256M、vidore/colSmol-500M、Metric-AI/ColQwen2.5-3b-multilingual-v1.0)。这些模型在 V2 上的表现比其在 V1 上的表现所预期的更差。
- ViDoRe v2 中的多语言分割更准确地评估了视觉检索模型在非英语环境中的能力。我们观察到仅使用英语 VLM 训练的英语模型与非英语模型之间存在显著的性能差距。
- 更大的模型规模是有益的;值得注意的是,gme-qwen7B 模型实现了强大的整体性能,但计算成本和推理延迟也显著增加。反之,虽然小于 1B 参数的模型在尺寸上令人印象深刻,但它们往往表现滞后,尤其是在以前未见过的数据分布上。
- 我们倾向于看到人工标注数据集(esg_human)在模型性能上表现出更好的区分度,这表明它的质量略高于合成数据集,并且是一个更具判别性的信号。
我们的目标是让 ViDoRe V2 成为一个动态的“活基准”,定期增加新的任务和数据集。为此,我们欢迎并鼓励社区贡献数据集和评估任务。这种协作方法有助于确保基准保持相关性、实用性,并反映现实世界的挑战。
注意
自数据集发布以来,由于法律版权原因,保险数据集已从数据集中删除。
引用
@misc{macé2025vidorebenchmarkv2raising,
title={ViDoRe Benchmark V2: Raising the Bar for Visual Retrieval},
author={Quentin Macé and António Loison and Manuel Faysse},
year={2025},
eprint={2505.17166},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2505.17166},
}
致谢
对于对 Visual RAG、ColPali 或代理系统进行深入讨论和项目感兴趣的专业人士,请随时联系 contact@illuin.tech,并联系我们在 Illuin Technology 的专家团队,他们可以帮助加速您的 AI 工作!
我们期待您的反馈和贡献!如果您有任何有趣的/对检索任务具有挑战性的文档集和相关查询,请随时给我们发送邮件!