生成式AI设计模式:综合指南

生成式AI设计模式:综合指南

在构建新事物时,我们都依赖于一些经过尝试和测试的方法、方法和模式。这句话对于那些从事软件工程的人来说是非常正确的,但对于生成式人工智能和人工智能本身来说,情况可能并非如此。对于像生成式AI这样的新兴技术,我们缺乏良好的文档模式来支撑我们的解决方案。

本文中,我将分享一些生成式人工智能的方法和模式,这些方法和模式是基于我对无数LLM在生产中的生产实现的评估。这些模式的目标是帮助减轻和克服生成人工智能实现的一些挑战,如成本、延迟和幻觉。如果你想了解更多关于人工智能的相关内容,可以阅读以下这些文章:
2024年每个开发人员都需要掌握的生成式人工智能技能
Google的Gemini AI模型:揭开人工智能的未来
世界上最好的人工智能模型:谷歌DeepMind的Gemini已经超过了GPT-4!
我尝试了50种人工智能工具,以下是我的最爱

模式列表

  • 导致微调的分层缓存策略
  • 专家小组的多路人工智能代理
  • 针对多个任务的LLM微调
  • 基于混合规则和生成
  • 利用LLM的知识图谱
  • 生成型人工智能代理群
  • 具有可组合性的模块化整体LLM方法
  • LLM的记忆认知方法
  • 红蓝队双模型评估

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

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

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

开始时,有预构建的服务,如GPTCache,或者使用常见的缓存数据库,如Redis, Apache Cassandra, Memcached。在向组合中添加其他服务时,请确保监视和测量延迟。

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

这种设置非常适合复杂的问题解决方案,其中问题的不同方面需要不同的专业知识,就像一个专家团队每个人处理一个更大问题的一个方面一样。

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

在这里,我们同时对多个任务而不是单个任务进行大型语言模型的微调。这种方法促进了知识和技能在不同领域之间的有力转移,增强了模型的多功能性。

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

培训LLM的一些资源和包包括DeepSpeed,以及hug Face的Transformer库上的培训功能。

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

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

将知识图谱与生成式人工智能模型集成在一起,赋予它们以事实为导向的超强能力,允许输出不仅具有上下文意识,而且更符合事实。

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

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

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

从自然群体和听觉中汲取灵感,这个模型采用了大量的人工智能代理,它们共同解决一个问题,每个代理都提供了一个独特的视角。

由此产生的总体产出反映了某种形式的集体智慧,超越了任何个体所能达到的水平。这种模式在需要广泛的创造性解决方案或导航复杂数据集的场景中特别有利。

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

这种设计支持适应性,具有模块化AI系统,可以动态重新配置自身以获得最佳任务性能。它就像一把瑞士军刀,每个模块都可以根据需要进行选择和激活,对于需要为不同的客户交互或产品需求定制解决方案的企业来说,这是非常有效的。

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

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

这种方法为人工智能引入了类似人类记忆的元素,允许模型回忆并建立在以前的交互基础上,以获得更细微的反应。

这对于正在进行的对话或学习场景特别有用,因为随着时间的推移,人工智能会发展出更深刻的理解,就像一个专门的个人助理或一个自适应学习平台。随着时间的推移,记忆认知方法可以通过汇总和存储关键事件和讨论到矢量数据库中来开发。

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

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

此方法可用于用微调模型替换复杂任务的部分人工反馈,以模拟人工审查过程,并改进结果以评估复杂的语言场景和输出。

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

这绝不是最终的列表,随着生成式人工智能的模式和用例的扩展,我们将看到这个空间的发展。

感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Vincent Koc
翻译作者:过儿
美工编辑:过儿
校对审稿:Jason
原文链接:https://towardsdatascience.com/generative-ai-design-patterns-a-comprehensive-guide-41425a40d7d0