提升RAG检索性能:如何选择最佳的词嵌入与重排序模型
2023-11-05RAG词嵌入重排序检索评估MRR
在构建一个检索增强生成(RAG)流程时,从词嵌入模型到重排序模型,选择的组合对最终的检索性能影响重大。那么如何才能确定最佳的组合呢?我们应该依据哪些指标去评价它们?
本文将针对这些问题,结合一篇关于RAG模型的文章,讨论选取最优词嵌入与重排序模型的方法,并提出一些有关如何优化模型检索性能的见解。
在过程中,我们主要依据两个广泛接受的度量指标:命中率(Hit Rate)和平均倒数排名(Mean Reciprocal Rank,简称MRR)。首先让我们了解这两个指标的含义及其运作方式。
命中率(Hit Rate)
命中率计算正确答案在前k个检索结果中出现的查询比例。简单地说,它可以反映系统在前几个推测中获得正确结果的频率。
平均倒数排名(MRR)
对于每个查询,MRR通过查看最高匹配相关文档的排名来评估系统的准确性。具体来说,它是所有查询倒数排名的平均值。倒数排名即相关文档的排名倒数,例如,如果第一个相关文档排名第一,那么倒数排名为1;如果排名第二,倒数排名为1/2,以此类推。
在明确了这两个指标之后,我们继续分析实验中使用的词嵌入与重排序模型,并考察它们的组合效果。
词嵌入模型:
- OpenAI Embedding
- Voyage Embedding
- CohereAI Embedding (v2.0/ v3.0)
- Jina Embeddings
- BAAI/bge-large-en
重排序模型:
- CohereAI
- bge-reranker-base
- bge-reranker-large
需要指出的是,这些实验结果是针对特定数据集和任务的,具体结果可能会受到数据特征、数据集大小等变量的影响。
下表展示了基于命中率和MRR的实验结果:
| 词嵌入模型 | 不重排序 | bge-reranker-base | bge-reranker-large | CohereRerank |
|---|---|---|---|---|
| OpenAI | - | - | - | - |
| Voyage | - | - | - | - |
| CohereAI | - | - | - | - |
| Jina | - | - | - | - |
| BAAI/bge-large-en | - | - | - | - |
分析
嵌入表现:
- OpenAI:与CohereRerank(命中率0.926966,MRR 0.865262)和bge-reranker-large(命中率0.910112,MRR 0.853993)的组合表现优异,说明这个词嵌入对重排序模型的兼容性很强。
- bge-large:与CohereRerank(命中率0.865169,MRR 0.805618)的组合结果显著改进。
- llm-embedder:与CohereRerank(命中率0.887640,MRR 0.825843)的组合表现非常好,性能得到显著提升。
- Cohere:最新的v3.0嵌入优于v2.0,并且与原生的CohereRerank结合可以显著提高指标,命中率达到0.876404,MRR为0.832584。
- Voyage:与CohereRerank(命中率0.915730,MRR 0.847940)的组合表现良好,说明旅行响应重排序工具的使用。
重排序模型对结果的影响:
- 不重排序:这提供了每个词嵌入模型的基线性能。
- bge-reranker-base:通常可以改进各词嵌入模型的命中率和MRR。
- bge-reranker-large:这个重排序模型在很多词嵌入模型中表现出最高或接近最高的MRR。
- CohereRerank:在所有词嵌入模型中一致提高性能,往往提供最佳或接近最佳的结果。
重排序器的必要性:
- 数据明显表明重排序器在改善搜索结果中的重要性。几乎所有词嵌入模型都受益于重排序,显示出改进的命中率和MRR。
- 重排序器,尤其是CohereRerank,已经证明它们有能力将平均水平的词嵌入模型转化为具有竞争力的词嵌入模型,如JinaAI所示。
结论
- 词嵌入:OpenAI和Voyage词嵌入,尤其是与CohereRerank/bge-reranker-large重排序模型配对,可以在命中率和MRR方面达到最高水平。
- 重排序器:CohereRerank/bge-reranker-large等重排序器的影响不容忽视。它们在提高许多词嵌入模型的MRR方面起到关键作用,显示出它们在改善搜索结果中的重要性。
- 基础关键:选择适合初始搜索的词嵌入模型非常重要;即使是最好的重排序器也无法显著改善基本搜索结果不佳的情况。
- 合作:要充分发挥检索器的优势,必须找到合适的词嵌入和重排序模型组合。本研究表明,仔细测试并找到最佳配对是至关重要的。