分享

生成式人工智能设计模式指南

 数据治理精英馆 2024-02-24 发布于浙江

对人工智能模式的需求

在构建新事物时,我们都会遵循一些经过尝试和测试的方法、途径和模式。对于软件工程领域的人来说,这种说法非常正确,但对于生成人工智能和人工智能本身来说,情况可能并非如此。对于生成式人工智能等新兴技术,我们缺乏有据可查的模式来支撑我们的解决方案。

在这里,根据我对LLM的无数生产实施的评估,分享了一些生成式人工智能的方法和模式。这些模式的目标是帮助减轻和克服生成式人工智能实施中的一些挑战,例如成本、延迟和幻觉。

模式列表

  1. 分层缓存策略带来微调

  2. 为专家小组复用人工智能代理

  3. 针对多个任务微调LLM

  4. 基于规则和生成的混合

  5. LLM利用知识图

  6. 生成人工智能代理群

  7. 具有可组合性的模块化整体LLM方法

  8. LLM的记忆认知方法

  9. 红蓝队双模评测

1)分层缓存策略带来微调

在这里,当我们向大型语言模型引入缓存策略和服务时,正在解决的是成本、冗余和训练数据等因素的组合问题。

通过缓存这些初始结果,系统可以更快地为后续查询提供答案,从而提高效率。一旦我们拥有足够的数据,微调层就会出现这种扭曲,这些早期交互的反馈被用来完善更专业的模型。

专门的模型不仅简化了流程,还根据特定任务定制了人工智能的专业知识,使其在精度和适应性至关重要的环境中非常有效,例如客户服务或个性化内容创建。

首先,有一些预构建的服务,例如GPTCache,或者使用常见的缓存数据库(例如Redis、Apache Cassandra、Memcached)推出自己的服务。当向组合中添加其他服务时,请务必监控和测量延迟。

2) 为专家小组复用人工智能代理

想象一个生态系统,其中多个面向特定任务的生成人工智能模型(“代理”),每个模型都是其领域内的专家,并行工作以解决查询。这种多路复用策略可实现多种响应,然后将其集成以提供全面的答案。

这种设置非常适合复杂的问题解决场景,在这些场景中,问题的不同方面需要不同的专业知识,就像一个专家团队,每个专家都解决一个更大问题的一个方面。

GPT-4 等较大的模型用于理解上下文并将其分解为特定的任务或信息请求,然后传递给较小的代理。代理可以是较小的语言模型,例如Phi-2或TinyLlama,它们已经过特定任务的训练,可以访问特定工具或通用模型,例如 GPT、具有特定个性、上下文提示和函数调用的 Llama。

3)针对多个任务微调LLM

在这里,我们同时在多个任务而不是单个任务上微调大型语言模型。这种方法可以促进不同领域知识和技能的稳健转移,从而增强模型的多功能性。

这种多任务学习对于需要以高能力处理各种任务的平台特别有用,例如虚拟助手或人工智能驱动的研究工具。这可能会简化复杂领域的培训和测试工作流程。

用于培训 LLM 的一些资源和软件包包括DeepSpeed以及Hugging Face 的 Transformer 库上的培训函数。

4) 基于规则和生成的混合

许多现有的业务系统和组织应用程序在某种程度上仍然是基于规则的。通过将生成性与基于规则的逻辑的结构化精度相融合,该模式旨在产生既富有创意又合规的解决方案。

对于产出必须遵守严格标准或法规的行业来说,这是一项强大的战略,确保人工智能保持在所需参数的范围内,同时仍然能够创新和参与。一个很好的例子是为电话呼叫 IVR 系统或基于规则的传统(非基于 llm)聊天机器人生成意图和消息流。

5) LLM利用知识图

将知识图谱与生成式人工智能模型相结合,赋予它们以事实为导向的超能力,使得输出不仅能够感知上下文,而且更加符合事实。

这种方法对于真实性和准确性不容妥协的应用至关重要,例如教育内容创建、医疗建议或错误信息可能造成严重后果的任何领域。

知识图和图本体(图的概念集)支持将复杂的主题或组织问题分解为结构化格式,以帮助建立具有深层上下文的大型语言模型。还可以使用语言模型以 JSON 或 RDF 等格式生成本体。

可用于知识图的服务包括图形数据库服务,例如ArangoDB、Amazon Neptune、Azure Cosmos DB和Neo4j。还有更广泛的数据集和服务用于访问更广泛的知识图谱,包括Google Enterprise Knowledge Graph API、PyKEEN 数据集和Wikidata。

6)人工智能代理群

该模型从自然群体和声音中汲取灵感,采用了众多人工智能代理来共同解决问题,每个代理都提供独特的视角。

由此产生的汇总输出反映了一种集体智慧,超越了任何个体代理所能实现的目标。在需要广泛的创造性解决方案的场景或导航复杂的数据集时,这种模式特别有利。

这方面的一个例子可以是从多个“专家”的角度审查研究论文,或者同时评估从欺诈到优惠的许多用例的客户交互。我们采用这些集体“代理”并将他们的所有投入结合在一起。对于大容量群,可以考虑部署消息服务(例如Apache Kafka)来处理代理和服务之间的消息。

7)具有可组合性的模块化整体LLM方法

该设计倡导适应性,采用模块化人工智能系统,可以动态重新配置自身以实现最佳任务性能。它就像一把瑞士军刀,可以根据需要选择和激活每个模块,这对于需要针对不同客户交互或产品需求定制解决方案的企业来说非常有效。

可以部署使用各种自主代理框架和架构来开发每个代理及其工具。示例框架包括CrewAI、Langchain、Microsoft Autogen和SuperAGI。

对于销售模块化整体,这可能是一个专注于勘探的代理,一个处理预订,一个专注于生成消息,另一个更新数据库。将来,随着专业人工智能公司提供特定服务,可以将模块替换为外部或第三方服务,以解决一组给定的任务或特定领域的问题。

8) LLM的记忆认知方法

这种方法为人工智能引入了类人记忆的元素,允许模型回忆并基于之前的交互来做出更细致的反应。

它对于持续的对话或学习场景特别有用,因为随着时间的推移,人工智能会产生更深刻的理解,就像专门的个人助理或自适应学习平台一样。记忆认知方法可以通过随着时间的推移总结关键事件和讨论并将其存储到向量数据库中来开发。

为了保持较低的摘要计算量,可以通过较小的 NLP 库(例如spaCy)或BART 语言模型(如果处理大量数据)来利用求和。使用的数据库是基于向量的,并且在提示阶段进行检索以检查短期记忆,使用相似性搜索来定位关键“事实”。对于那些对可行解决方案感兴趣的人,有一个遵循类似模式的开源解决方案,称为MemGPT。

9)红蓝队双模评测

在红蓝团队评估模型中,一个人工智能生成内容,而另一个人工智能则对其进行批判性评估,类似于严格的同行评审过程。这种双模型设置非常适合质量控制,使其非常适用于可信度和准确性至关重要的内容生成平台,例如新闻聚合或教育材料制作。

这种方法可用于通过微调模型来替换复杂任务的部分人类反馈,以模仿人类审查过程并细化评估复杂语言场景和输出的结果。

要点

这些生成式人工智能的设计模式不仅仅是模板;而是未来智能系统赖以发展的框架。随着我们不断探索和创新,很明显,我们选择的架构不仅会定义我们创建的人工智能的功能,还会定义它的身份。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多