人工智能咨询培训老师叶梓 转载标明出处
大模型在处理需要从多个文档中检索和推理信息的多跳查询时,常常表现不佳,因为它们需要从多个来源检索和推理证据。图1展示了一个简单的RAG实现用于MultiHop-RAG查询。图中显示了用户查询、嵌入向量数据库、提示(Prompt)、查询上下文、错误响应的LLM、新闻文章以及从不同来源(Engadget、The Verge、BBC、CNN)的文章块。
为了解决这一问题,来自基辅-莫希拉国立大学的研究者提出了一种名为Multi-Meta-RAG的新方法,该方法通过使用数据库过滤和从LLM提取的元数据来改进检索增强生成(RAG)模型,从而更准确地选择与问题相关的文档。
想要掌握如何将大模型的力量发挥到极致吗?2024年10月26日叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。
留言“参加”即可来叶老师的直播间互动,1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。互动交流,畅谈工作中遇到的实际问题。
方法
Multi-Meta-RAG 的核心在于从查询中提取元数据以构建数据库查询过滤器。这一过程通过辅助大模型完成,它通过少量示例提示(few-shot prompt)来学习如何从查询中提取文章来源和发布日期等信息。
表1展示了几个查询及其对应的提取过滤器示例。例如,对于查询“TechCrunch的文章是否报道了Starz的新招聘,而Engadget的文章是否讨论了整个视频游戏行业的裁员?”提取的过滤器为{"source": {"$in": ["TechCrunch", "Engadget"]}}
。这表明系统能够理解查询要求从特定的新闻来源中检索信息。值得注意的是,对于最后一个示例查询,正确使用了$nin
操作符来排除特定来源TechCrunch。
这一步骤仅使用ChatGPT3执行,因为这一额外的RAG流程步骤必须快速且成本低廉。平均而言,这一步骤对于单个查询需要0.7秒。大多数查询都提取了来源过滤器,而发布日期过滤器则在15.57%的查询中被提取,尽管22.81%的MultiHop-RAG数据集中的查询是时间性的。
提取的元数据被用于增强RAG应用的性能,如图2Multi-Meta-RAG的工作流程所示。文章中的知识库文章被分割成包含256个token的块,使用LLamaIndex进行分割,并采用句子分割器,正如原始MultiHop-RAG实现中所做的。此外,选择了32的块重叠度,发现较小的块重叠度可以比原始实现中使用的LLamaIndex默认值200获得更好的top-K选择中独特块的多样性。
选择了LangChain Neo4j向量存储作为向量数据库,因为其索引实现最近开始支持元数据过滤。然后,使用嵌入模型将块转换并保存嵌入到向量数据库中,并将文章元数据保存为节点属性。在检索阶段,使用相同的嵌入模型转换查询,并检索与查询嵌入具有最高余弦相似度的top-K最相关块。同时,在相同的阶段使用大模型提取的元数据过滤块。与MultiHop-RAG类似,使用重排模块(bge-reranker-large)来检查检索性能。在使用嵌入模型和元数据过滤器检索了20个相应块之后,我们使用重排器选择top-K块。
通过这种方法,Multi-Meta-RAG 显著提高了在多跳查询中的RAG选择相关文档的性能,从而提高了对复杂查询的响应准确性。
实验
研究者选取了两种性能最优的嵌入模型bgelarge-en-v1.5和voyage-02,用以测试元数据过滤对块检索性能的影响。在这些实验中,检索得到的块列表与每个查询相关的ground truth evidence进行了比较,排除了那些缺乏对应证据的null查询。实验评估了Top-K块的检索情况,并采用了以下指标:
- Mean Average Precision at K (MAP@K):衡量所有查询中Top-K检索结果的平均精度。
- Mean Reciprocal Rank at K (MRR@K):计算每个查询在Top-K检索结果中第一个相关块的平均倒数排名。
- Hit Rate at K (Hit@K):衡量在Top-K检索结果中出现的证据比例。
实验结果(表2)表明,两种嵌入模型在所有核心指标上相较基线RAG均有显著提升:MRR@10、MAP@10、Hits@10和Hits@4。特别是对于voyage-02模型,Hits@4指标提升了17.2%。这一改进对于实际的RAG系统至关重要,因为检索到的Top-K结果数量应尽可能少,以适应上下文窗口限制和成本考量。
表3展示了使用MultiHop-RAG的LLM(GPT4和Google PaLM)的整体生成准确性。与基线RAG相比,两种模型的准确性都有显著提升。Google PaLM的准确性提高了25.6%,从0.47提升至0.608。GPT-4的结果也显示了7.89%的增长,从0.56提升至0.63。准确性是通过检查LLM生成的响应中的任何词是否出现在每个问题的正确答案中来计算的。
表4进一步细分了不同问题类型的LLM在MultiHop-RAG中的生成准确性。两种模型在推理查询中都取得了超过0.9的显著分数。Google PaLM在比较和时间查询方面的表现明显优于GPT-4。然而,PaLM在处理Null问题时表现挣扎,而GPT-4几乎达到了完美的分数。这些结果表明,结合两种模型处理不同查询可以是提高整体准确性的有效策略。
总体而言,Multi-Meta-RAG在块检索和LLM生成实验中均展现出显著的性能提升,与基线RAG相比,同时保持了方法的相对简单和可解释性。
论文链接:https://arxiv.org/pdf/2406.13213