混合检索未必需要重排:多0.007分却慢56倍

|作者: QUASA 编辑团队|2 分钟阅读| 1
混合检索未必需要重排:多0.007分却慢56倍

在Accelate的BEIR SciFact测试中,300个标注查询对应5183篇文档;BM25、稠密向量、混合融合及混合加重排的nDCG@10依次为0.652、0.645、0.684和0.691。重排只比普通混合检索多0.007分,平均单次查询延迟却从34毫秒升至1934毫秒,超过原来的56倍。实验在CPU上对融合后的前100个候选重排,因此这笔时间代价不能直接套用到其他硬件或候选规模。

对中文企业搜索和RAG,选择取决于查询与语料:实体名称、编号和精确数值密集时,先建立可靠的BM25词面匹配;用户常用不同措辞提问时,测试稠密向量;两类需求并存时,比较混合融合与各单路结果。只有正确证据已进入候选集、却经常排不到产品实际使用的位置,而且排序收益足以抵消响应时间,才有充分理由增加重排器。

四种方案分别改变检索的哪一步

Elastic的检索阶段说明将BM25、向量搜索和混合检索用于获取候选,将计算更重的语义重排放在候选获取之后。BM25依据查询词与文档词项的匹配情况、词频和文档长度排序,适合型号、简称、条款名等原词具有辨识度的语料。稠密向量把查询与文档表示为向量,能够补足不同措辞之间的语义距离;但语义相近并不保证型号、期间或金额相同。

混合检索同时取得词面与向量候选,再融合两份结果。Elasticsearch的RRF规则按文档在各结果列表中的名次计算融合分数,无须直接比较量纲不同的BM25分数和向量相似度。各路候选仍有截取范围:若正确文档在进入融合前已被截掉,改变融合公式也无法让它出现。

交叉编码器重排处理的是下一步:模型同时读取查询与一篇候选文档,重新评估两者的相关性,然后调整已有候选的顺序。它适合解决“找到了却排得太低”,不能解决“第一阶段完全没找到”。因此,混合融合与重排不是同一种增强;前者可以扩大候选来源,后者把更多计算花在已取得的候选上。

按查询类型看起点与瓶颈

企业语料很少只有一种提问方式。下面的选择是由检索机制推导出的工程起点,不是针对所有中文数据集的效果排名;同一业务中的不同查询,应分别观察正确证据是在候选获取时丢失,还是在排序时落后。

  • 实体词与标识符:产品型号、合同编号、公司简称和内部项目代号宜从BM25及精确字段匹配起步。中文分词是否切开专名、别名是否进入索引,会直接影响结果。若用户也会用功能描述寻找同一实体,再比较向量或混合检索;重排器不能替代编号核对。
  • 自然语言问答:问题与文档表达同一意思却少有共同词项时,向量检索可能找到BM25遗漏的段落。若提问还带有系统名、部门名等必须准确对应的词,混合检索能同时保留两类线索。重排是否有用,要看正确段落是否已进入融合后的候选池。
  • 表格查询:问题可能同时依赖表头、行标签、期间及邻近正文。词面匹配有助于锁定名称,向量检索有机会补充不同表述,但两者都受文档表示方式影响。若切分后的片段丢失了行列关系,单纯增加重排计算也无法还原缺失的上下文。
  • 精确数字:金额、比例和年份必须连同实体、指标、单位及期间一起判断。BM25可帮助寻找原词,语义检索可扩大候选范围;最终数值仍应从可核验的原文或结构化字段取得。内容相似只说明值得查看,不能证明数字对应的是同一个问题。

为什么两个基准给出不同的重排收益

金融文本与表格检索研究以23088个问题和7318篇文档比较多种管线:BM25、稠密检索、RRF混合检索的Recall@5分别为0.644、0.587和0.695;混合检索接神经重排后,Recall@5为0.816,MRR@3为0.605。这项结果属于整条混合加重排管线,不能归功于重排器独立找回了文档。

这组金融问题的答案均为数值,文档混合了正文与表格,实验按整篇文档建立索引,重排时从混合结果中取候选。公司名称、财务指标和报告期间提供了有用的词面线索,因此所测BM25优于所测稠密模型;重排则显著改善了已召回文档的靠前位置。相较之下,SciFact测试使用科学文献、另一组模型和本地CPU推理,不能用金融基准的质量增益去推算SciFact的收益,也不能把SciFact的耗时当成金融场景的部署延迟。

两组结果共同说明,比较应落在具体语料和完整管线上。科学文献中的小幅nDCG改善,与数值型金融问答中更明显的靠前命中改善,衡量的是不同查询、文档及模型配置。中文企业文档若既有规章正文又有表格,整体平均分还可能掩盖某一类查询的失败。

用召回、排序与延迟解释差异

Recall@k看正确证据是否进入前k个结果。对RAG而言,k应接近实际送入生成模型的片段数;若正确证据根本不在重排候选池内,首先需要检查索引内容、表格表示、中文分词、向量模型或候选范围。只提高末端排序分数,无法弥补候选获取阶段的缺口。

MRR重视第一篇相关文档出现的位置,适合只显示首条结果或优先使用最靠前证据的产品。nDCG同时考虑相关程度与位置,更适合多篇证据质量有别的结果列表。两者回答的问题不同:某管线的nDCG增幅很小,仍可能改善首条命中;反过来,检索排序变好也不等于生成答案一定取对表格单元格或数值单位。

延迟同样要按完整查询路径计算。候选检索、融合、重排及模型调用都会进入用户等待时间;平均值之外,较慢请求的耗时也影响在线体验。若减少送入交叉编码器的候选数,计算量通常会下降,但排得较后的正确文档可能因此失去重排机会。这是质量与速度之间的真实取舍,而非某个组件的固定成本。

什么情况下值得增加重排

当BM25或混合检索已经稳定召回正确证据,干扰文档却频繁占据最靠前位置时,交叉编码器有明确任务。首条结果决定用户点击、或RAG只采用少量靠前片段的产品,更可能从排序改善中受益。若错误集中于别名缺失、表格结构丢失或数字字段切分不当,改进文档表示与候选获取通常更直接。

选型时应固定查询集、语料、切分方式和运行环境,分别记录BM25、纯向量、混合融合及混合加重排的分组表现。实体词、自然语言问答、表格和精确数字查询各自的Recall、MRR、nDCG与响应时间,比一个总体排名更能说明新增阶段是否值得。若业务依赖最终答案,还需核对答案所引用的实体、期间、单位和原始证据:检索命中只是生成正确答案的前提。

相关阅读:

分享:

订阅我们的新闻通讯

将最新 Web3、AI 和加密货币新闻直接发送到您的邮箱。

0