四、后检索优化
检索后优化技术旨在提高生成的响应的质量,这意味着它们的工作在检索过程完成后开始。这组多样化的技术包括使用模型对检索结果进行重新排序、增强或压缩检索到的上下文、提示工程以及在外部数据上微调生成 LLM。
1、重新排序(Re-Ranking)
一种行之有效的提高信息检索系统性能的方法是利用检索和重新排序流水线。检索和重新排序流水线将向量搜索的速度与重新排序模型的上下文丰富性相结合。
在向量搜索中,查询和文档是分开处理的。首先,对文档进行预索引。然后,在查询时,处理查询,并检索向量空间中最接近的文档。虽然向量搜索是一种快速检索候选的方法,但它可能会错过上下文细微差别。
这就是重新排序模型发挥作用的地方。由于重新排序模型在查询时会同时处理查询和文档,因此它们可以捕获更多上下文细微差别。但是,它们通常很复杂且资源密集,因此不适合像向量搜索这样的第一阶段检索。
通过将向量搜索与重新排序模型相结合,我们可以快速地收集大量潜在候选者,然后对它们进行重新排序,以提高提示中相关上下文的质量。
请注意,在使用重新排序模型时,我们应该过度检索块,以便稍后过滤掉不太相关的块。
2、上下文后处理(Context Post-Processing)
检索后,对检索到的上下文进行后处理以便生成会大有裨益。例如,如果检索到的上下文可能受益于附加信息,则可以使用元数据对其进行增强。另一方面,如果它包含冗余数据,则可以对其进行压缩。
使用元数据进行上下文增强(Context Enhancement with Metadata)
一种后处理技术是使用元数据通过附加信息增强检索到的上下文,以提高生成准确性。虽然我们可以简单地从元数据中添加附加信息,例如时间戳、文档名称等,但我们也可以应用更具创意的技术。
当数据需要预处理成较小的块大小以实现更好的检索精度,但其不包含足够的上下文信息来生成高质量的响应时,上下文增强特别有用。在这种情况下,我们可以应用一种称为“句子窗口检索”(Sentence window retrieval)的技术。此技术将初始文档分块成较小的部分(通常是单个句子),但在其元数据中存储较大的上下文窗口。在检索时,较小的块有助于提高检索精度。检索后,检索到的较小块将被较大的上下文窗口替换,以提高生成质量。
上下文压缩(Context Compression)
RAG 系统依赖各种知识源来检索相关信息。然而,这通常会导致检索不相关或冗余的数据,从而导致响应不理想和 LLM 调用成本高昂(更多 token)。
上下文压缩通过从检索到的数据中提取最有意义的信息,有效地解决了这一挑战。此过程从基本检索器开始,该检索器检索与查询相关的文档/块。然后,这些文档/块通过文档压缩器进行压缩,以缩短它们并消除不相关的内容,确保有价值的数据不会丢失在大量无关信息中。
上下文压缩减少了数据量,降低了检索和运营成本。当前的研究主要集中在两种方法上:基于嵌入和基于词汇的压缩,这两种方法都旨在保留基本信息,同时减轻 RAG 系统的计算需求。
3、提示工程(Prompt Engineering)
LLM 的生成输出受其相应提示的质量、语气、长度和结构的影响很大。提示工程是优化 LLM 提示以提高生成输出的质量和准确性的实践。提示工程通常是改进 RAG 系统的技术中最容易实现的成果之一,它不需要对底层 LLM 本身进行更改。这使得它成为一种高效且易于访问的方法来提高性能,而无需进行复杂的修改。
有几种不同的提示技术在改进 RAG 流水线方面特别有用。
CoT (Chain of Thought,思维链) 提示涉及要求模型“逐步思考”,并将复杂的推理任务分解为一系列中间步骤。当检索到的文档包含需要仔细分析的冲突或密集信息时,这尤其有用。
ToT (Tree of Thoughts,思维树) 提示以 CoT 为基础,指示模型评估其在解决问题过程中每一步的响应,甚至生成问题的几种不同解决方案并选择最佳结果。当存在许多潜在证据时,这在 RAG 中很有用,并且模型需要根据多个检索到的文档权衡不同的可能答案。
ReAct(Reasoning and Acting,推理和行动)提示将 CoT 与 Agent 相结合,创建了一个系统,其中模型可以生成想法并将行动委托给 Agent,Agent 在迭代过程中与外部数据源交互。ReAct 可以通过使 LLM 能够动态地与检索到的文档交互、根据外部知识更新推理和行动来改进 RAG 流水线,从而提供更准确、更符合上下文的响应。
4、LLM 微调(LLM Fine-Tuning)
预训练的 LLM 在大型、多样化的数据集上进行训练,以获得一般知识,包括语言和语法模式、广泛的词汇量以及执行一般任务的能力。对于 RAG,使用预训练的 LLM 有时会导致生成的输出过于笼统、事实不正确或无法直接解决检索到的上下文。
微调预训练模型涉及在特定数据集或任务上对其进行进一步训练,以使模型的一般知识适应该特定领域的细微差别,从而提高其在该领域的性能。在 RAG 流水线中使用微调模型有助于提高生成的响应的质量,尤其是当手头的主题高度专业化时。
高质量的领域特定数据对于微调 LLM 至关重要。标记数据集(如正面和负面的客户评论)可以帮助微调模型更好地执行下游任务,如文本分类或情绪分析。另一方面,未标记的数据集(如 PubMed 上发布的最新文章)可以帮助微调模型获得更多领域特定知识并扩大词汇量。
在微调过程中,预训练的 LLM(也称为基础模型)的模型权重通过称为反向传播的过程进行迭代更新,以从领域特定数据集中学习。结果是经过微调的 LLM 可以更好地捕捉新数据的细微差别和要求,例如特定术语、风格或语气。
五、总结
RAG 通过使生成模型能够引用外部数据来增强生成模型,从而提高响应准确性和相关性,同时减轻幻觉和信息差距。简单的 RAG 根据查询相似性检索文档,并直接将它们输入生成模型以生成响应。但是,更先进的技术(如本指南中详细介绍的技术)可以通过增强检索信息的相关性和准确性来显著提高 RAG 流水线的质量。
本文回顾了可应用于 RAG 流水线各个阶段的高级 RAG 技术,以提高检索质量和生成响应的准确性。
-
索引优化技术(如数据预处理和分块)专注于格式化外部数据以提高其效率和可搜索性。
-
预检索技术旨在通过重写、重新格式化或将查询路由到专用流水线来优化用户查询本身。
-
检索优化策略通常侧重于在检索阶段优化搜索结果。
-
检索后优化策略旨在通过各种技术提高生成结果的准确性,包括对检索结果进行重新排序、增强或压缩(检索)上下文以及操纵提示或生成模型 (LLM)。
我建议实施验证流水线,以确定 RAG 系统的哪些部分需要优化,并评估高级技术的有效性。评估我们的 RAG 流水线可以实现持续监控和改进,确保优化对检索质量和模型性能产生积极影响。
六、如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方优快云官方认证二维码
,免费领取【保证100%免费
】