写点什么

万字长文解读生成式 AI 参考架构

作者:俞凡
  • 2024-10-12
    上海
  • 本文字数:13573 字

    阅读完需:约 45 分钟

本文介绍了构建端到端生产级 GenAI 应用的参考架构模型,涵盖了从 UI/UX 设计到多代理系统的各个方面,涉及 AI 模型的准备、调优、服务以及治理等关键环节。原文: The GenAI Reference Architecture


本文将介绍构建端到端 GenAI 应用的主要架构构件和蓝图,以便为生产做好准备,并且提出了几个在实施和设计基于 LLM 的应用时需要注意的关键事项。


在目标架构中选择 GenAI 组件的 AI 成熟度:需要确定自己在 AI 成熟度频谱中处于什么位置,以及应该处于什么位置,以便实施可支持生成式应用业务用例架构。因此,并不一定需要为每个应用提供所有架构组件,而是可以根据项目、业务线或组织的成熟度,在这些架构组件中进行选择。所有这些体系架构构建块或组件都可以通过本文提供的模式来构建。请记住,模式生成体系架构(在这种情况下是微体系架构,或者是设计和构建基于 LLM 的应用程序的特定部分所必需的体系架构构建块)。此外,本文还将提供生成式人工智能成熟度模型,帮助你了解自己在 LLM 方面的成熟度和先进性,以便成功实施应用。


在架构组件中选择模式。比方说,你需要提示工程、选择后端 LLM(例如,谷歌 Gemini)并为模型提供服务,需要检索增强,因此实际上成熟度为 3 级(参见生成式 AI 成熟度模型)。重要的是要记住,即使现在知道目标成熟度是构建具有 3 级检索增强生成能力的应用,也有很多方法来实现架构中的 RAG 组件。因此,我们将此组件视为可以在不同复杂度级别上设计和实现的模式。说的更详细一点,RAG 可以实现为基本 RAG、中级 RAG、高级 RAG 或自动化 RAG。因此,即使知道该架构组件的目标成熟度级别,仍然需要决定实现该模式的具体细节。


预测式 AI、生成式 AI 和数据管道都是公平竞争的。需要注意的是,生成式 AI 将包括传统的预测式 AI 以及数据摄取、清理、网格、管道等模式。随着生成式 AI 的发展和普及,重要的是要将该领域理解为一系列模式,这些模式由问题-解决方案对组成,具有特定的背景、能力或权衡,以及需要做出的考虑。在应用模式(即模式的解决方案部分)之后,总会产生一些后果:并不是问题空间中的每一种问题都能通过对该架构组件应用模式而得到解决。因此,有些问题将无法解决,仍然需要应用其他模式或技术来解决这些问题。本文将提供一个章节来说明由此产生的后果,并参考其他可能有用的模式。其中一些模式我们已在此详细阐述,另一些则是常见的、相当直观的模式,可以在文献中查找参考资料,以便实施这些模式。


有了这些初步考虑,我们就可以深入了解参考架构的每一个架构组件,对它们进行总体探讨,然后从模式的角度进行审视。


UI/UX

对话式 UI。对话式界面利用自然语言处理技术来实现类人交互。Ram 等人在 2020 年发表的论文[1]讨论了对话式人工智能的进展,重点介绍了迁移学习和强化学习等技术,以改进对话系统。该论文强调了自然和情境感知交互对于增强用户体验的重要性。


个性化。用户界面个性化包括根据个人用户的偏好和需求定制界面。Kocaballi 等人 2019 年发表的一篇论文[2]探讨了个性化在基于 AI 的健康干预中的作用。作者讨论了个性化界面如何提高用户参与度和对 AI 驱动的建议的依从性,从而带来更好的健康结果。


借助谷歌的 Vertex AI 平台,实际上可以构建一种无代码或低代码交互的用户体验,以及全代码(基于 API)交互。通过代理生成器平台,可以帮助我们实现复杂的搜索、对话和应用,并利用企业存储库和数据(无论是结构化数据还是非结构化数据)中的专有数据立即执行检索增强。这可以通过 Vertex AI 搜索和 Vertex AI 会话来实现,以构建基于代理的应用,支持客户代理、员工代理、数据代理等会话代理。

模式架构

问题/挑战


  • 挑战在于创建直观、用户友好的界面,实现人与 AI 的无缝互动。这包括设计能让用户与 AI 系统自然交互的界面,有效利用 AI 系统的能力。其中一个关键方面是开发会话代理,引导用户完成任务,提升整体体验。例如,帮助用户浏览复杂企业应用的虚拟助手。


背景


  • 用户通过各种渠道与 AI 互动,包括搜索引擎、聊天机器人和企业软件。随着 AI 融入日常工具,无缝体验至关重要。例如,用户可能会与 AI 驱动的搜索引擎进行交互,然后过渡到会话代理进行更复杂的查询,从而期待获得连贯一致的体验。


