概述
重排器可以改善该集合内部的排序,但无法添加检索遗漏的相关文档,也无法验证生成的答案。
深入探讨
检索流水线可以使用快速检索器来选择候选结果,并使用重排器对这个较小的集合进行评分。Nogueira 和 Cho 描述了针对 MS MARCO 的 BERT 段落重排;后续研究则探索了基于语言模型的重排。重排会改变候选顺序,而不是候选成员。在检索增强生成中,重排器无法恢复检索池中没有的文档,也无法证实生成的主张是否得到支持。
现实世界的实施
第一阶段检索器会返回候选结果,而交叉编码器会在最终排序之前对每个查询-文档对进行评分。
如果检索器返回了相关文档但排名靠后,重排器可以将其排得更高。
列表式语言模型重排器会在特定的提示词和候选预算下对比候选段落。
应将候选召回率与最终排序质量及生成主张的支持度分开进行评估。
检索重排序的未来
针对该任务选择候选数量和排序模型,然后分别测量检索覆盖率、排序质量、延迟和答案扎根情况。在保留查询集上与第一阶段基线进行对比。引用的来源支持特定的实验,并不能保证重排在所有 RAG 系统中都能减少幻觉。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
什么是检索重排?
检索重排会对第一阶段检索器返回的候选集进行重新排序。重排器可以改善该集合内部的排序,但无法添加检索遗漏的相关文档,也无法验证生成的答案。
重排序器在检索管道中的作用是什么?
重新排名是第二阶段:它仔细地重新排序快速检索器返回的候选者,优化顶部的精度。
交叉编码器与双编码器有什么区别?
交叉编码器连接查询和文档并联合运行它们,从而实现完全交叉注意力和更高的准确性。
为什么使用交叉编码器进行重新排序而不是第一阶段检索?
由于查询和每个文档必须一起处理,因此您无法预先计算文档向量,因此交叉编码器仅在小型候选集上运行。
第一阶段检索器通常优化什么?
寻回犬会撒出一张又宽又快的网,以最大限度地提高记忆力;然后,重新排序器会提高该池的精度。
重排器会如何影响 RAG 候选集,它又无法保证什么?
重排器只会对提供给它的候选结果进行评分和重新排序。它无法恢复遗漏的文档,无法保证相关性分数完全正确,也无法验证根据所得段落生成的主张。