标签:大模型技术,RAG,检索器,性能优化 时间:2023-11-04T09:41:11
在构建检索增强生成(RAG)流程时,检索器是一个关键组成部分。我们有各种嵌入模型可供选择,包括OpenAI、CohereAI和开源的句子转换器。此外,还有CohereAI和句子转换器提供的几种重新排列器。但面对这些选项,我们如何确定最佳组合以获得顶级的检索性能?我们如何知道哪种嵌入模型最适合我们的数据?又或者哪种重新排列器能最大程度地提升我们的结果?
要衡量我们的检索系统的效能,我们主要依赖两个广泛接受的度量:命中率和平均倒数排名(MRR)。
命中率:计算在前k个检索到的文档中找到正确答案的查询的比例。简单来说,就是我们的系统在前几个猜测中正确的频率。
平均倒数排名(MRR):对于每个查询,MRR通过查看最高位相关文档的排名来评估系统的准确性。具体来说,它是所有查询的这些排名的倒数的平均值。所以,如果第一个相关文档是最佳结果,那么倒数排名就是1;如果是第二,倒数排名就是1/2,以此类推。
我们对各种嵌入模型和重新排列器进行了测试。下面是我们考虑的模型:
嵌入模型:
重新排列器:
需要提到的是,这些结果为这个特定数据集和任务的性能提供了深入的洞察。然而,实际结果可能会因数据特性、数据集大小和其他变量(如chunk_size, similarity_top_k等)的不同而有所不同。
下表展示了基于命中率和平均倒数排名(MRR)的评估结果:
嵌入模型性能:
重新排列器的影响:
重新排列器的必要性:
在本文中,我们展示了如何使用各种嵌入和重新排列器评估和提升检索器性能。以下是我们的最终结论。
如何对向量大模型(embedding models)进行微调?几行代码实现相关原理
开源模型进展迅猛!最新开源不可商用模型Command R+在大模型匿名投票得分上已经超过GPT-4-Turbo!
ToolTalk:微软发布的一个用以评测大语言模型工具使用能力的评测工具和评测数据集
如何让大语言模型(Large Language Model,LLM)发挥最大的性能?来自OpenAI的微调产品的工程主管人员的经验分享
基于Emebdding的检索增强生成效果不同模型对比:重排序十分有利于检索增强生成的效果
检索增强生成中的挑战详解:哪些因素影响了检索增强生成的质量?需要如何应对?
检索增强生成(RAG)方法有哪些提升效果的手段:LangChain在RAG功能上的一些高级能力总结
LangChain提升大模型基于外部知识检索的准确率的新思路:更改传统文档排序方法,用 LongContextReorder提升大模型回答准确性!
Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
回归模型中的交互项简介(Interactions in Regression)
贝塔分布(Beta Distribution)简介及其应用
矩母函数简介(Moment-generating function)
使用R语言进行K-means聚类并分析结果
普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
H5文件简介和使用
深度学习技巧之Early Stopping(早停法)
手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署
Wishart分布简介