考虑因素/取舍


  • 为 AI 设计 UI/UX 需要在简洁性和功能性之间取得平衡。界面应易于使用,同时又能提供强大的 AI 功能。其中的权衡包括在功能有限的简单界面和可能让用户不知所措的复杂界面之间做出决定。设计精良的界面可以在两者之间取得平衡,使用户能够高效利用 AI 能力。


解决方案


  • 建议开发统一功能的复杂用户界面。例如,允许用户搜索企业数据、与会话代理交互以获得指导,并为开发人员提供构建和测试 AI 解决方案空间的界面。这种统一界面可以提高用户体验和工作效率。

  • 解决方案包括整合先进搜索算法和自然语言处理。基于自然语言的搜索使用户能够通过对话查询来查找信息。会话代理通过对话协助用户完成任务并提供指导。这些功能增强了用户体验,降低了复杂性。


结果


  • 改进 UI/UX 设计可提高用户对 AI 解决方案的参与度和满意度。精心设计的界面可鼓励更广泛采用 AI 技术,提高生产率,并在组织内部培养对 AI 技术的积极看法。


相关模式


  • 对话式 UI:这种模式的重点是通过会话代理创建自然的、类似人类的交互,设计能理解和响应用户询问的对话系统,模拟对话。[7]

  • 个性化:根据用户偏好、行为和需求定制 UI/UX。这样可以创造更直观、更吸引人的体验,提高用户满意度。[8]

提示工程(Prompt)

模板:提示模板提供了一种指导 AI 模型的结构化方法。Liu 等人在 2021 年的一篇论文[3]中提出了一种基于提示的自然语言处理任务学习框架。作者展示了精心设计的提示模板如何在各种基准测试中显著提高模型性能,突出了高效提示工程的重要性。


问题/挑战


  • 目前的挑战是通过提供精确提示来引导 AI 模型生成所需输出结果。提示工程涉及确保模型理解任务并生成预期响应的技术,这对语言模型至关重要,因为提示会影响语境和输出。


背景


  • AI 模型,尤其是大型语言模型,依赖提示来理解和生成文本。提示的质量直接影响模型输出的准确性和相关性。精心设计的提示对于文本生成、问题解答和语言翻译等任务至关重要。


考虑因素/取舍


  • 详细的提示可为 AI 模型提供明确的指导,从而提高准确性。但是,过于具体的提示可能会限制灵活性和创造性。找到适当的平衡点可确保模型能够适应各种情况,同时产生所需的输出结果。


解决方案


  • 提示工程技术提供了一种系统方法。包括提示语设计,即用特定语言和结构设计提示语。创建模板可为一致的提示提供框架。测试包括根据模型对提示进行评估,以确保最佳性能。


解决方案详情


  • 提示工程包括了解任务和所需的输出。使用提示数据增强等技术设计和优化提示模板。测试包括使用不同提示对模型性能进行评估,以确定最有效的方法。

提示工程最佳实践:扩展版

1. 明确并具体


  • 举例说明:试着"解释气候变化的原因和影响,重点是对全球天气模式和生态系统的影响",而不是"告诉我气候变化"。这样就有了明确的方向。


2. 背景规定


  • 举例说明:对于写作任务,请详细说明所需语气(正式、非正式)、目标受众(专家、普通大众)和篇幅。


3. 分步说明


  • 举例说明:对于复杂的问题解决任务,可将其分为以下步骤:"1.确定问题;2.分析潜在原因;3.提出解决方案;4.评估最佳解决方案"。


4. 少量学习(Few-Shot Learning)


  • 举例说明:如果想让模型总结文章,请在提供原文的同时提供一些写得很好的摘要范例。


5. 思维链(Chain-of-Thought,CoT)提示 [22]


  • 举例说明:不要问"法国首都是哪里?"而是问"以埃菲尔铁塔闻名的国家是哪里?该国最有名的城市是哪里?该城市的首府是哪里?"


6. 思维树(Tree-of-Thought,ToT)提示法 [23]


  • 举例说明:在产生创意想法时,提示模型探索不同分支,如"想法 1:注重可持续发展"、"想法 2:强调技术"等。


7. 思维大纲(Outline-of-Thought,OoT)和其他 X 思维提示 [26]


  • 举例说明:为一篇文章提供结构化提纲,具体说明引言、要点、佐证和结论。


8. ReAct(Reason-Act,理由-行动)框架 [24]


  • 举例说明:对于客户服务聊天机器人来说,"原因"步骤可能包括分析客户的询问,而"行动"步骤则包括生成有用的回复或操作。


9. DSPy 提示工程模板 [25]


