企业生成式 AI 应用的架构模式:DSFT、RAG、RAFT 和 GraphRAG
扫描二维码
随时随地手机看文章
最佳设计的企业架构是任何组织 IT 系统的支柱,它支持实现组织业务目标的基础构建块。架构包括最佳实践、明确概述的策略、通用框架和指导方针,供工程团队和其他利益相关者选择正确的工具来完成任务。企业架构主要由支持业务线的架构团队管理。在大多数组织中,架构团队负责概述架构模式和通用框架,这将有助于工程和产品团队不必花费数小时的精力进行概念验证,而是帮助他们采用基于模式设计核心构建块的策略。
由于生成式 AI正在改变整个格局,大多数组织要么正在构建基于生成式 AI 的应用程序,要么正在将生成式 AI 功能或特性集成到其现有应用程序或产品中。在本文中,我们将深入探讨可用于构建生成式 AI 解决方案的常见架构模式。我们还将讨论各种企业级策略,以根据正确的用例选择正确的框架。
模式 1:领域特定微调(DSFT)
大型语言模型 (LLM)在企业生成式 AI 架构中扮演着重要的构建块。LLM 负责根据其接受的训练和所掌握的知识生成独特的内容。但是,OpenAI、Microsoft 或开源社区等供应商提供的 LLM 缺乏企业数据知识。有时在组织中,他们有自己的标准和原则,在生成内容时也应遵循这些标准和原则。
为了解决此领域的用例,微调是我们可以利用的策略之一。微调涉及在较小的专业数据集上进一步训练预先训练的 LLM,该数据集经过精心挑选,具有企业独特的数据、标准和原则。此过程有助于定制模型的输出,使其更符合组织的要求,从而提高其在企业环境中的适用性和有效性。
什么是特定领域微调?
正如刚才所述,微调大型语言模型 (LLM) 涉及调整预先训练的语言模型,使其在特定任务或领域表现更好。这是通过使用由成对数据组成的较小、专门的数据集进一步训练模型来实现的<INPUT, output>。这些成对数据是显示所需行为或输出的示例。
在微调过程中,模型的参数会进行更新,这有助于缩小预训练模型的一般能力与任务的特定需求之间的差距。此过程可提高模型的性能,使其更加准确并符合人类对给定任务的期望。
DSFT 模式可作为最佳候选的用例
在组织寻求更专业和更特定领域的内容生成时,微调会发挥出色作用。如果用例要求在生成内容时遵循特定的标准和风格,那么“微调”就是工具箱中的绝佳工具。
例如,假设客户服务部门想要开发一个自动化工作流解决方案来取代手动流程。在手动流程中,现场客户服务代理将回复其客户或潜在客户对其产品或服务的查询。目前,现场客户服务代理会回复客户或潜在客户对产品或服务的询问。代理需要了解客户电子邮件的意图和含义,做一些研究,然后在回复时遵循公司指南。这个过程通常需要代理 2 到 3 个小时,并且组织会收到大量询问其产品的客户电子邮件。
通过微调,组织可以训练 AI 模型,使其能够按照公司的标准和准则自动理解和响应这些询问。这可以节省大量时间,并确保响应一致且准确。
微调通常分为以下几种:
· 监督微调(SFT)
· 通过人类反馈进行强化学习(RLHF)
· 参数有效微调(PEFT)
o 低秩自适应(LoRA)
o 量化低秩自适应(QLoRA)
企业战略微调模式
如果我们计划使用这种模式来构建下一个生成式 AI 应用程序,那么唯一的缺陷是,尽管这种模式可以产生几乎完美和高质量的输出,但它是一种耗时且昂贵的模式。它很耗时,因为需要使用上述任何一种方法重新训练 LLM,这需要准备数据集、训练语料库和人工标注员。如果组织的数据是动态的并且经常更新,那么这种模式是不可取的,因为每次数据发生变化时,LLM 都需要重新训练,这将成为一个昂贵的解决方案。如果数据本质上不是很动态,并且我们希望 LLM 产生高质量的特定领域输出,那么微调是最好的方法。
模式2:RAG(检索增强生成)
RAG 或检索增强生成是几乎所有企业生成式 AI 开发中使用的流行模式之一,因为这是最具成本效益的模式之一,可为构建 Gen AI 应用程序节省大量开发工作。 RAG 的基本结构可以概括如下:
· R —— (R)根据相似性搜索算法检索上下文。
· A - (A)增强检索到的上下文以及 LLM 的指令(提示工程),说明根据我们提供的上下文生成什么内容。
· G - LLM 将根据上下文和指令(提示工程)生成内容并将生成的响应发送给用户。
在 RAG 模式中,我们集成了一个可以存储和索引嵌入(数字内容的数字表示)的矢量数据库。我们使用各种搜索算法(如 HNSW 或 IVF)来检索前k 个结果,然后将其用作输入上下文。搜索是通过将用户的查询转换为嵌入来执行的。前k 个结果被添加到一个结构良好的提示中,该提示指导 LLM 生成什么以及它应该遵循的步骤,以及它应该考虑哪些上下文或数据。
一旦 LLM 根据提示和输入上下文生成内容,它就会经过脏话检查(可选)或审核层。然后,经过验证的响应将以人类可理解的格式呈现给用户。
“RAG”模式最适合的用例
当我们需要 LLM 根据组织特定数据生成内容时,RAG 是一种易于构建且经济高效的解决方案。由于 LLM 未使用组织的私有数据进行训练,并且训练需要大量时间,因此我们利用 RAG 模式构建 Gen AI 应用程序。
基于人工智能的智能企业搜索、虚拟助手或聊天机器人可以帮助客户理解复杂的文档、人力资源聊天机器人、推荐引擎以及需要快速了解程序以更好地协助客户的客户服务代理,这些都是 RAG 的完美用例。
一些流行的基于企业的用例是:
· 通过员工培训和入职培训为人力资源提供支持: RAG 模式可用于构建人力资源支持应用程序,该应用程序将提供定制的培训材料并回答特定问题,以促进顺利的入职流程,从而让人力资源部门有时间专注于其他领域。
· 医疗保健行业:基于 RAG 的生成式 AI 应用程序可以为医疗专业人员提供有关各种治疗方案和医学研究的信息,以便更好地护理患者。
· 企业知识挖掘和管理系统: RAG 可用于构建产品,帮助员工从庞大的内部内容存储库中查找和检索相关的组织特定信息。
· 销售和营销应用: 使用 RAG,可以轻松构建个性化的产品推荐并生成营销活动或产品相关数据的内容。
· 技术支持应用程序: 基于 Gen-AI 的应用程序可以总结故障排除步骤和相关技术文档,以便客户服务代理更快地解决问题。
RAG 的企业战略
当数据源本质上是动态的(这意味着我们期望数据经常更新)时,RAG(检索增强生成)是一种理想的解决方案。RAG 在数据经常变化的环境中表现更好,因为它允许实时更新并确保检索到的信息始终与变化同步。使用 RAG,每次更新数据源时,矢量数据库中的嵌入也必须在数据提取期间更新,以准确反映这些变化。
大多数企业 RAG 应用程序在其架构中具有以下两个主要工作流程:
1. 数据处理和提取
此工作流程涉及以嵌入的形式将源数据提取、转换和加载 (ETL) 到矢量数据库中。当添加新数据或修改现有数据时,系统会处理这些更改,生成新嵌入并更新矢量数据库。这可确保我们的矢量数据库与最新信息保持同步。只要数据源发生变化,就会触发此工作流程。这使 AI 系统能够快速适应新信息或现有信息的变化。
2. 通过相似性搜索进行检索
在此工作流程中,当收到用户查询时,系统会将查询转换为嵌入,并根据 ANN、KNN 或其他算法针对更新的向量数据库执行相似性搜索。检索前k 个结果并将其用作使用 LLM 生成响应的上下文。这可确保所提供的信息具有相关性且基于最新数据。
当数据源发生任何变化时,只会触发数据处理和摄取工作流,从而同步变化并更新矢量数据库。通过在 RAG 架构中实现变化检测机制,系统可以无缝同步更新。这确保检索过程始终使用最新数据,而无需彻底检修整个系统。
RAG 模式为企业带来了巨大好处,因为它将数据同步与数据检索分开。这种分离意味着可以高效处理数据源的更新,而不会中断检索过程,并且不会对用户造成任何停机时间。这种模块化架构模式具有可扩展性和灵活性。这使得它更容易适应不断增长的数据量和不断变化的需求。
这种方法不仅经济高效,而且可以缩短构建时间,因此对于需要从动态数据源获取最新和准确信息的企业来说,这是一种有效的选择。这种架构模式可帮助工程和产品团队快速集成新数据并将其同步到 AI 系统。因此,对于频繁变化的数据源,始终建议采用基于 RAG 的方法,而不是微调方法来提供决策和运营效率可能需要的及时和相关信息。
模式3:RA-FT(检索增强-微调)
RA-FT 已得到 Meta、微软和加州大学伯克利分校研究人员的大力推广。该团队最近发表的一篇论文提出了一种新框架,以解决通用 RAG 框架和领域特定微调 (DSFT) 方法的局限性。
为了解释该框架,研究人员将 RAG 方法与“开卷考试”进行了比较,将 Fine Tuning 与“闭卷考试”进行了比较。
RAG 的局限性
在 RAG 中,上下文是通过对索引进行基于向量的相似性搜索形成的。此搜索可能会带来语义上接近查询但不一定有意义的文档(或块),导致 LLM 难以生成连贯且有意义的答案。LLM 不知道哪些文档真正相关,哪些文档具有误导性。即使这些“干扰性”文档不是合理答案的良好来源,它们也可能包含在 LLM 的上下文中。
DSFT 的局限性
研究人员还认为,采用 DSFT 方法,LLM 只能局限于它所训练的内容。它可以进行猜测,甚至给出错误答案,因为它无法从外部来源获取准确信息。
RA-FT 如何解决 DSFT 和 RAG 模式的局限性?
为了解决 DSFT 和基本 RAG 的局限性,RA-FT 框架以一种新的方式结合了 RAG 和微调方法。在 RA-FT 方法中,LLM 经过训练,变得足够智能,可以从使用相似性搜索作为检索过程的一部分生成的上下文中挑选出最有用和最相关的文档。
使用 RA-FT,当模型被赋予一个问题和一批检索到的文档时,它会被教导忽略那些对回答问题没有帮助的文档。由于在微调过程中进行了训练,LLM 学会了如何识别“干扰”文档,并仅使用有用和非干扰文档(或块)来为用户的查询生成连贯的答案。
在 RA-FT 中,训练数据经过准备,每个数据点都包含一个问题、一组上下文相关的文档以及相应的思路式答案。RA-FT 将微调与由问答对组成的训练集相结合,使用模拟不完美检索场景中的文档。这种方法有效地为 LLM 做好了开卷考试的准备。RA-FT 是一种调整 LLM 的方法,使其能够从相关和不相关的文档组合中读取和得出解决方案。
RA-FT模式的企业战略
由于 RAFT 包含 RAG 和微调方法,因此成本甚至高于 DSFT 方法。但是,结果令人印象深刻,这意味着该技术适用于提供高质量输出以及扎实数据和来源是基本要求的用例。当您可能希望从向量相似性搜索中获得混合结果(既有相关文档/块也有干扰文档/块)并且您不想根据干扰文档/块或无用文档/块生成或制定 LLM 响应时,此方法将产生最佳结果。对于受到严格监管的行业,将此解决方案整合到现有的 Gen AI 生态系统中将是有益的。
模式4:知识图谱/RAG图谱
众所周知,基于 RAG 和 RAFT 的基本方法都严重依赖于底层矢量数据库以及它用来检索分块数据集的各种相似性算法(A-NN 或 K-NN),这些数据集将用作 LLM 制定响应的上下文。但是,这种方法最大的问题是,当具有上下文意义的大段落被分成小块时,它会失去内在含义和关系。因此,在执行相似性搜索时,它只会根据相关性选择文档(或块)中单词彼此接近的结果集。通用 RAG 方法主要依赖于基于向量的检索,在为用户生成响应时面临一些限制,例如缺乏深度上下文理解和复杂推理能力。
为了解决这一不足,知识图谱数据库已成为另一个不可或缺的组件,可以插入现有的 RAG 系统,以便您的生成式 AI 应用程序在帮助用户回答问题的同时变得更加智能。这种技术称为 GraphRAG,其中一种称为知识图谱数据库的不同类型的数据库被添加到系统中,当 RAG 的相似性搜索未产生正确响应时,它有助于根据外部域特定数据协助生成内容。
GraphRAG 如何工作?
GraphRAG 是一种高级 RAG 方法,它使用图形数据库来检索特定任务的信息。与将结构化数据存储在具有行和列的表中的传统关系数据库不同,图形数据库使用节点、边和属性来表示和存储数据。此方法提供了一种更直观、更高效的方式来建模、查看和查询复杂系统。GraphRAG 使用基于 LLM 构建的知识图谱连接内容中的概念和实体。
摄取流程
GraphRAG 利用大型语言模型 (LLM) 从一组文本文档中自动生成详细的知识图谱。此知识图谱通过识别和连接相关概念来捕获数据的含义和结构。在索引流程中,系统使用 LLM 从细粒度文本单元中提取所有实体、关系和关键声明。
它还可以检测密切相关节点的“社区”或“集群”,并将它们组织到不同的细节层次。这有助于理解数据的整体语义结构。
这些基于社区的摘要提供了整个数据集的全面概述和整篇文章的整体情况。这使系统能够解决较简单的检索增强生成 (RAG) 方法难以处理的广泛或复杂的查询。
检索流程
当用户提出问题时,GraphRAG 会高效地从知识图谱中检索最相关的信息。然后,它会利用这些信息来指导和改进 LIAM 的响应,从而提高答案的准确性并降低生成不正确或误导性信息的可能性。
GraphRAG 模式的企业战略
与基本 RAG 系统一样,GraphRAG 也使用专门的数据库来存储它在 LLM 的帮助下生成的知识数据。但是,与生成嵌入并将其存储在矢量数据库中相比,生成知识图谱的成本更高。因此,在基本 RAG 可能难以产生准确答案的情况下,应使用 GraphRAG。
当源数据高度动态(即频繁更改)时,您需要重建语料库的图形并相应地更新图形数据库。为源数据的每次更改重建图形数据库可能成本高昂,但对于保持相同的全面理解却是必要的。
在企业环境中,建议将 GraphRAG 与基本 RAG 集成,以创建更有效的生成式 AI 系统。这样,如果基本 RAG 无法检索到所需结果,系统可以在 GraphRAG 数据库中搜索上下文并为用户生成响应,而不是在系统具有正确答案和上下文但分散在不同块或未聚集在一起的文档中时产生幻觉或不生成响应。将 GraphRAG 与基本 RAG 系统相结合可以使 AI 应用程序更加强大。