在使用 Reranker 提升检索相关性的同时需要着重关注它的成本。这个成本包括两方面,增加延迟对于业务的影响、增加计算量对服务成本的增加。我们建议根据自己的业务需求,在检索质量、搜索延迟、使用成本之间进行权衡,合理评估是否需要使用 Reranker。
-
Reranker 会显著增加搜索延迟
未使用 Reranker 的情况下,RAG 应用只需执行低延迟的向量近似最近邻 (ANN) 搜索,从而获取 Top-K 相关文档。例如 Milvus Cloud向量数据库实现了 HNSW 等高效的向量索引,可实现毫秒级的搜索延迟。如果使用 Zilliz Cloud,还能借助更加强大的 Cardinal 索引进一步提升搜索性能。
但如果增加了 Reranker,尤其是 Cross-encoder Reranker 后,RAG 应用需要通过深度学习模型处理所有向量检索返回的文档,这会导致延时显著增加。相比于向量检索的毫秒级延迟,取决于模型大小和硬件性能,延迟可能提高到几百毫秒甚至到几秒!
-
Reranker 会大幅度提高计算成本