DSPy 是一个基础模型编程框架,通过将程序流程与每一步的参数分离,允许用户构建复杂的系统。该模型通过模块和优化器实现,模块是程序的构件,指定输入和输出,优化器是可以调整程序的提示和权重的算法。DSPy 可用于编译程序,这意味着它可以通过创建有效的提示和更新权重来提高程序的质量。


  • 举例说明:为产品描述创建一个 DSPy 模板,其中包括产品名称、功能、优点和目标受众的占位符。


10. 迭代测试和改进:


举例说明:测试提示后,分析模型的输出结果,调整提示措辞、结构或示例,以改进结果。


考虑调整:


  • Temperature:调整模型设置中的 temperature 参数,控制输出的随机性。较低的 temperature 会产生更一致的反应,而较高的 temperature 则会激发创造力。

  • 前 k 抽样:限制模型在每一步生成过程中从前 k 个最有可能的词中进行选择,在创造性和连贯性之间取得平衡。

  • 模型选择:为任务选择合适的模型。有些模型擅长特定任务,如代码生成或创意写作。

  • 提示语长度:尝试使用提示语的长度。虽然详细的提示通常很有帮助,但过长的提示有时会让模型感到困惑。


结果


  • 提示工程可使人工智能系统输出更准确、更相关的信息。精心设计的提示可以提高模型的理解能力,从而产生符合人类期望和特定应用要求的响应。


相关模式


  • 模板化:提示模板提供结构化方法,确保一致性和有效性。模板可指导提示的创建,提高效率和性能。[7]

  • 模型微调:提示工程与模型微调密切相关,两者都旨在优化模型性能。提示工程侧重于输入优化,而微调则调整模型参数。[8]

RAG(检索、增强、生成)

RAG 就是检索增强生成(Retrieval Augmented Generation)。它可以使用多种技术,包括基础 RAG、中级 RAG 和高级 RAG,本文只介绍基础 RAG。


RAG 的主题是数据扩充(Data Enrichment):RAG 利用数据扩充和增强来提高提示质量。Lewis 等人在 2021 年的一篇论文[5]中提出了一种用于问题解答的检索增强生成方法。作者展示了从外部知识源检索相关段落如何显著提高生成答案的准确性和信息量。


情境感知是 RAG 的关键目标,RAG 通过使用额外数据增强提示来提高模型的语境意识。Guu 等人在 2020 年的一篇论文[6]中介绍了一种知识增强语言模型,该模型可从知识库中检索并整合相关信息。作者展示了这种方法如何增强模型生成与上下文相关且事实准确的回复的能力。


问题/挑战


  • 通过提供更多背景信息,提高提示质量和相关性。初始提示可能缺乏足够数据,导致输出结果不理想。RAG 可通过检索和整合相关信息来增强提示,从而解决这一问题。


背景


  • AI 模型,尤其是语言模型,依赖于语境提示。不完整的提示会导致不准确或不完整的回答。RAG 的目的是通过检索和整合更多数据来提供更丰富的语境。


考虑因素/取舍


  • 用附加数据来增强提示可改善语境和输出质量。然而,这会提高处理复杂性并增大潜在延迟。语境的丰富性与生成效率之间需要权衡。


解决方案


  • RAG(检索、增强、生成)可在生成前检索并整合相关附加数据,以增强提示。这可确保模型能够获得更广泛的背景信息,从而提高输出质量。

  • 解决方案详情:RAG 结合了信息检索技术和语言生成技术。从知识库、文本库或其他来源检索相关数据,然后使用这些数据来增强提示,为模型提供更强的语境。


结果


  • RAG 通过更丰富的上下文和更高的准确性改进了 AI 输出。增强的提示使模型能够生成更全面、更贴近上下文的响应。


相关模式


  • 扩充数据:RAG 是数据扩充的一种形式,通过检索和整合附加数据来增强输入。这可以提高对模型的理解和输出质量。[7]

  • 情境意识:通过使用额外的数据来增强提示,RAG 增强了模型的语境意识。这使模型能够生成考虑到更广泛背景的响应。[8]

服务(Serve)

API 管理:通过 API 服务 AI 模型可实现与应用程序的无缝集成。Zaharia 等人 2019 年的一篇论文[7]讨论了大规模部署机器学习模型的挑战和最佳实践。作者强调了强大的 API 管理对于高效、可靠的提供 AI 能力的重要性。


服务网格:服务网格架构有利于微服务(包括 AI 服务)的部署和管理。2020 年,Amershi 等人的一篇论文[8]探讨了服务网格在 MLOps 中的作用,强调了它们在可观察性、流量管理和安全性方面对人工智能部署的益处。


问题/挑战


  • 向最终用户或系统提供或部署 AI 模型的输出是 AI 开发过程中的一个关键步骤。


