万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读

发布于 2024-6-26 13:03
浏览
0收藏

楔子

RAG(Retrieval-Augmented Generation), 检索增强生成,即从外部数据库获取额外信息辅助模型生成内容。楼主认为这项技术对于没有能力/预算进行大模型训练和微调的大C和小B用户来说,兼具了实用性和灵活性,是更有可操作性的解决方案。


如果你是一个AI小白,我来打一个比方:


你读完全日制高中的课程(暂不考虑文理分科),咱可以说你已经完成了预训练(Pre-training) ,已经具备了一个通用大模型的基础能力。然后你填报了计算机科学专业,完成四年的专业课学习,咱可以说你已经完成了一轮微调(Fine-Tuning) ,然后你就是一个合格的可以解答各类基础计算机相关的问题的大模型了。但毕竟本科四年学习周期有点长,咱想一个速成点的办法就是以你高中掌握的知识,再加上身边放一堆计算机专业的书籍,那这样你有了开卷考的buff加持,也勉强可以成为一个低配版解答基础计算机相关的问题的大模型了,而你收到问题,基于你高中的知识,在专业书籍中找到答案,组织后反馈给提问者的过程就是检索增强生成(RAG) 。有了这个比喻,你就可以比较直观地理解,RAG的方式成本小,不需要花4年拿个相应专业的文凭就可以上岗;而且RAG的方式比较灵活,身边放《Python 21天从入门到精通》你就是信息产业问答模型,身边放《母猪的产后护理》你就是畜物业问答模型。但是因为并不是科班出身,对于专业信息的理解消化能力有限,给出的答案质量会略为逊色;而且毕竟每次都要去翻书找答案,回答的效率也肯定会低于微调过的模型。在这样的情况下,如何摆放这些参考书籍,收到问题后按什么顺序去寻找答案就会影响到返回答案效率和质量。


概念介绍完了,楼主最近在阅读RAG相关的文章,这些文章大致上可以分为介绍概念、提升效率,评估效果这三类,贴一些和同好们共享。

1.《A Survey on Retrieval-Augmented Text Generation for Large Language Models》

简介

Retrieval-Augmented Generation (RAG) 结合了检索方法和深度学习的进步,通过动态整合最新的外部信息,解决了大型语言模型(LLMs)的静态局限性。这种主要关注文本领域的方法提供了一种成本效益的解决方案,用于生成LLMs可能产生的看似合理但错误的回应,通过使用真实世界的数据,提高了它们输出的准确性和可靠性。随着RAG在复杂性上的增长,并融合了多个可能影响其性能的概念,本文将RAG范式组织成四个类别:预检索、检索、检索后和生成,从检索视角提供了详细的观点。它概述了RAG的演变,并通过分析重要研究讨论了该领域的进展。此外,本文引入了RAG的评估方法,解决了所面临的挑战,并提出了未来研究的方向。通过提供一个有组织的框架和分类,本研究旨在整合关于RAG的现有研究,阐明其技术基础,并强调其扩大LLMs的适应性和应用的潜力。

译文地址

