微信扫码
与创始人交个朋友
我要投稿
最佳设计的企业架构是任何组织IT系统的支柱,它支持实现组织商业目标的基础构建模块。该架构由最佳实践、明确的策略、通用框架以及工程团队和其他利益相关者选择正确工具以完成任务的指南组成。企业架构主要由支持业务线的架构团队管理。在大多数组织中,架构团队负责描述架构模式和通用框架,以帮助工程和产品团队不必花费数小时进行概念验证,而是帮助他们采用基于模式设计核心构建模块的策略。
随着生成AI正在改造整个领域,大多数组织要么在构建基于生成AI的应用程序,要么在将生成AI能力或特性集成到现有应用程序或产品中。在本文中,我们将深入探讨构建生成AI解决方案的常见架构模式。我们还将讨论在正确的用例中选择正确框架的各种企业级策略。
大型语言模型(LLM)在企业生成AI的架构中扮演着重要的基础角色。LLM负责基于其接受的训练和所掌握的知识生成独特的内容。然而,来自OpenAI、微软或开源社区的LLM缺乏企业数据的知识。在组织中,有时会有自己的标准和原则,这些也应该在生成内容时遵循。
为了解决这一领域的用例,微调是我们可以利用的策略之一。微调涉及在一个较小的、经过专门策划的数据集上进一步训练预训练的LLM,该数据集旨在包含企业独特的数据、标准和原则。这个过程有助于使模型的输出更紧密地符合组织的要求,从而增强其在企业环境中的适用性和有效性。
什么是领域特定微调?
正如之前所述,微调大型语言模型(LLM)涉及调整预训练语言模型,以更好地执行特定任务或领域。这是通过进一步使用由输入和输出对组成的小型专业数据集对模型进行训练来实现的。这些对是显示所需行为或输出的示例。
在微调过程中,模型的参数会被更新,这有助于弥合预训练模型的通用能力与任务的具体需求之间的差距。这个过程提高了模型的性能,使其在给定任务上更准确,符合人类的期望。
DSFT模式可以成为最佳候选的用例
微调非常适合组织希望获取更专业和领域特定内容生成的领域。如果用例要求在生成内容时遵循特定的标准和风格,那么“微调”就是一个很好的工具。
例如,假设客户服务部门想要开发一个自动化工作流程解决方案,以替代手动过程。在手动过程中,现场客户服务代理会回应客户或潜在客户有关其产品或服务的查询。目前,现场客户服务代理会对客户或潜在客户有关产品或服务的咨询做出回应。代理需要理解客户电子邮件的意图和含义,进行一些研究,然后在回应时遵循公司的指导方针。这个过程通常需要代理2到3个小时,而组织收到大量客户电子邮件询问他们的产品。
通过使用微调,组织可以训练一个AI模型,自动理解和响应这些询问,并遵循公司的标准和指导方针。这可以节省大量时间,并确保响应的一致性和准确性。
微调通常分为以下几类:
监督微调(SFT)
基于人类反馈的强化学习(RLHF)
参数高效微调(PEFT)
低秩适应(LoRA)
量化低秩适应(QLoRA)
企业策略以微调模式
如果我们计划使用此模式构建下一个生成性人工智能应用,那么唯一的缺陷是此模式既耗时又昂贵,尽管它几乎能产生完美且高质量的输出。它之所以耗时,是因为需要使用上述任何方法对大型语言模型进行重新训练,这需要准备数据集、训练语料和人工标注者。如果组织的数据是动态的,且频繁更新,那么不建议使用此模式,因为每次数据更改时,LLM 都需要经过重新训练,这将变得非常昂贵。如果数据的动态性不强,并且我们希望 LLM 产生高质量的特定领域输出,那么微调是最佳方法。
模式2:RAG(检索增强生成)
RAG或检索增强生成是几乎所有企业生成AI开发中使用的一种流行模式,因为这是最具成本效益的模式之一,可以显著节省构建生成AI应用程序的开发工作。RAG的基本结构可以概括如下:
R - (R)基于相似性搜索算法检索上下文。
A - (A)增强检索到的上下文以及对大型语言模型的生成指令(提示工程)。
G - 大型语言模型将根据上下文和指令(提示工程)生成内容,并将生成的响应发送给用户。
在RAG模式中,我们集成了一个矢量数据库,可以存储和索引嵌入(数字内容的数值表示)。我们使用各种搜索算法,例如HNSW或IVF,来检索前k个结果,然后将其用作输入上下文。搜索是通过将用户的查询转换为嵌入进行的。前k个结果被添加到一个精心构造的提示中,指导大型语言模型生成内容以及应遵循的步骤,还包括应考虑的上下文或数据。
一旦大型语言模型根据提示和输入上下文生成内容,它会通过一个脏话检查(可选)或审查层。经过验证的响应随后以人类可理解的格式呈现给用户。
Retrieval-Augmented Generation for Large Language Models: A Survey (arxiv.org)
https://arxiv.org/html/2312.10997v5
RAG模式可以作为最佳候选者的用例
当我们需要大型语言模型基于特定组织的数据生成内容时,RAG是一种易于构建且具有成本效益的解决方案。由于大型语言模型没有经过组织私有数据的训练,而训练需要大量时间,我们利用RAG模式构建生成AI应用程序。
基于AI的智能企业搜索、虚拟助手或聊天机器人帮助客户理解复杂文档、HR聊天机器人、推荐引擎,以及需要快速了解程序以更好地帮助客户的客户服务代理是RAG的完美用例。
一些流行的企业级用例包括:
通过员工培训和入职支持的HR支持:RAG模式可以用来构建HR支持应用程序,提供定制化的培训材料并回答具体问题,以促进顺利的入职过程,从而腾出时间让HR专注于其他领域。
医疗行业:基于RAG的生成AI应用程序可以为医疗专业人士提供有关各种治疗方案和医学研究的信息,以改善患者护理。
企业知识挖掘和管理系统:RAG可用于构建帮助员工从庞大的内部内容库中查找和检索相关组织特定信息的产品。
销售和营销应用:使用RAG,轻松构建个性化产品推荐,并为营销活动或与产品相关的数据生成内容。
技术支持应用:基于生成AI的应用可以总结故障排除步骤和相关技术文档,以帮助客户服务代理更快地解决问题。
针对企业策略的RAG
当数据源具有动态特性(意味着我们预计数据会频繁更新)时,RAG(检索增强生成)是一个理想的解决方案。RAG在数据定期变化的环境中表现更好,因为它允许实时更新,并确保检索到的信息始终与变化保持同步。使用RAG,每次数据源更新时,向量数据库中的嵌入也必须在数据摄取期间更新,以准确反映这些变化。
大多数企业RAG应用程序在其架构中具有以下两个主要工作流程:
1. 数据处理与摄取
此工作流程涉及将源数据提取、转换和加载(ETL)到向量数据库中,形式为嵌入。当新增数据或现有数据被修改时,系统会处理这些更改,生成新的嵌入,并更新向量数据库。这确保了我们的向量数据库与最新信息保持同步。此工作流程在数据源发生变化时触发。这使得人工智能系统能够迅速适应新信息或现有信息的变化。
2. 通过相似性搜索进行检索
在此工作流程中,当收到用户查询时,系统会将查询转换为嵌入,并基于ANN、KNN或其他算法在更新后的向量数据库中执行相似性搜索。检索到的前k个结果将作为生成响应的上下文,借助LLM的帮助使用。这确保提供的信息相关且基于最新数据。
当数据源发生任何变化时,仅触发数据处理和摄取工作流程,从而同步更改并更新向量数据库。通过在RAG架构中实施变更检测机制,系统可以无缝同步更新。这确保检索过程始终使用最新数据,而无需对整个系统进行彻底改造。
RAG模式为企业提供了巨大的好处,因为它将数据同步与数据检索分开。这种解耦意味着对数据源的更新可以高效处理,而不会干扰检索过程,确保用户零停机时间。这种模块化的架构模式允许可扩展性和灵活性。这使得适应不断增长的数据量和不断变化的需求变得更加容易。
这种方法不仅具有成本效益,而且减少了构建时间,因此对于需要从动态数据源获取最新和准确的信息的企业来说,它是一个高效的选择。这种架构模式帮助工程和产品团队迅速将新数据集成和同步到人工智能系统中。因此,对于频繁变化的数据源,总是建议采用基于RAG的方法,而不是微调方法,以提供可能在决策和运营效率中需要的及时和相关的信息。
模式3:RA-FT(检索增强 - 微调)
RA-FT已被Meta、微软和加州大学伯克利分校的研究人员推广。该团队最近发表的一篇论文提出了一个新框架,以应对通用RAG框架和领域特定微调(DSFT)方法的限制。Https://arxiv.org/pdf/2403.10131.pdf
为了说明这个框架,研究人员将RAG方法与“开卷考试”进行比较,将微调与“闭卷考试”进行比较。
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能够从相关和不相关文档的混合中阅读和推导解决方案的方法。
由于RAFT结合了RAG和微调方法,因此其成本甚至高于DSFT方法。然而,结果令人印象深刻,这意味着该技术在需要提供高质量输出以及基础数据和来源的用例中是合适的。当您期望从向量相似性搜索中获得混合结果(既有相关文档或块,也有干扰文档或块)时,这种方法将产生最佳结果,并且您不想根据干扰或无用的文档或块生成或构思LLM的响应。对于一个高度监管的行业,将该解决方案整合到现有的生成AI生态系统中将是有益的。
如您所知,基本的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生成的知识数据。然而,与生成嵌入并将其存储在矢量数据库中的成本相比,生成知识图谱的成本更高。因此,GraphRAG应在基本RAG可能难以产生准确答案的场景中使用。
当源数据高度动态(即频繁变化)时,您需要重建语料库的图谱并相应更新图数据库。每当源数据发生变化时重建图数据库可能成本昂贵,但为维持同样的全面理解是必要的。
在企业环境中,建议将GraphRAG与基本RAG集成,以创建更有效的生成式AI系统。这样,如果基本RAG未能检索到所需结果,系统可以在GraphRAG数据库中搜索上下文,并为用户生成响应,而不是在系统拥有正确答案和上下文但分散在不同块或文档中且未聚类时产生幻觉或不生成响应。将GraphRAG与基本RAG系统相结合使得AI应用更具稳健性。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-11
2024-07-11
2024-07-09
2024-09-18
2024-06-11
2024-07-23
2024-07-20
2024-07-12
2024-07-26
2024-07-23
2024-11-18
2024-11-16
2024-11-16
2024-10-31
2024-10-31
2024-10-27
2024-10-26
2024-10-25