背景


  • AI 模型训练完成后,其输出需要以可用的格式提供,以便为用户或其他系统提供价值。


考虑因素/取舍


  • 提供 AI 输出的速度和可靠性与所需基础设施的成本和复杂性之间存在权衡。


解决方案


  • 实施服务层,托管 AI 模型,并通过 API 公开其功能,使应用程序能够访问和集成 AI 能力。

  • 解决方案详情:

  • 可选择批量或在线服务:批量服务包括向模型提供大量数据,并将输出写入表格,通常是作为计划作业执行。

  • 在线服务通过端点部署模型,使应用程序能够以较低的延迟发送请求并接收快速响应。

  • 利用亚马逊、微软、谷歌和 IBM 等公司提供的工具和服务,简化部署流程。

  • 考虑使用可自动创建工作流的先进工具来构建机器学习模型服务。

  • 结果:最终用户能及时、可靠的获得 AI 生成的内容或服务,且格式易于集成和使用。


相关模式:API 管理、服务网格

适应性(Adapt)

模块化:模块化 AI 组件提高了适应性和可重用性。Li 等人在 2021 年发表的一篇论文[9]中提出了模块化深度学习框架,可为各种任务组合可重用模块,展示了模块化如何提高 AI 模型在不同领域的灵活性和可移植性。


系统集成:将 AI 解决方案与现有系统集成对于无缝采用至关重要。2020 年,Paleyes 等人在一篇论文[10]中讨论了将机器学习模型集成到生产系统中的挑战和策略,强调了标准化接口和强大的集成流水线对于成功部署 AI 的重要性。


问题/挑战


  • AI 解决方案需要适应不同使用案例和环境,以满足不同的用户需求和期望。


背景:


  • 随着 AI 不断发展和普及,AI 解决方案必须具有多功能性和灵活性,以处理各种功能并与现有系统无缝集成。


考虑因素/取舍:


  • 开发可适应不同使用情况的灵活的 AI 解决方案与针对特定任务进行专门优化之间存在权衡。


解决方案:


  • 通过开发可与不同系统集成的模块化组件和连接器,扩展和提炼 AI 解决方案。

  • 持续评估 AI 解决方案在各种环境和使用案例中的性能。


解决方案详情:


  • 采用自适应 AI 解决方案,这些解决方案可以从新数据中学习,并随着时间的推移不断自我完善,在进行更新时无需密集编程和手动编码。

  • 利用持续学习模式,使 AI 系统变得更加高效、可扩展和可持续。

  • 利用数据科学人员帮助解析数据集中的见解,并提供后续预测、建议和预计结果。


结果


  • AI 解决方案坚固耐用、适应性强,能够满足各种企业环境和用户需求,提高客户满意度和灵活性。


相关模式


  • 模块化、系统集成。

准备和优化数据与模型

准备和优化数据与模型是开发有效 AI 解决方案的关键环节。高效的数据管道在这一过程中发挥着至关重要的作用,可以完成必要的数据清理、整合和特征工程任务。Polyzotis 等人 2019 年发表的论文[11]对机器学习中的数据管理挑战进行了全面调查,强调了精心设计的数据管道在 AI 工作流中的重要性。除了数据准备,超参数优化也是提高模型性能的重要步骤。


Li 等人[12]在 2020 年的一篇论文中介绍了基于贝叶斯优化的高效超参数优化框架,展示了自动优化如何在减少人工干预的同时显著提高模型的准确性。此外,针对特定任务或领域对预训练模型进行微调已被证明是提高模型性能的有效方法。


Howard 和 Ruder [4] 在 2020 年的一篇论文中介绍了微调语言模型的技术,展示了辨别性微调(discriminative fine-tuning)和斜三角学习率(slanted triangular learning rates)如何在最大限度降低计算成本的同时,大幅提高下游任务的性能。通过关注数据和模型准备的这些关键方面,AI 从业者可以为各种应用开发出更准确、更高效、更量身定制的解决方案。


下面是子模式。


数据管道(Data Pipeline):高效的数据管道对于为 AI 模型准备数据至关重要。Polyzotis 等人 2019 年的一篇论文[11]对机器学习中的数据管理挑战进行了调查。作者讨论了数据清理、整合和特征工程的各种技术,强调了数据管道在 AI 工作流中的关键作用。


超参数优化(Hyperparameter Optimization):调整超参数对优化模型性能至关重要。Li 等人 2020 年的论文[12]介绍了基于贝叶斯优化的高效超参数优化框架。作者展示了自动超参数优化如何显著提高模型准确性并减少人工干预。