吕阿华:《A Survey on Retrieval-Augmented Text Generation for Large Language Models》——大语言模型检索增强文本生成综述(04/24) (https://zhuanlan.zhihu.com/p/695783525)

原文地址

A Survey on Retrieval-Augmented Text Generation for Large Language Models (https://arxiv.org/abs/2404.10981v1)

2.《Retrieval-Augmented Generation for Large Language Models: A Survey》

简介

该论文探讨了大型语言模型中检索增强生成的概念,着重于如何通过检索从外部知识库中获取相关信息来提升答案的准确性和减少模型幻觉,特别是在知识密集型任务中。

摘译一下一些文章中比较有用的内容:

RAG(检索增强生成) vs Fine-Tuning(微调)(原文第2节Background部分)

RAG是指结合了检索(从大型外部数据库中提取信息)和生成(基于检索到的信息生成答案)两个步骤。RAG通过引入外部知识来源,来增强语言模型的回答能力。Fine-Tuning是指在已有的预训练模型基础上,通过在特定数据集上进行额外的训练来优化模型。这个过程没有引入外部知识,而是调整模型以更好地适应特定任务。

优势

劣势

实时更新

外部依赖

RAG能够访问最新的外部信息,保持知识的时效性

RAG的性能高度依赖于外部知识库的质量和覆盖范围。

减少幻觉

实现复杂

通过使用外部验证信息,RAG有助于减少语言模型产生的错误或虚构信息

RAG的实现比单纯的微调更复杂,需要处理检索和生成的结合。

高透明度

生成延迟

生成答案时引用外部信息源,增加可信度和可追溯性。

检索过程可能增加回答生成的时间延迟。

避免重训练

准确性挑战

相比于微调,RAG减少了频繁重训练的需要,因为模型可以通过检索即时获取新信息

虽然可以减少幻觉,但RAG也面临着确保检索结果准确性和相关性的挑战。

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

文中的图2:RAG和其它模型优化方法比较


RAG框架(原文第3节RAG Framework部分)


基础RAG(Naive RAG)、高级RAG(Advanced RAG)和模块化RAG(Modular RAG) 是检索增强生成在大型语言模型中应用的三种不同形式。


基础RAG是RAG方法的原始形式,它结合了信息检索和文本生成两个阶段。在这个框架中,当模型接收到一个查询时,它首先执行一个检索步骤,从一个大型的、结构化的知识库中检索出与查询相关的信息片段。然后,这些检索到的信息被送入一个生成器模型,该模型结合原始查询和检索到的信息来生成回答。基础RAG的关键在于它将检索和生成紧密结合,使得生成的回答能够利用检索到的实时外部信息。


高级RAG对基础RAG进行了改进,引入了预检索(pre-retrieval)和后检索(post-retrieval) 优化策略。在预检索阶段,模型会通过对查询进行处理(如扩展或重写)来提高检索的准确性和相关性。在后检索阶段,模型可以对检索到的信息进行进一步的处理,如重新排序、信息压缩或合成,以便更有效地融合到生成步骤中。这种高级RAG通过在检索前后增加额外的处理步骤,提高了回答的质量和相关性。


模块化RAG是一种更灵活的RAG实现,它允许不同的检索和生成模块根据特定的应用需()求进行替换或重新配置。这种方法的关键在于模块化设计,使得研究者和开发者可以针对特定问题选择最合适的检索器和生成器。例如,对于某些特定类型的查询,可以选择特化的检索模块,或者针对特定的生成任务,选择一个适合该场景的生成器。模块化RAG提供了更大的灵活性和适应性,适用于多样化和动态变化的应用场景。


高效和准确的检索(原文第4节Retriever部分)


要实现高效而准确的检索涉及两部分的优化:文档块大小(Document Chunk Size) 优化和向量模型(Embedding Models) 优化,而考虑到RAG的使用者未必有能力/资源进行模型优化,所以可以着重关注文档大小优化部分。


文中阐述的内容大致如下:较小的文档块可以提高信息检索的精确度,但可能丢失上下文;较大的块提供更多上下文,但可能包含不相关信息。使用者可以根据内容复杂度或查询性质,动态调整块的大小。并通过不同块大小的测试,找到最佳平衡点。


第4节还提到用查询重写(Query Rewrite) 和向量转换(Embedding Transformation) 来对齐用户查询和文档的语义空间,以及使用监督训练(Supervised Training) 让检索器的输出与大型语言模型的偏好相对齐,想了解细节的可以阅读原文。


优化生成器(generator)(原文第5节Generator部分)


生成器决定了最终呈现给用户的答案,文中也给出一些优化的方案。


检索得到相应信息后,在提交至生成器之前需要进行后检索处理(Post-retrieval Processing) ,指的是进一步处理、过滤或优化检索器从大型文档数据库中检索到的相关信息。然后再进行 信息压缩(Information Compression) 和 结果重排(Result Rerank) 。这一过程的主要目的是提高检索结果的质量,以更好地满足用户需求或后续任务。比如减轻上下文长度限制和对冗余信息的易感性。


文章后面涉及到对生成器的微调,感兴趣的读者请看原文,在此不表。


RAG效果评估 (原文第6节Augmentation in RAG部分)


生成器生成答案后,需要有科学的输出内容评估体系整个RAG流程才算闭环。


文中介绍了两种评估RAG的方法:独立评估(Independent Evaluation) 和 端到端评估(End-to-End Evaluation) 。


独立评估方法会分别评估检索模块(Retrieval Module) 和生成模块(Generation Module) ,其中检索模块评估指标包括指标包括命中率(Hit Rate) 、平均排名倒数(Mean Reciprocal Rank, MRR) 、归一化折扣累积增益(Normalized Discounted Cumulative Gain, NDCG) 、准确率(Precision) 等,这些指标用于测量系统在根据查询或任务排名项目方面的有效性。而生成模块评估通常在端到端评估中进行。评估指标主要关注上下文相关性,测量检索到的文档与查询问题的相关性。


端到端评估方法评估RAG模型对给定输入生成的最终响应,包括模型生成答案与输入查询的相关性和对齐程度。从内容生成目标视角来评估可以将评估划分为未标记内容和已标记内容。未标记内容评估指标包括答案忠实度(Answer Fidelity) 、答案相关性(Answer Relevance) 、无害性(Harmlessness) 等,而已标记内容评估指标包括准确率(Accuracy) 和 精确匹配(Exact Match, EM) 。端到端评估可以分为人工评估和使用大型语言模型的自动评估。此外,还可以根据RAG在特定领域的应用,采用特定的评估指标,例如在问答任务中使用EM。


文章中还介绍了两套RAG评估框架,RAGAS (Es et al. 2023) 和 ARES (Saad-Falcon et al. 2023)


两个评估框架的核心焦点是以下三个主要指标:

  • 答案忠实度:这个指标强调模型生成的答案必须忠实于给定的上下文,确保答案与上下文信息一致且不偏离或矛盾。这个评估方面对于解决大型模型中的幻觉问题至关重要。
  • 答案相关性:这个指标强调生成的答案需要与提出的问题直接相关。
  • 上下文相关性(Context Relevance):这个指标要求检索到的上下文信息与查询相关。


原文地址 《Retrieval-Augmented Generation for Large Language Models: A Survey》(https://arxiv.org/pdf/2312.10997.pdf)

3. 《Retrieving Multimodal Information for Augmented Generation: A Survey》

简介

《Retrieving Multimodal Information for Augmented Generation: A Survey》是一篇由新加坡南洋理工大学、新加坡国立大学和Salesforce Research的研究人员撰写的论文,描述了多模态RAG的发展现状和未来趋势。在多模态RAG的研究中,针对不同的模态,包括图像、代码、结构化知识、音频和视频,有不同的检索和合成程序、目标任务和挑战。

本文摘译精华部分作为多模态RAG研究方向的参考。

译文地址

吕阿华:多模态RAG综述(https://zhuanlan.zhihu.com/p/678812531)

原文地址 Retrieving Multimodal Information for Augmented Generation: A Survey(https://arxiv.org/abs/2303.10868)

4.《A Guide on 12 Tuning Strategies for Production-Ready RAG Applications》

简介

文章主要讨论了如何通过调整 “超参数(hyperparameters)” 和采用不同的调优策略来提高检索增强生成管道的性能。12个优化策略中,摄取阶段和推理阶段各有6个可优化点。由于篇幅所限,每个优化点作者都是点到为止,并没有太具体的实战案例说明。

摄取阶段(Ingestion Stage)

在RAG管道的摄取阶段,主要关注的是数据的准备和处理,以及如何有效地存储和索引数据。

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

RAG管道的摄取阶段

数据清理(Data Cleaning): 这个阶段需要确保数据质量,包括基本的自然语言处理清理技术,确保信息一致性和事实准确性。


分块(Chunking): 将文档分割成逻辑上连贯的信息片段,这可能涉及将长文档分割成较小部分或将较小片段组合成连贯段落。


向量模型(Embedding Models): 向量模型是检索的核心,向量的质量极大影响检索结果。可以考虑使用不同的向量模型,有条件的话可以对特定用例进行微调。


元数据(Metadata): 在向量数据库中存储向量时,可以添加元数据,以便于后续的搜索结果后处理。


多索引(Multi-indexing): 如果元数据不足以提供额外信息以逻辑上分隔不同类型的上下文,可以尝试使用多个索引。


索引算法(Indexing Algorithms): 选择和调整近似最近邻(ANN)搜索算法,比如Facebook的Faiss、Spotify的Annoy、Google的ScaNN和HNSWLIB。


推理阶段——检索和生成(Inferencing Stage——Retrieval & Generation)

推理阶段涉及检索和生成过程,主要关注如何改进检索结果的相关性和生成响应的质量。

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

RAG管道的推理(检索和生成)阶段


查询转换(Query Transformations): 如果搜索查询未产生满意的结果,可以尝试不同的查询转换技术,如重新措辞(Rephrasing) 、假设文档嵌入(HyDE)  或 子查询(Sub-queries) 。


检索参数(Retrieval Parameters): 考虑是否需要语义搜索或混合搜索,并调整聚合稀疏和密集检索方法的权重。


高级检索策略(Advanced Retrieval Strategies): 探索高级检索策略,如句子窗口检索或自动合并检索。


重新排序模型(Re-ranking Models): 使用重新排序模型来消除不相关的搜索结果。


大语言模型(LLMs): LLM是生成响应的核心组件。可以根据需求选择不同的LLM,并考虑针对特定用例进行微调。


提示词工程(Prompt Engineering): 提示词的使用将显著影响LLM的完成情况。


作者在文章开头就强调,数据科学是一门实验性科学,不存在适用于所有问题的通用算法。文中的12种方法可以给读者在RAG优化的过程中的提供操作思路,而作为数据科学家,在具体的案例中需要使用实验跟踪系统来调整RAG项目的各项超参数,以实现最佳性能。

原文地址

《A Guide on 12 Tuning Strategies for Production-Ready RAG Applications》(https://towardsdatascience.com/a-guide-on-12-tuning-strategies-for-production-ready-rag-applications-7ca646833439)

5. 《Improving Retrieval Performance in RAG Pipelines with Hybrid Search》

简介

文章主要讨论了如何通过结合传统的基于关键词的搜索和当下流行的向量搜索来找到更相关的搜索结果,以提高RAG管道的性能。在RAG管道的开发中,达到初步的80%性能相对容易,但要实现剩余的20%以达到生产就绪状态则颇具挑战。作者强调,改进RAG管道的检索组件是一个常见的主题,其中混合搜索(Hybrid Search)是一个重要的策略。

混合搜索的定义和工作原理

混合搜索是一种结合两种或更多搜索算法的技术,旨在提高搜索结果的相关性。它通常指的是传统的基于关键词的搜索和现代的向量搜索的结合。


基于关键词的搜索(Keyword-based Search): 在混合搜索的上下文中,基于关键词的搜索通常使用称为稀疏嵌入(Sparse Embeddings)的表示形式。这种稀疏嵌入是由大部分为零值的向量组成,只有少数非零值。稀疏嵌入可以通过不同的算法生成,其中最常用的算法是BM25(Best Match 25),它基于TF-IDF(Term Frequency-Inverse Document Frequency)方法,并对其进行了改进。简而言之,BM25强调了基于它们在单个文档中的频率相对于所有文档的频率的术语的重要性。


向量搜索(Vector Search): 向量搜索是随着ML(机器学习)算法的进步而出现的现代搜索技术。现代机器学习算法中如转换器(Transformers) 生成的数据对象(如文本、图像等)的数值表示,称为向量嵌入(Vector Embeddings) 。这些向量嵌入通常包含大量信息,大部分由非零值组成(密集向量)。搜索查询被嵌入到与数据对象相同的向量空间中,然后使用其向量嵌入来计算与指定相似度度量(如余弦距离(Cosine Distance) )最接近的数据对象。返回的搜索结果按照与搜索查询的相似度排序。


关键词和向量搜索结果的融合: 基于关键词的搜索和向量搜索都会返回一组单独的结果,通常是按计算出的相关性排序的搜索结果列表。这两组单独的搜索结果需要被合并。合并两个排名列表的策略有很多种,通常首先对搜索结果进行评分。这些评分可以基于指定的度量(如余弦距离)或仅仅是搜索结果列表中的排名来计算。然后,使用参数alpha对计算出的评分进行加权,这个参数决定了每种算法的权重,并影响结果的重新排序。

​混合得分(Hybrid Score) = (1 - alpha) * 稀疏得分(Sparse Score) + alpha * 密集得分(Dense Score)​

通常,alpha取值在0到1之间,其中:

  • alpha = 1:纯向量搜索(Pure Vector Search)
  • alpha = 0:纯关键词搜索(Pure Keyword Search)混合搜索通过结合两种搜索技术的优势,特别是在文本搜索用例中,可以显著提高搜索结果的相关性。

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

alpha=0.5的混合搜索微型案例

如何利用混合搜索提高RAG管道的性能

RAG管道有许多可调整的部分以提高其性能。其中之一是通过改善检索组件来提高检索到的上下文的相关性,因为如果检索到的上下文对于回答给定问题不相关,那么LLM也无法生成相关的答案。


根据上下文类型和查询,读者需要确定三种搜索技术中哪一种最有利于自己的RAG应用。因此,控制基于关键词搜索和语义搜索之间权重的alpha参数可以视为需要调整的超参数(Hyperparameter) 。


文中还举了在LangChain中使用混合搜索的例子。在常见的使用LangChain的RAG管道中,可以通过设置使用的向量存储组件(vectorstore component) 作为检索器来定义检索器组件,如下所示:

vectorstore = ...
retriever = vectorstore.as_retriever()

然而,这种方法只启用了语义搜索。如果读者想在LangChain中启用混合搜索,则需要定义一个具有混合搜索能力的特定检索器组件,比如WeaviateHybridSearchRetriever:

from langchain.retrievers.weaviate_hybrid_search import WeaviateHybridSearchRetriever
retriever = WeaviateHybridSearchRetriever(
    alpha = 0.5,
    client = client,
    index_name = "LangChain",
    text_key = "text",
    attributes = [],
)

其他的普通RAG管道保持不变。


这段代码更改允许读者尝试在基于关键词的搜索和向量搜索之间进行不同的权重调整。请注意,设置alpha = 1等于完全的语义搜索,这相当于直接从向量存储组件定义检索器(retriever = vectorstore.as_retriever())。

何时使用混合搜索

活用混合搜索是一种理想状态,通常用户希望启用语义搜索(Semantic Search) 的能力以提供更类似于人类的搜索体验,但同时也需要对特定术语进行精确短语匹配,例如通过序列号搜索。


在灵活运用混合搜索方面一个很好的例子是Stack Overflow平台,它最近通过使用混合搜索扩展了其搜索能力。最初,Stack Overflow使用TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率) 来匹配关键词和文档,但在描述正在尝试解决的编码问题时可能就会遇到困难。比如用户不同的词汇描述问题,就可能会导致不同的结果(例如,合并两个Pandas DataFrames可能会通过不同的方法完成,比如合并/连接/串联 )。因此,更具上下文感知的搜索方法,如语义搜索,对于这些情况将更有益。而另一方面,Stack Overflow的一个常见用例是复制粘贴错误消息。对于这种情况,精确的关键词匹配是首选的搜索方法。同时用户还会希望对方法和参数名称(例如,在Pandas中的.read_csv())进行精确的关键词匹配。


和Stack Overflow一样,许多类似的现实世界用例可以从具有上下文感知的语义搜索中受益,但仍然依赖于精确的关键词匹配。这些用例可以从实现混合搜索检索器组件中获得很大的好处。

原文地址

《Improving Retrieval Performance in RAG Pipelines with Hybrid Search》(https://towardsdatascience.com/improving-retrieval-performance-in-rag-pipelines-with-hybrid-search-c75203c2f2f5)

看到这里有没有感觉有不少陌生的名词?可以一边查字典一边看

吕阿华:人工智能名词字典 (https://zhuanlan.zhihu.com/p/671175717)

6. 《Advanced RAG Techniques: an Illustrated Overview》

简介

文章主要探讨了RAG技术的高级应用和算法,系统化地整理了各种方法,附带了作者知识库中引用的各种实现和研究的链接。文章的目标是概览和解释可用的RAG算法和技术,并不深入代码实现细节。


文章的引言部分提到两个最著名的开源库用于基于LLM的管道和应用是LangChainLlamaIndex ,分别在2022年10月和11月成立,并chatGPT大热的带动下在2023年被大量采用。本文中系统化整理的高级RAG技术,以及提供对它们的实现的参考,也主要在LlamaIndex中进行。


文章主要的内容集中在高级RAG(Advanced RAG) 部分,涉及到的RAG技术有:

  • 分块和向量化(Chunking & Vectorisation)
  • 搜索索引(Search Index)
  • 多层索引(Hierarchical Indices)
  • 假设问题和HyDE(Hypothetical Questions and HyDE)
  • 上下文增强(Context Enrichment)
  • 融合检索或混合搜索(Fusion Retrieval or Hybrid Search)
  • 重新排序和过滤(Reranking & Filtering)
  • 查询转换(Query Transformations)
  • 查询路由(Query Routing)
  • RAG中的智能体(Agents in RAG)
  • 响应合成器(Response Synthesiser)

文章最后还介绍了如何进行编码器和LLM微调来优化RAG的效果。由于文章中干货较多,楼主需要新开一篇专门放置这篇文章。

译文地址

吕阿华:《高级 RAG 技术:图解概述》精华摘要(https://zhuanlan.zhihu.com/p/674906924)

原文地址

《Advanced RAG Techniques: an Illustrated Overview》 (https://pub.towardsai.net/advanced-rag-techniques-an-illustrated-overview-04d193d8fec6)

7. 《SELF-RAG: Learning To Retrieve, Generate, and Critique Through Self-Reflection》

简介

这篇论文的主要内容是介绍了一种名为SELF-RAG的框架,这是一种自我反思式的RAG方法,旨在提高LLM的生成质量和事实准确性。这个框架训练一个任意的LLM以适应性地检索文本段落,并在检索的过程中生成和反思检索到的段落及其自身的生成内容,使用特殊的反思token(reflection tokens)。文章通过实验对六项任务进行了全面评估,使用多个指标表明SELF-RAG显著优于具有更多参数的LLMs或传统的检索增强生成方法。

译文地址

吕阿华:《SELF-RAG:通过自我反思学习检索、生成和自我批评》精华摘译 (https://zhuanlan.zhihu.com/p/676283921)


原文地址 《SELF-RAG: LEARNING TO RETRIEVE, GENERATE, AND CRITIQUE THROUGH SELF-REFLECTION》(https://arxiv.org/pdf/2310.11511.pdf)

8.《RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval》

简介

检索增强型语言模型(Retrieval-augmented language models) 能够适应世界的变化并包含更广泛的知识。但是,现有方法通常只能检索文档中的短文本段落,这限制了对文档整体上下文的深入理解。为了克服这个问题,本文提出了RAPTOR模型 ,它采用一种创新方法,通过递归地向量化 、聚类和摘要文本 ,自下而上构建出一个包含不同级别摘要的树状结构 。在使用时,RAPTOR能够从这棵树中检索信息,有效整合长篇文档中的信息,覆盖不同的抽象层次。通过实验发现这种递归摘要的检索方式在多个任务上都优于传统的检索增强方法。特别是在需要复杂推理的问答任务上,结合RAPTOR和GPT-4的使用将QuALITY基准测试的性能提高了20% 。

译文地址

吕阿华:《RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL》精华摘译 (https://zhuanlan.zhihu.com/p/681496536)

原文地址

《RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval》(https://arxiv.org/abs/2401.18059)

9. 《Blended RAG: Improving RAG Accuracy with Semantic Search and Hybrid Query-Based Retrievers》

简介

RAG作为一种流行的方法,它将私有文档库与LLM结合起来,用以构建生成式问答(Q&A)系统。然而,随着文档库的扩大,RAG的准确性变得越来越具有挑战性,检索器在整体RAG准确性中扮演着重要角色,通过从文档库中提取最相关的文档为LLM提供上下文。本文提出了一种‘混合RAG’方法,利用语义搜索技术,如密集向量索引和稀疏编码器索引,结合混合查询策略。相应的研究也取得了更好的检索结果,并为像NQ和TREC-COVID这样的信息检索(IR)数据集设定了新的基准。作者进一步将这种‘混合检索器’扩展到RAG系统中,展示了在像SQUAD这样的生成式问答数据集上的卓越结果,甚至超越了微调的性能。

译文地址

吕阿华:《Blended RAG: Improving RAG Accuracy with Semantic Search and Hybrid Query-Based Retrievers》精华摘译 (https://zhuanlan.zhihu.com/p/693869946)

原文地址

《Blended RAG: Improving RAG Accuracy with Semantic Search and Hybrid Query-Based Retrievers》(https://arxiv.org/abs/2404.07220)

10. 《RAGAR, Your Falsehood RADAR: RAG-Augmented Reasoning for Political Fact-Checking using Multimodal Large Language Models》

简介

随着虚假信息问题日益严重,特别是在政治话语中,迫切需要先进的事实核查解决方案。本文引入了创新的方法,通过将大型语言模型(LLMs)与基于检索增强生成(RAG)的高级推理技术相结合,来提高多模态事实核查的可靠性和效率。本研究提出了两种新方法:

链式RAG(CoRAG)和树式RAG(ToRAG)。这些方法通过推理基于前期证据需要回答的下一个问题来处理多模态声明。与传统的子问题生成和链式推理真实性预测方法相比,本文的方法提高了真实性预测的准确性,并改进了解释生成。通过采用擅长分析文本和图像的多模态LLM,本研究增强了自动化系统在识别和对抗虚假信息方面的能力。

译文地址

吕阿华:《虚假信息雷达RAGAR:使用MLLMs进行事实核查的RAG增强推理》精华摘译(https://zhuanlan.zhihu.com/p/702890167)

原文地址

RAGAR, Your Falsehood RADAR: RAG-Augmented Reasoning for Political Fact-Checking using Multimodal Large Language Models(https://arxiv.org/abs/2404.12065)

11.《Evaluating RAG Applications with RAGAs》

简介

第一篇文章介绍了一个用于评估RAG应用的框架,称为RAGAs(Retrieval-Augmented Generation Assessment) ,这篇文章详细介绍了RAGAS框架,它的核心目标是提供一套综合性的评估指标和方法,以量化地评估RAG管道(RAG Pipeline) 在不同组件层面上的性能。RAGAs特别适用于那些结合了 检索(Retrieval) 和生成(Generation) 两个主要组件的RAG系统。


评估体系(原文Evaluation Metrics部分)


文章Evaluation Metrics部分介绍了RAGAs的评估体系:


无参考评估: RAGAs最初设计为一种“无参考”评估框架,意味着它不依赖于人工注释的真实标签,而是利用大型语言模型(LLM)进行评估。


组件级评估: RAGAs允许对RAG管道的两个主要组件——检索器和生成器——分别进行评估。这种分离评估方法有助于精确地识别管道中的性能瓶颈。

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

检索器和生成器的性能表

综合性评估指标: RAGAs提供了一系列评估指标,包括上下文精度(Context Precision) 、上下文召回(Context Recall) 、忠实度(Faithfulness) 和答案相关性(Answer Relevancy) 。这些指标共同构成了RAGAs评分,用于全面评估RAG管道的性能。


评估流程(原文Evaluating a RAG Application with RAGAs部分)


RAGAs的评估流程在文中有比较详细的描述,在此只摘抄关键字。

  • 开始:启动准备和设置RAG应用的过程。
  • 数据准备:加载和分块处理文档。
  • 设置向量数据库:生成向量嵌入并存储在向量数据库中。
  • 设置检索器组件:基于向量数据库设置检索器。
  • 组合RAG管道:结合检索器、提示模板和LLM组成RAG管道。
  • 准备评估数据:准备问题和对应的真实答案。
  • 构建数据集:通过推理准备数据并构建用于评估的数据集。
  • 评估RAG应用:导入评估指标并对RAG应用进行评估。
  • 结束:完成评估过程。整个流程如下图所示:

万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

RAGAs评估流程

尽管构建一个概念验证(Proof-of-Concept) 的RAG应用相对容易,但要使其性能达到生产就绪状态却非常困难。在拥有评估RAG应用性能的工具的基础上,读者们可以建立一个实验管道,并开始使用各种调优策略来调整性能。

原文地址

《Evaluating RAG Applications with RAGAs》 (https://towardsdatascience.com/evaluating-rag-applications-with-ragas-81d67b0ee31a)

12.《Evaluating Verifiability in Generative Search Engines》

简介

这篇论文研究了生成式搜索引擎在应对用户查询时,其回应的可验证性(Verifiability) 。一个值得信赖的生成式搜索引擎应具备高度的可验证性,即系统应全面(高引用召回率(Citation Recall),所有陈述都有充分引用支持)且准确(高引用精确度(Citation Precision) ,每个引用都支持其相关陈述)地引用资料。研究通过人类评估对四个流行的生成式搜索引擎 —— Bing Chat、NeevaAI、perplexity.ai  和 YouChat —— 在各种查询中的表现进行了审查。研究发现,尽管这些引擎的回应流畅且看似信息丰富,但经常包含未经支持的陈述和不准确的引用:平均而言,只有51.5%的生成句子得到了引用的完全支持,而仅有74.5%的引用支持其关联的句子。

可验证性评估方法

文中第2节Human Evaluation of Fluency, Perceived Utility, and Verifiability中介绍了4个评估可验证性的维度和方法,分别是流畅性(Fluency) 、感知效用(Perceived Utility) 、引用召回率和引用精确度。


流畅性的测量方法是通过让评估者对生成回应的流畅性和连贯性进行评分来测量。评估者需要考虑文本的语法正确性和整体的连贯性。然后让评估者使用五点Likert量表(从“强烈不同意”到“强烈同意”)对生成回应的流畅性和连贯性做出评价。


感知效用的测量方法是让评估者根据生成回应是否有助于回答用户的问题,对其有用性进行评价。同样采用五点Likert量表。


引用召回率的测量会首先识别出回应中需要验证的陈述,然后判断对每个陈述,确定是否有引用支持,并评估这些引用是否充分支撑了陈述的内容。


引用精确度的测量会让评估者对每个陈述判断其关联引用提供了多少支持(零/部分/全部),其中对于有多个引用的陈述,评估者还需判断这些引用的综合是否为陈述提供了完全支持。然后根据引用对陈述的支持程度计算引用的精确度。


文中还定义了一个可验证性的综合指标Citation F1,该指标值越大,系统的可验证性越高。


Citation F1 = 万文长文搞定检索增强生成(RAG)技术——13篇热门RAG文章解读-AI.x社区

论文的第4节Results and Analysis部分还列出了前面提到的4个生成式搜索引擎不同维度的评估结果,这里不费篇幅介绍,有兴趣的读者请移步原文了解详情。

原文地址

《Evaluating Verifiability in Generative Search Engines》(https://arxiv.org/pdf/2304.09848.pdf)

13. 《ARAGOG: Advanced RAG Output Grading》

简介

RAG对于把外部知识融入大型语言模型LLM的输出中非常关键。虽然围绕 RAG 的研究文献逐渐增多,主要集中于系统地回顾和比较新的最先端(SoTA)技术及其前身,但在进行广泛的实验比较方面还存在不足。本项研究旨在通过评估不同 RAG 方法对检索精度和答案相似度的影响来填补这一空白。研究结果表明,假设性文档嵌入(Hypothetical Document Embedding,HyDE)和 LLM 的重排序能够显著提高检索精度。然而,最大边际相关性(Maximal Marginal Relevance,MMR)和 Cohere 的重排序并没有显示出相对于简单 RAG 系统的显著优势,多查询方法的效果也不尽如人意。句子窗口检索被证明是提高检索精度最有效的方法,尽管其在答案相似度方面的表现不够稳定。该研究还验证了文档摘要索引作为一个有效检索方式的可能性。

译文地址

吕阿华:《ARAGOG: Advanced RAG Output Grading(高级RAG输出评分)》精华摘译(https://zhuanlan.zhihu.com/p/691554425)

原文地址

《ARAGOG: Advanced RAG Output Grading》(https://arxiv.org/abs/2404.01037)

更新日志

  • 2024/06/12——新增《RAGAR, Your Falsehood RADAR: RAG-Augmented Reasoning for Political Fact-Checking using Multimodal Large Language Models》
  • 2024/05/04——新增《A Survey on Retrieval-Augmented Text Generation for Large Language Models》
  • 2024/04/22——新增《Blended RAG: Improving RAG Accuracy with Semantic Search and Hybrid Query-Based Retrievers》
  • 2024/04/09——新增《ARAGOG: Advanced RAG Output Grading》
  • 2024/02/06——新增《RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval》
  • 2024/01/20——新增《Retrieving Multimodal Information for Augmented Generation: A Survey》
  • 2024/01/06——新增《SELF-RAG: Learning To Retrieve, Generate, and Critique Through Self-Reflection》
  • 2023/12/24——新增《Advanced RAG Techniques: an Illustrated Overview》
  • 2023/12/18——新增《Improving Retrieval Performance in RAG Pipelines with Hybrid Search》
  • 2023/12/12——初始化以及新增4篇文章


本文转自 AI生成未来 ,作者:吕阿华


原文链接:​​https://mp.weixin.qq.com/s/RETRrju1oTAkYoPCLsie5w​

已于2024-6-26 14:47:34修改
收藏
回复
举报
回复
相关推荐