一、Rerank简介

Rerank(重排名)是基于交叉熵损失优化的模型,以问题和文档为输入,直接输出相似度,用于对检索结果进行重新排序,以提高检索的准确性和相关性。

image.png

二、为什么需要重排序

  1. 大模型token长度限制:检索得到的chunks未经筛选,且LLM输入token长度受限,需用更准确方式对chunks与query的关系进行rerank,以提高MMR和命中率。
  2. cross encoder模型耗资源:rerank通常使用cross encoder模型对query和召回的chunk逐个排序,但该模型资源消耗大,推理时间长,通常放在最后环节,且输入长度一般不超过512。
  3. 小范围内精确计算:搜索存在随机性,第一次召回结果可能不理想。增加top_k大小,再用精确算法rerank,计算打分排序,时间可接受。
  4. 混合搜索时:混合检索融合多种技术优势,提升召回效果,但需整合和标准化处理结果。引入重排序模型可优化和精炼检索结果,提升top_3的Hit Rate指标。

三、向量数据库检索算法

四、Rerank模型原理

五、使用LLM作为ranker

LLM自主改进文档重排序的策略分为三类:

image.png