模型微调(Model Fine-Tuning):微调包括根据特定任务或领域调整预训练模型。Howard 和 Ruder 于 2020 年发表的论文[4]介绍了对语言模型进行微调的技术,如判别微调和斜三角学习率。作者展示了微调如何在降低计算成本的同时大幅提高模型在下游任务中的性能。


数据生成(Synthetic Data Generation):数据生成包括创建人工数据,模拟真实世界数据的特征和统计属性。这一过程依赖于能捕捉真实数据中潜在模式、分布和关系的算法和模型。通过生成合成数据,研究人员和开发人员可以扩充现有数据集,填补数据空白,并创建新的训练场景,而这些场景仅靠真实数据是无法实现的。

数据生成对微调 LLM 的重要性

数据扩充(Data Augmentation):现实世界的数据集往往存在类别不平衡或针对某些情况的代表性有限的问题。数据生成可用于增强训练数据集,通过创建新示例来平衡类别分布并涵盖代表性不足的情况,这样就能生成在不同任务和场景中表现出色的更稳健、更通用的 LLM。


数据隐私与安全(Data Privacy and Security):在许多应用中,真实数据可能包含敏感信息或个人身份信息 (PII)。数据生成允许研究人员创建既能保留真实数据基本统计属性,又能确保隐私和安全的数据集。通过在生成数据上训练 LLM,可大大降低暴露敏感信息的风险。


探索罕见或危险场景(Exploration of Rare or Dangerous Scenarios):真实数据可能缺乏罕见或危险事件的实例,这使得训练 LLM 有效处理此类情况时具有挑战性。数据生成可以创建现实生活中难以或无法收集到的场景,如极端天气事件、事故或网络攻击。通过在训练过程中让 LLM 接触这些合成场景,可以提高理解和应对此类事件的能力。


成本和时间效率(Cost and Time Efficiency):收集和标注大量真实数据是耗时且昂贵的过程。数据生成通过自动化数据创建过程,提供了经济高效的替代方法,使研究人员和开发人员能够快速迭代和试验不同训练场景,从而加快模型的开发和改进。


定制和控制(Customization and Control):数据生成可对数据特征进行高度定制和控制。研究人员可以微调数据生成模型的参数,以创建满足特定要求的数据集,例如控制生成示例的多样性、复杂性或难度,这样就能针对特定应用或领域对 LLM 进行有针对性的微调。

伦理考量

虽然数据生成具有显著优势,但考虑其所涉及的伦理问题也至关重要。应负责任、透明的使用生成数据,确保不会延续真实数据中存在的偏见或错误表述。此外,还必须验证生成数据的质量和代表性,以确保其符合所要模拟的真实世界数据的特征。


问题/挑战


  • 准备和优化数据和模型对于实现最佳性能和特定用例的相关性至关重要。


背景


  • 原始数据通常需要清理和准备,以确保其完整、一致、及时和相关,需要针对特定行业领域和使用案例对模型进行微调。


考虑因素/取舍


  • 数据准备和模型调整的质量直接影响 AI 解决方案的性能和准确性,数据准备不足会导致 AI 模型做出错误的决策和结论。


解决方案


  • 通过确保正确的格式化、清理和结构化,为机器学习优化做好数据准备。

  • 通过微调为特定行业领域和用例定制 AI 模型。


解决方案详情:


  • 利用数据准备工具,如 OpenAI 的 CLI 数据准备工具,对数据进行验证、建议并重新格式化为微调所需的格式。

  • 确保数据集涵盖各种主题、风格和格式,使模型能够在不同场景下生成连贯且与背景相关的输出。

  • 提供足够数量的高质量训练示例,最好由人类专家审核,以提高微调模型的性能。

  • 增加示例数量可提高性能,因为数据集越大,模型质量通常会呈线性增长。


结果


  • 量身定制的 AI 解决方案,可针对特定行业领域和使用案例发挥最佳性能,满足企业的独特需求和要求。


相关模式


  • 数据管道,超参数优化。

落地(Ground)

反馈回路(Feedback Loops):反馈回路可根据用户互动情况不断改进 AI 模型。Breck 等人在 2021 年的一篇论文[13]中讨论了反馈回路在负责任的 AI 开发中的重要性,作者强调了纳入用户反馈如何有助于识别和减轻 AI 系统中的偏差、错误和意外后果。


持续监控(Continuous Monitoring):监控生产中的 AI 模型对于保持性能和检测异常情况至关重要。Klaise 等人在 2020 年的一篇论文[14]中提出了持续监控机器学习模型的框架,讨论了实时检测概念漂移、性能下降和数据质量问题的技术。


问题/挑战


  • 确保 AI 产出的准确性、相关性和道德合理性对其有效利用至关重要。


背景


  • 随着人工智能系统越来越多地应用于关键领域,其产出的相关性和准确性直接影响到其实用性和社会影响。


