检索增强生成是检索技术与大模型技术的强强联合,开启了文本生成的新时代。
毫无疑问,大型语言模型(LLMs)在存储和学习海量数据中的信息方面表现出卓越的能力,推动了 NLP 任务特定架构的发展。然而,由于自身的局限性,大型语言模型在面对知识密集型任务时,性能会出现下降。
这是因为大型语言模型无法轻易扩展或更新其记忆。此外,它们可能会产生被称为 “幻觉” 的错误输出,并且经常无法对其预测的结果提供清晰解释。
为了解决大型语言模型的局限性,检索增强生成 (Retrieval Augmented Generation, RAG) 得到了广泛关注,并正在重新定义我们处理文本生成任务的方式。
RAG是什么
检索增强生成 (RAG) 是一种 AI 框架,它从外部知识库中检索文档,帮助预训练的大型语言模型生成更准确、最新的信息,并减少幻觉。
检索增强生成技术由于能够克服传统文本生成模型的一些局限性而受到越来越多的关注。像 OpenAI 的 GPT 这样的生成模型虽然在生成连贯、语境相关的文本方面表现出卓越的能力,但在需要特定事实信息或对内容进行细粒度控制的任务中往往会表现不足。RAG 模型结合了检索和生成的优势,解决了这些局限性,为更通用、更有效的文本生成铺平了道路。
在一个自然语言处理应用无处不在的时代,从聊天机器人和内容生成到问答系统和语言翻译,检索增强生成技术提供了一个强大的解决方案,可以提高这些应用的质量和可靠性。无论是生成对用户查询的信息性回答,还是创作兼具创造性和准确性的内容,亦或是精确地生成多语言翻译,RAG 模型都开始扮演关键角色。
RAG的工作原理
检索增强生成 (RAG) 可以比作侦探和记者的组合。想象一下,你正试图破解一个复杂的案件。侦探的角色是收集与案件相关的线索、证据和一些历史记录。侦探收集完这些信息后,记者将这些事实总结成一个引人入胜的故事,并呈现一个连贯的叙述。在 AI 领域,RAG 的运作方式与此类似。
检索器组件 (retriever component) 扮演侦探的角色,搜索数据库、文档和知识来源,寻找相关的信息和证据。
生成器组件 (generator component) 则扮演记者的角色。它将收集的信息转化为连贯、吸引人的叙述,清晰详细地叙述案件。
这个比喻说明了 RAG 如何将检索的调查能力与文本生成的创造性技巧结合起来,产生信息丰富、引人入胜的内容,就像侦探和记者一起解开并呈现一个引人入胜的案件一样。
为了更好地理解,这里还有一个例子。
如下图所示,我们一开始的时候向 ChatGPT 提出了一个超出了其数据库范围的问题,因此它无法提供具体的答案。ChatGPT 的回应是,其知识仅限于截止到 2021 年 9 月的信息。这个场景突出显示了 ChatGPT 提供有关该日期之后发生的事件或发展信息的固有局限性。
接下来,我们为原始问题增加了额外的上下文,来让 ChatGPT 生成更准确的答案。虽然这个答案看似合理,但缺乏具体的证据或可验证的来源来证实其正确性。这突出了人工智能生成的答案的一个重要局限 - 它们缺乏提供事实证明或引用来源的能力,这让用户在采纳答案时变得谨慎且难以验证。
从这两个场景中,我们可以得出两个关键的观察结果:
-
语言模型 (LLM) 使用的是过时的信息,它无法访问其知识截止日期之后最新的、可靠的信息。
-
此外,LLM 提供的答案没有引用其来源,这意味着其主张无法被用户验证是否准确,也无法完全信赖。这突出表明了在使用人工智能生成的信息时进行独立核查和评估的重要性。
面对这些限制,RAG 作为一种解决方案应运而生。接下来,让我们深入研究 RAG 框架,探究它如何克服上述挑战。
剖析RAG框架
让我们逐一解析 RAG 框架运行时的各个步骤:
1. 提示输入: 首先,用户输入一个提示,描述他们对答案的期望。
2. 背景搜索: 这一步至关重要,它将原始提示与外部背景信息进行融合。在这步中,一个负责从各种来源检索数据的外部程序发挥作用。这个过程可能包含查询关系数据库、在索引文档中进行基于关键字的搜索,甚至调用 API 从远程或外部来源获取数据。
3. 提示增强: 在背景搜索之后,检索到的额外信息被无缝地整合到原始用户提示中。这一步用事实数据丰富了用户的查询,提高了其深度和相关性。
4. 推理: 利用上一步中增强和丰富了背景信息的提示,大型语言模型 (LLM) 开始发挥作用。LLM 现在同时拥有原始用户查询和补充的背景信息,显著提高了其准确性。它可以利用事实数据源来提供更精确、与上下文相关的答案。
5. 答案生成: LLM 结合事实正确的信息来构建答案。然后将答案传递回用户,确保用户获得准确可靠的答案。
本质上,RAG 框架利用外部背景信息来提高答案的准确性,并增加答案的信息量,解决了传统语言模型可能存在的知识过时和无法验证信息等问题。
RAG的三大核心组件
检索增强生成模型主要由三个核心组件构成:
-
检索器 (Retriever): 负责从外部知识来源检索相关信息。
-
排序器 (Ranker): 对检索结果进行评估,并排列优先级。
-
生成器 (Generator): 利用检索和排序结果,结合用户的输入,生成最终的答案或内容。
下面让我们深入了解每个组件的详细功能:
RAG 检索器:知识海洋的搜索引擎
RAG 检索器负责第一步,即从外部知识来源检索相关信息。它使用基于关键字的搜索、文档检索或结构化数据库查询等检索技术来获取相关数据。
检索器可以利用预构建的索引、搜索算法或 API 来访问各种知识来源,包括数据库、文档、网站等。
其主要目标是收集一组与上下文相关的信息,用于丰富用户的查询。
RAG 排序器:精挑细选,优中选优
RAG 排序器通过评估检索信息的相关性和重要性,对其进行精炼。它为检索到的每条数据分配分数并排名,优先考虑最相关的结果。
排序器使用各种算法,如文本相似性度量、上下文感知排序模型或机器学习技术,来评估检索内容的质量。
这一步骤确保将最相关的信息传递给生成器,用于生成最终内容。
RAG 生成器:妙笔生花,总结答案
RAG 生成器负责将检索和排序后的的信息以及用户的原始查询作为输入,并生成最终的答案或输出。
它使用生成模型,例如基于 transformer 的模型 (例如 GPT、BERT),来生成文本,这些文本与上下文相关、连贯且信息丰富。
生成器确保答案与用户的查询一致,并纳入从外部来源检索到的事实性知识。
RAG模型
在 RAG 中,我们将检索到的文档视为一个变量,以便同时训练检索器和生成器。为此,引入了两种模型:
1. RAG-Sequence 模型: 这个模型使用相同的检索文档来预测目标序列中的所有词元 (token)。它在整个生成过程中依赖单个文档,以保持一致性。
2. RAG-Token 模型: 在 RAG-Token 模型中,目标序列中的不同词元可以根据不同的文档进行预测。这提供了更大的灵活性,因为每个词元都可以从最相关的上下文中获益。
总而言之,RAG 模型融合了输入序列、检索文档和生成技术来生成文本。检索器负责寻找相关文档,生成器则利用这些文档作为上下文来预测每个词元。它提供了两种方法,RAG-Sequence 和 RAG-Token,以在文本生成过程中以不同的方式整合检索到的文档。这些模型能够根据用户查询和检索信息生成连贯且与上下文相关的文本。
结束语
RAG 是 NLP 领域的一项突破性方法,它克服了传统语言模型的局限性。通过将检索和生成技术无缝结合,RAG 提高了文本生成的准确性和上下文相关性。它解决了大型预训练语言模型所面临的挑战,增强了连贯性和多功能性。RAG 在各种领域都有应用,虽然它仍然存在一些挑战,但正在进行的研究正努力克服它们。对于那些对 RAG 感兴趣的人来说,有大量的资源和工具可供选择。RAG 有望引领文本生成的未来,并在 NLP 发展中发挥重要作用。
如何学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
学习路线
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