PosIR
收藏资源简介:
PosIR是一个大规模异构基准数据集,用于诊断检索模型中的位置偏差。它包含310个数据集,涵盖10种语言和31个领域,通过严格的流程将相关性与精确的参考跨度联系起来,从而严格分离文档长度和信息位置。
PosIR is a large-scale heterogeneous benchmark dataset for diagnosing positional bias in retrieval models. It encompasses 310 datasets spanning 10 languages and 31 domains, and connects relevance with precise reference spans via a rigorous workflow, thereby strictly disentangling document length and information position.
PosIR: Position-Aware Heterogeneous Information Retrieval Benchmark 数据集概述
数据集简介
PosIR(Position-Aware Information Retrieval)是一个用于诊断检索模型中位置偏差(position bias)的大规模异构信息检索基准。该基准旨在解决现有评估方法通常忽略相关信息位置敏感性的问题,严格解耦文档长度与信息位置的影响。
核心特性
- 位置感知相关性:提供基于文本片段(span-level)的细粒度相关性标注。
- 解耦设计:严格分离文档长度与证据位置的影响。
- 规模与多样性:包含310个数据集,覆盖10种语言和31个领域。
- 诊断能力:专门用于诊断信息检索中的位置偏差(首因偏差和近因偏差)。
- 可解释性分析支持:支持基于梯度的显著性分析,用于探究模型内部机制。
技术细节
- 构建方法:通过严格的构建流程,将相关性与精确的参考文本片段绑定。
- 实验发现:
- 在长上下文设置下,模型在PosIR上的性能与MMTEB基准相关性较低,揭示了当前短文本基准的局限性。
- 位置偏差普遍存在,并随文档长度增加而加剧;大多数模型表现出首因偏差,部分模型显示出意外的近因偏差。
- 基于梯度的显著性分析进一步揭示了驱动这些位置偏好的不同内部注意力机制。
资源与访问
- 数据集地址:https://huggingface.co/datasets/infgrad/PosIR-Benchmark-v1
- 论文:即将发布(arXiv预印本准备中)
- 排行榜:即将开放,欢迎贡献
使用说明
环境安装
推荐使用 uv 和 Python 3.12 管理环境。需安装的Python包包括:polars, transformers, sentence_transformers, scikit-learn, pandas, pytrec_eval, psutil, flash-attn, datasets, einops。
评估流程
- 下载数据集至
PosIR-Benchmark-v1/目录。 - 配置并运行
eval.sh脚本进行单语或跨语言检索评估。 - 使用
agg_result.py脚本聚合31个领域的结果。 - 使用
ndcg_PSI_analysis.py脚本计算所有模型的NDCG和PSI指标。 - (可选)使用
draw_fig.py脚本可视化结果。
显著性分析
提供了针对 Qwen3-Embedding-8B 和 NV-Embed-v2 模型的基于梯度的显著性分析实验脚本(gradient_saliency/qwen3_exp.py, gradient_saliency/nvidia_exp.py)和可视化脚本(gradient_saliency/visualize.py)。