考虑因素/取舍


  • 在实现高度准确的 AI 输出与确保其知识和能力的广度之间需要权衡利弊。


解决方案


  • 实施评估和验证机制,以评估 AI 产出的质量、性能和偏差,并将其建立在更多数据和验证的基础上。


解决方案详情


  • 利用自动监控系统检测 AI 模型中的偏差、漂移、性能问题和异常情况,确保其正常运行并符合道德规范。

  • 建立性能警报,以便在模型偏离预定性能参数时及时干预。

  • 实施反馈循环,以解决用户的挫折感,让他们继续参与,引导他们获得更准确的结果,防止他们陷入困境。


结果


  • 高质量、无偏见的 AI 输出结果具有相关性、准确性和可信度,可提高用户满意度和依赖性。


相关模式


  • 反馈回路,持续监控。

多代理系统(Multi-agent Systems)

多代理系统(MAS)已成为设计和实施复杂 AI 系统的强大范例。在多代理系统中,多个智能代理相互协作,共同解决单个代理无法解决的问题。Dorri 等人在 2021 年发表的论文[19]对 AI 中的多代理系统进行了全面调查,讨论了其应用、挑战和未来方向,强调了多代理系统中协调、交流和决策的重要性,以及在解决大规模、分布式问题方面的潜力。


MAS 的关键挑战之一是确保代理之间的有效合作。Xie 等人 2020 年的一篇论文[20]提出了一种新颖的多代理合作强化学习框架,使代理能够根据其他代理的行动来学习和调整自己的策略,并展示了这种方法如何在复杂多变的环境中提高性能和鲁棒性。


MAS 的另一重要方面是处理不确定性和不完整信息的能力。Amato 等人 2019 年的一篇论文[21]讨论了多代理系统中不确定性下分散决策的挑战和机遇,介绍了各种技术,如部分可观测马尔可夫决策过程和博弈论方法,用于建模和解决 MAS 中的决策问题。


多代理系统已在机器人、自动驾驶汽车和智能电网等多个领域得到应用。通过利用多个智能代理协同工作的力量,多代理系统可以开发出更具弹性、适应性和可扩展性的 AI 解决方案。随着 AI 系统的复杂性不断增加,多代理系统可能会在塑造 AI 的未来方面发挥越来越重要的作用。


背景


  • 多代理系统已成为设计和实施复杂 AI 系统的强大范例。在多代理系统中,多个智能代理相互协作,共同解决单个代理无法解决的问题。

  • 大型语言模型(LLM)在自然语言理解和生成方面表现出了卓越的能力。然而,随着任务的复杂性和对专业知识需求的增加,在 LLM 中利用多代理系统可以带来更高效、更有效的解决方案。


问题/挑战


  • 设计有效的多代理系统需要解决代理之间的协调、沟通和决策等难题。确保合作、处理不确定性和不完整信息是多代理系统取得成功的关键。

  • 将多代理系统集成到 LLM 中会带来各种挑战,如协调多个专门的语言模型、实现代理之间的有效通信和知识共享,以及确保生成的输出结果协调一致。


考虑因素/取舍


  • 多代理系统的复杂性与其解决大规模分布式问题的能力之间存在权衡。平衡单个代理的自主性与协调和协作的需要对于实现最佳性能至关重要。

  • 在 LLM 中实施多代理系统,需要平衡专业知识的优势与代理间协调和通信的开销。取得适当的平衡对于优化性能、保持生成语言的流畅性和连贯性至关重要。


解决方案


  • 开发多代理系统,利用多个智能代理共同解决复杂问题的能力。在代理之间实施有效协调、沟通和决策的技术。

  • 为 LLM 开发多代理架构,允许多个专业语言模型协作和共享知识。在代理之间实施有效的通信、协调和决策技术,以实现无缝集成和最佳性能。


解决方案详情


  • 利用合作式多代理强化学习框架,如 Xie 等人提出的框架[20],使代理能够根据其他代理的行动来学习和调整自己的策略。

  • 应用 Amato 等人[21]所讨论的部分可观测马尔可夫决策过程和博弈论方法等技术,来模拟和解决不确定性和不完全信息下的 MAS 决策问题。

  • 利用 MAS 在机器人、自动驾驶汽车和智能电网等各个领域的潜力,开发更具弹性、适应性和可扩展性的 AI 解决方案。


基于 LLM 的代理


  • 利用分级式多代理框架,由上级代理协调下级专门代理的行动,确保生成的结果协调一致。

  • 实施通信协议,使代理能够共享相关信息,如上下文、意图和生成的输出结果,从而实现有效协作和知识共享。

  • 采用联合学习和迁移学习等技术,使代理能够相互学习,高效适应新任务和新领域。


