Q2D-Web:大规模评估第一阶段检索器
一个包含 7 万个代理查询、1.9 亿个网页文档以及三组关联度判定的基准和排行榜。
今天,我们推出 Q2D-Web (Query2Doc-Web),这是一个用于评估智能体 RAG 系统中检索性能的私有基准和公共排行榜。Q2D-Web 将我们最初的 Q2D 基准扩展到了大规模语料库、更大的查询集以及更深层的判定标注。
Q2D-Web 旨在评估大规模网页搜索上的嵌入模型。它由 1900 万网页文档和 69,721 个十种语言的代理重构查询组成,这些查询是从九个月无 PII 的生产搜索流量中采样得出的。
在此规模下,查询-文档级别的关联度信号不可避免地较为稀疏。我们没有将单一来源视为真值,而是提供了三个关联度判定集,分别源自代理引用、生产网页排名以及对先前未判定对的附加 LLM 判定。多个来源限制了任何单一标注流程带来的偏差,而更深层的标注则减少了假阴性。
我们的排行榜 报告了公开发布的检索模型的评估结果,这些模型使用一致的索引、检索和评分流程直接针对基准进行评估。可以通过我们的请求表单提交评估。
现实检索评估的挑战
对于每个查询,生产级检索系统会搜索包含数十亿个网页的语料库,并返回数千个候选文档。这些候选文档决定了下游系统可以看到哪些源,从而直接塑造了代理可用的证据。
因此,对这一第一阶段进行真实评估需要三个维度上可扩展的基准:语料库中的文档数量、已判定查询的数量以及每个查询的关联度判定数量。
较大的语料库可以通过引入难负样本(与查询在语义上相似但不提供所请求信息的文档)来使基准更具鉴别力。检索器必须将这些合理的匹配项与相关文档区分开来。正如我们下面的子采样实验所示,在保留已知相关文档的同时缩减语料库可以去除这些干扰项并提高召回率。
更多已判定的查询使性能估计更加可靠。在查询集较小的情况下,基准结果在很大程度上取决于抽样了哪些查询,这使得精确估计每个模型的性能以及自信地区分不同模型变得更加困难。
更深层的判定减少了评估中的假阴性。在稀疏标签的情况下,检索器可能会浮现出未被判定且因此被错误计为不相关的相关文档。这降低了评估的可靠性。MS MARCO 是信息检索领域主要的开源大规模数据集,并塑造了神经检索模型的发展。在那里,人工检查的前期检索但未标记的段落中有 70% 实际上是相关的。
现有基准通常仅在其中一个或两个维度上进行扩展:网页规模的集合通常只有相对较少的已判定查询,而包含许多查询的基准通常使用小得多的语料库和稀疏的标签。此外,大多数基准使用人工编写的查询,而智能体 RAG 系统则使用经代理重构的查询进行搜索,这些查询在措辞、结构和具体性上可能有所不同。
Q2D-Web 在所有三个维度上进行扩展。在其组合判定集中,它包含 1.9 亿个网页文档、69,721 个经代理重构的查询,以及每个查询平均 99.6 个正面关联度判定。最接近的公开对比是 MS MARCO Web Search,即 MS MARCO 的网页规模版本。它拥有 1.009 亿个文档、9,374 个测试查询,以及每个查询一个派生自点击的正面标签。
我们是如何创建 Q2D-Web 的
查询
Q2D-Web 基于 23,000 个在九个月期间收集的、不含 PII 的生产搜索(涵盖十种语言和数十个领域)。
一次搜索包含代理针对用户消息执行的所有网页搜索工具调用。每个工具调用包含一个或多个查询。每个查询都根据用户请求、先前对话以及适用时在同一次搜索中先前检索到的文档进行重构。每个生产搜索包含一个主要查询(重述用户的真实信息需求)和零个或多个支持查询(探索替代措辞、背景信息或相关实体)。尽管它们处理的是相同的更广泛请求,但它们可能需要不同的文档,因此 Q2D-Web 会使用自身的关联度判定独立评估每个查询。
我们对所有包含的查询应用严格的隐私过滤。查询必须来自允许使用其数据的用户,并且使用 perplexity-ai/pplx-pii-masking 进行的 PII 检测会排除包含个人信息的查询。我们还会删除精确重复项、极短的查询以及包含诸如 site: 或带引号短语等搜索操作符的查询。
该基准涵盖十种语言。英语占查询的 65.8%,其次是西班牙语、俄语、德语、法语、葡萄牙语、意大利语、韩语、日语和汉语。查询分布还跨越了广泛的领域组合,包括消费品、编程、法律、健康、商业、科学、教育、技术、金融、旅游、娱乐、政治、本地信息和新闻。
语料库
对于每个查询,我们使用生产检索系统检索前 5,000 个文档,并取这些结果集的并集。然后,我们使用 MinHash–LSH 对语料库进行去重,将 token 5-gram 集的 Jaccard 相似度至少为 0.975 的文档进行聚类。
该数据集故意不采用随机网页样本。每个文档都被视为至少一个基准查询的合理结果。这产生了一组密集且困难的干扰项:与查询的主题或语言匹配,但可能缺少所需日期、实体、版本、数量或维度的页面。
判定
在大规模情况下,关联度标签本质上是不完整的。对每一个可能的查询-文档对进行标注是不可行的,并且每个判定来源都带有不同的偏差。
Q2D-Web 使用三个关联度集,而不是将单一来源视为真值,以此来增加标注深度,同时避免遭受单一偏差的影响。
引用将文档标记为相关,当且仅当代理在响应中引用了它。这是最接近下游使用的信号:代理选择了该文档作为某项主张的证据。但从结构上看,引用的特点是高精确度但低召回率。一旦代理有了足够的支撑,它就没有理由去引用其他每个相关的页面。
网页排名包含每个查询最多 50 个文档(平均 43.1 个),这些文档由第一阶段使用 BM25 和密集检索的内部检索堆栈确定,随后进行交叉编码器重排。这捕获了有用但未被引用的文档。
组合 + LLM 判定取引用和网页排名集的并集,然后为先前未判定的候选添加 LLM 判定,其目标是减少假阴性数量。我们汇集了来自 BM25、ColBERTv2 以及 2025 年 1 月 1 日之前发布的七个密集检索器的结果,使用倒数排名融合 (RRF) 合并它们的排名,选择前 500 个未判定的文档,并使用 DeepSeek-V4-Flash 应用严格的二元关联度判定器。
这三组数据让我们能够探究模型性能是否取决于关联度的定义方式。它们还减少了对单一标注堆栈的依赖,否则该堆栈可能会偏向于与用于生成标签的系统相似的检索器。
子采样:实现大规模高效评估
完整语料库评估既昂贵又缓慢。在 Q2D-Web 上使用 pplx-embed-v1-4b 进行单次评估需要 4,608 个 H200 GPU 小时,而即使像 EmbeddingGemma-300M 这样的小型模型也需要近 200 个 H200 GPU 小时。
为了保持评估的实用性,我们构建了语料库的子采样版本。
我们对采样策略进行了广泛的消融研究,以构建一个能够反映完整语料库行为的较小子语料库。每种策略都保留了所有被积极判定的文档,且仅在如何选择未判定的干扰项方面有所不同。重要的干扰项是检索器可能排在相关文档之上的干扰项,因为这些干扰项会改变模型的得分及其在排名中的位置。
我们对比了均匀随机抽样、跨构造检索器池化到固定深度以及针对不同深度的每个查询 RRF。基于 RRF 的抽样仅使用了完整语料库中 31.7% 的文档。它在 Combined 评判下保持了全语料库模型排序,同时贴近绝对得分,将平均 Recall@1000 提升了 5.2 个点,而在相同规模下随机抽样则会提升 12.8 个点。
这使评估成本降低到全语料库成本的三分之一左右。使用基于 RRF 的子语料库,pplx-embed-v1-4b 大约需要 1,500 个 H200 GPU 小时,而 EmbeddingGemma-300M 所需时间则不到 70 小时。
每次提交首先在采样的子语料库版本上进行评估。提交按总参数量分为两组:1B 以下和 1B 以上。在采样的子语料库中达到其组前十名的模型随后将在完整语料库上进行评估。在其组中排名前 10 之外的模型将仅发布在采样的子语料库排行榜上。
评估结果
在评估的模型中,Q2D-Web 凭借其 3 个不同的关联度集,提供了网页规模下检索性能的一致视图。排行榜将这些互补的视图并排呈现,允许用户检查模型在较窄的基于引用的标签和较宽的关联度判定下的表现。
我们将 Recall@1000 作为主要指标,因为第一阶段检索器只需要将相关文档放入候选池中,而后续的重排则决定它们的最终顺序。
表 1. 13 个检索器在 Citation、Web Ranking 和 Combined 相关性数据集上的全语料库 Recall@1000 和 nDCG@10。得分越高越好。
模型 | Recall@1000:引用 | Recall@1000:网页排名 | Recall@1000:组合 | nDCG@10:引用 | nDCG@10:网页排名 | nDCG@10:组合 |
BM25-tantivy | 60.84 | 42.50 | 45.25 | 7.30 | 11.45 | 29.27 |
EmbeddingGemma-300M | 80.10 | 58.93 | 66.24 | 12.21 | 17.30 | 41.95 |
mDenseOn | 73.72 | 52.56 | 60.09 | 10.08 | 15.06 | 38.87 |
Nemotron-3-Embed-1B | 75.64 | 54.37 | 62.44 | 9.69 | 14.83 | 38.84 |
Nemotron-3-Embed-8B | 83.14 | 61.73 | 69.33 | 13.17 | 18.69 | 45.65 |
pplx-embed-v1-0.6b | 81.85 | 62.15 | 67.91 | 12.52 | 19.76 | 42.73 |
pplx-embed-v1-4b | 85.03 | 65.73 | 70.00 | 14.18 | 21.29 | 44.12 |
Qwen3-Embedding-0.6B | 71.19 | 51.82 | 58.68 | 8.53 | 14.11 | 36.19 |
Qwen3-Embedding-4B | 76.49 | 55.60 | 62.78 | 9.91 | 14.97 | 38.82 |
Qwen3-Embedding-8B | 79.26 | 58.34 | 65.32 | 10.75 | 16.27 | 41.20 |
voyage-4-nano | 69.55 | 50.14 | 57.42 | 6.96 | 11.77 | 30.59 |
mLateOn | 74.16 | 53.12 | 61.77 | 10.94 | 15.51 | 41.61 |
pplx-embed-v1-late-0.6b | 78.64 | 58.14 | 64.20 | 11.88 | 17.25 | 41.77 |
pplx-embed-v1-4b 在所有三个评判数据集(Citation (85.03)、Web Ranking (65.73) 和 Combined (70.00))上的 Recall@1000 最高。在 Combined Recall@100 和 nDCG@10 方面,Nemotron-3-Embed-8B(30.32 和 45.65)的得分高于 pplx-embed-v1-4b(30.17 和 44.12)。
在同一系列模型中,较大的模型在 Combined Recall@1000 上的得分更高。Qwen3-Embedding 从 58.68 (0.6B) 提升至 65.32 (8B),Nemotron-3-Embed 从 62.44 (1B) 提升至 69.33 (8B),而 pplx-embed-v1 从 67.91 (0.6B) 提升至 70.00 (4B)。
Perplexity 模型的评估使用与所有其他提交模型相同的流程。然而,由于 Q2D-Web 衍生自 Perplexity 生产流量,这些模型可能会受益于同分布优势。尽管基准的评估查询和语料库已被排除在模型训练之外,但在解释结果时仍应考虑这一潜在优势。
如何提交至排行榜
要请求评估,请通过我们的评估请求表单提交公开可用的 Hugging Face 模型。
我们遵循提交仓库中的模型卡来设置模型特定的推理参数,包括推荐的查询和文档指令或前缀、池化、归一化以及相似度函数。所有查询和文档都使用模型自己的分词器截断到 512 个 token,包括指令、前缀和特殊标记,因此更长的支持上下文不会带来任何优势。请确保模型卡提供完整、明确的指令,以便复现预期的检索设置。
符合条件的模型必须通过标准的 transformers 或 sentence-transformers API 加载。无法在 trust_remote_code=False 下运行的模型在评估前需要对自定义代码和提交者进行人工审查,这需要花费相当长的时间。私有或受门控保护的仓库不符合条件。
阅读我们的技术报告以了解有关方法论和发现的更多信息。
引用
@online{perplexity2026Q2dWeb,
author = {{Perplexity} and Maximilian Schall and Sedigheh Eslami and Markus Krimmel and Antoine Chaffin and Louis Milliken and Bo Wang and Denis Bykov and Phi Hoang and Claire Beamer and Jeremy Yang},
title = {{Q2D-Web: Evaluating first-stage retrievers at scale}},
date = {2026-09-09},
url = {https://www.perplexity.ai/hub/blog/q2d-web}
}