为什么 RAG 还需要 Rerank

一句话速记

双塔检索:query 与 doc 分别 编码,再比相似度 —— 快,但不能对 (query, doc) 整对做深交互。
Rerank:用交叉编码器等在小集合 top-k再打分,把更相关的排到前面,用多算力更准的序

双塔瓶颈(为何还要二排)

  • Bi-encodersim(f(q), g(d)),f、g 只得固定 维向量,无法 建模 q 中某d 中某 句 的交叉 关系(以可接受 计算量 为前提)。
  • 实际现象:同义 能抓, 确到子句/否定/条件 时, 次优排序。
  • Reranker(常 cross-encoder):输入 拼接的 [q;d]Transformer相关 分数,两两 算,k 个(如 50→重排→10)上跑。

常见 Rerank 形态

类型说明成本
交叉编码器query+doc 同进一网络,分类/回归 相关分高、k 不宜大
轻量 模型 / 蒸馏 小模型时延成本 折中
重排序+截断只对前 50 条 重排,再取前 5 进 prompt工程标配 思路

ColBERT 等后期 交互」 介于双塔与全交叉 之间, 把全文拼进一塔, 有这一 即可。

不用 Rerank 何时可接受

  • 语料k 已很小、 顺序 敏感。
  • 稀疏通道(BM25)已 准的专名 场景。
  • 预算与时延 约束,query 改写/混合检索 也不上二排。

延伸追问

  • Q:Rerank 和 用** 更大 embedding 一塔** 区别?**
    答:更大单塔双塔 近似; 任意可替代 成对 细交互, 能力谱系 不同。
  • Q:Rerank 能 替代 混合 检索吗?**
    答:不能 单点替代;混合 解决 回** 广度,Rerank 解决** 与** 度。**

我的记法

TODO

状态

  • 已背速记
  • 能讲通俗版
  • 能答追问

参考资料

  • Dense Passage Retrieval后续 重排/ColBERT 系论文作脉络 即可。