结果


  • 与单个代理相比,多代理系统能够帮助开发人工智能解决方案,更有效地解决复杂的分布式问题。通过促进代理之间的协调、交流和决策,多代理系统可以提高动态环境中的性能、稳健性和适应性。

  • LLM 中的多代理系统能够生成更加连贯、与上下文相关和专业的语言输出。通过利用多个专业代理的专业知识,LLM 可以更有效、更高效地处理复杂任务,从而提高性能,改善用户体验。


相关模式


  • 分布式控制(Decentralized Control):MAS 通常采用分布式控制架构,允许代理自主决策,同时与其他代理协调以实现共同目标。

  • 群体智能(Swarm Intelligence):MAS 可以表现出群体智能,即代理之间的简单互动会在系统层面产生复杂的智能行为。

  • 模块化架构(Modular Architectures):LLM 中的多代理系统可使用模块化架构来实现,其中每个代理都是自足的模块,具有特定的功能,可以轻松扩展和适应新的任务。

  • 协作学习(Collaborative Learning):多代理 LLM 中的代理可以进行协作学习,可以分享知识并相互学习,以提高各自以及整体性能。


将多代理系统集成到大语言模型中,为生成高质量、专业化的语言输出提供了新的可能性。通过实现多个专业代理之间的有效协调、沟通和知识共享,LLM 可以更高效的处理复杂任务,为更先进、更智能的语言应用铺平道路。

治理(Govern)

AI 道德(Ethical AI):治理 AI 系统需要确保遵守道德原则和法规。Floridi 等人于 2021 年发表的论文[15]提出了 AI 伦理治理框架。作者讨论了 AI 开发和部署中透明度、问责制和公平性的重要性,强调了治理在促进负责任的 AI 实践中的作用。


合规管理(Compliance Management):合规管理确保 AI 系统遵守法律法规要求。Bughin 等人在 2020 年发表的一篇论文[16]中探讨了 AI 的监管环境,并讨论了管理合规风险的策略。作者强调,需要积极主动进行合规管理,以驾驭围绕 AI 不断演变的法律和道德框架。


问题/挑战


  • 随着 AI 系统变得越来越强大和普遍,以负责任和合乎道德的方式对其进行管理,对于防止潜在的伤害至关重要。


背景


  • AI 系统会产生重大的社会影响,影响个人权利、隐私和尊严。治理可确保 AI 系统在道德和法律界限内运行。


考虑因素/取舍


  • 强大的 AI 管理可能会增加开发和部署过程的复杂性,但对于维护用户信任和遵守法规却至关重要。


解决方案


  • 实施负责任的 AI 治理层,包括公正的安全检查、陈述检查和监督机制。


解决方案详情


  • 建立多学科治理政策和框架,让来自技术、法律、道德和商业领域的利益相关者参与其中,以指导 AI 的发展并应对风险。

  • 确保 AI 系统尊重和维护隐私权、数据保护和安全,以保护个人信息。

  • 实施持续监测和评估 AI 系统的机制,确保遵守道德规范和法律法规。

  • 利用可视化仪表板的实时更新和直观的健康评分指标,轻松监控 AI 系统的状态和性能。


结果


  • AI 系统在道德和法律界限内运行,尊重个人权利和隐私,维护用户信任,从而促进社会接受和采用。


相关模式


  • AI 道德,合规管理。

MLOps

持续部署:MLOps 可实现 AI 模型的持续部署,从而实现快速更新和改进。Alla 和 Adari 在 2020 年的一篇论文[17]中讨论了 MLOps 的原则和实践,强调了持续集成和部署(CI/CD)管道对于高效模型更新和推出的重要性。


实时监控:实时监控对于确保 AI 模型在生产中的性能和可靠性至关重要。2021 年,Sambasivan 等人撰写的论文[18]对监控机器学习系统的挑战和最佳实践进行了研究,讨论了实时监控对于检测和缓解问题、确保 AI 模型顺利运行的重要性。


问题/挑战


  • 要将机器学习模型投入使用,就必须将其从开发阶段过渡到生产阶段,这需要精心的规划和执行。


背景


  • MLOps,即机器学习运维,旨在简化将机器学习模型投入生产和高效维护的流程。


考虑因素/取舍


  • AI 模型的生产性能与部署和更新速度之间存在权衡。


解决方案


  • 协调持续集成和部署(CI/CD)流水线,集成并监控数据、预测性和生成性 AI 组件。


解决方案详情


  • 采用 MLOps 方法,加强数据科学家、工程师和 IT 专业人员之间的协作,加快模型开发和生产。

  • 利用自动化测试和验证实践来提高机器学习工件的质量,并在 ML 项目中贯彻敏捷原则。

  • 将 MLOps 应用于从模型生成和协调到健康、诊断、管理和业务指标的整个 ML 生命周期。


结果


  • AI 模型在生产环境中平稳运行,停机时间最短,确保性能可靠高效。


相关模式


  • 持续部署、实时监控

参考资料

[1] Ram, A., et al. (2020). Conversational AI: Advances and Challenges. arXiv preprint arXiv:2005.01411.


[2] Kocaballi, A. B., et al. (2019). The Role of Personalization in AI-based Health Interventions. arXiv preprint arXiv:1908.01739.


[3] Liu, X., et al. (2021). A Prompt-based Learning Framework for Natural Language Processing. arXiv preprint arXiv:2102.12206.


[4] Howard, J., & Ruder, S. (2020). Fine-tuned Language Models for Text Classification. arXiv preprint arXiv:2012.08904.


[5] Lewis, P., et al. (2021). Retrieval-Augmented Generation for Question Answering. arXiv preprint arXiv:2101.05779.


[6] Guu, K., et al. (2020). REALM: Retrieval-Augmented Language Model Pre-training. arXiv preprint arXiv:2002.08909.


[7] Zaharia, M., et al. (2019). Challenges and Best Practices in Deploying Machine Learning Models at Scale. arXiv preprint arXiv:1909.06353.


[8] Amershi, S., et al. (2020). MLOps: Practices for Efficient and Robust Machine Learning in Production. arXiv preprint arXiv:2006.12241.


[9] Li, J., et al. (2021). Modular Deep Learning: A Survey. arXiv preprint arXiv:2103.01475.


[10] Paleyes, A., et al. (2020). Challenges in Deploying Machine Learning: A Survey of Case Studies. arXiv preprint arXiv:2012.01743.


[11] Polyzotis, N., et al. (2019). Data Management Challenges in Production Machine Learning. arXiv preprint arXiv:1905.08674.


[12] Li, L., et al. (2020). Efficient Hyperparameter Optimization with Bayesian Optimization. arXiv preprint arXiv:2010.01708.


[13] Breck, E., et al. (2021). The Importance of Feedback Loops in Responsible AI Development. arXiv preprint arXiv:2102.03483.


[14] Klaise, J., et al. (2020). A Framework for Continuous Monitoring of Machine Learning Models. arXiv preprint arXiv:2012.04271.


[15] Floridi, L., et al. (2021). A Framework for Ethical AI Governance. arXiv preprint arXiv:2101.11519.


[16] Bughin, J., et al. (2020). Managing Compliance Risks in AI Deployment. arXiv preprint arXiv:2006.11024.


[17] Alla, S., & Adari, S. K. (2020). MLOps: Principles and Practices. arXiv preprint arXiv:2011.14183.


[18] Sambasivan, N., et al. (2021). Challenges and Best Practices in Monitoring Machine Learning Systems. arXiv preprint arXiv:2102.02558.


[19] Dorri, A., et al. (2021). Multi-Agent Systems in AI: A Survey. arXiv preprint arXiv:2105.01183.


[20] Xie, T., et al. (2020). Learning to Cooperate in Multi-Agent Reinforcement Learning. arXiv preprint arXiv:2011.14821.


[21] Amato, C., et al. (2019). Decentralized Decision Making Under Uncertainty in Multi-Agent Systems. arXiv preprint arXiv:1909.08693.


[22] Wei, J., Wang, X., Schuurmans, D., Bosma, M., Chi, E., Le, Q., & Zhou, D. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv preprint arXiv:2201.11903.


[23] Long, Y., Wu, H., Wang, W., Zhou, Y., Dong, L., Li, H., … & Ma, J. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv preprint arXiv:2305.10601.


[24] Yao, S., Zhao, T., Zhang, D., Ding, N., & Liu, T. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv preprint arXiv:2210.03629.


[25] Stanford NLP Group. (n.d.). DSPy. GitHub repository. https://github.com/stanfordnlp/dspy


[26] Chu, Z., Chen, J., Chen, Q., Yu, W., He, T., Wang, H., … & Liu, T. (2023). A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future. arXiv preprint arXiv:2309.15402v2 [cs.CL].




你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。为了方便大家以后能第一时间看到文章,请朋友们关注公众号"DeepNoMind",并设个星标吧,如果能一键三连(转发、点赞、在看),则能给我带来更多的支持和动力,激励我持续写下去,和大家共同成长进步!

发布于: 刚刚阅读数: 4
用户头像

俞凡

关注

公众号:DeepNoMind 2017-10-18 加入

俞凡,Mavenir Systems研发总监,关注高可用架构、高性能服务、5G、人工智能、区块链、DevOps、Agile等。公众号:DeepNoMind

评论

发布
暂无评论
万字长文解读生成式AI参考架构_人工智能_俞凡_InfoQ写作社区