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

news2024/11/18 16:49:46

原文地址:Generative AI Design Patterns: A Comprehensive Guide

使用大型语言模型 (LLM) 的参考架构模式和心理模型

2024 年 2 月 14 日

对人工智能模式的需求

我们在构建新事物时,都会依赖一些经过验证的方法、途径和模式。对于软件工程师来说,这个说法非常正确,但对于生成式人工智能和人工智能本身来说,情况可能并非如此。随着生成式人工智能等新兴技术的出现,我们缺乏充分验证的模式来支撑我们的解决方案。

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

设计模式列表

  1. Layered Caching Strategy Leading To Fine-Tuning 使用分层缓存策略驱动微调
  2. Multiplexing AI Agents For A Panel Of Experts 多路复用AI代理,用于专家模型组合
  3. Fine-Tuning LLM’s For Multiple Tasks 微调LLM的多任务优化
  4. Blending Rules Based & Generative 基于规则和生成的混合规则
  5. Utilizing Knowledge Graphs with LLM’s 利用LLM的知识图谱
  6. Swarm Of Generative AI Agents 生成式人工智能代理的群体
  7. Modular Monolith LLM Approach With Composability 模块化单体LLM方法与可组合性
  8. Approach To Memory Cognition For LLM’s LLM的记忆认知方法
  9. Red & Blue Team Dual-Model Evaluation 红蓝队双模型评估

1) 使用分层缓存策略驱动微调

img

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

通过缓存这些初始结果,系统可以在后续查询中更快地提供答案,提高效率。关键在于当我们有足够的数据时,通过这些早期交互的反馈来优化更专业的模型。

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

为了开始,有预先构建的服务,如GPTCache,或者使用常见的缓存数据库(如Redis、Apache Cassandra、Memcached)自己构建。确保在添加额外的服务时监控和测量延迟。

2) 多路复用AI代理,用于专家小组

img

想象一个生态系统,其中有多个面向特定任务(”代理”)的生成式AI模型,每个生成式AI模型都是其领域的专家,他们同时工作以解决一个查询。这种多路复用策略能够产生多样化的回答,然后将这些回答整合起来,就可以提供更加全面的答案。

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

一个更大的模型,比如GPT-4,被用来理解上下文,并将其分解为特定的任务或信息请求,然后传递给较小的代理程序。代理程序可以是经过特定任务训练的较小语言模型,比如Phi-2或TinyLlama,也可以是具有特定个性、上下文提示和功能调用的通用模型,比如GPT或具有特定个性的Llama。

3) 为多个任务进行LLM的微调

img

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

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

一些用于培训LLM的资源和包包括DeepSpeed,以及hugs Face ‘ s transformer库上的训练函数。

4) 基于混合规则和生成

img

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

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

5) 结合知识图谱使用LLM

img

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

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

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

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

6) AI代理群

img

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

由此产生的聚合输出反映了一种集体智慧,超越了任何个体代理所能达到的水平。这种模式在需要广泛的创造性解决方案或在处理复杂数据集时特别有优势。

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

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

img

这个设计强调适应性,采用了一个模块化的人工智能系统,可以根据任务的需要动态重新配置自己以实现最佳性能。就像拥有一把瑞士军刀一样,每个模块可以根据需要选择和激活,非常适合需要根据不同的客户互动或产品需求定制解决方案的企业。

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

对于销售模块化单体,这可能是专注于潜在客户开发的代理,一个处理预订的代理,一个专注于生成消息的代理,以及另一个更新数据库的代理。将来,随着专门的人工智能公司提供特定的组合服务,您可以为一组特定任务或领域特定问题替换模块以使用外部或第三方服务。

8) LLM的记忆认知方法

img

这种方法为人工智能引入了一种类似人类记忆的元素,使模型能够回忆先前的互动,在这些互动内容的基础上,提供更加细致入微的回应。

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

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

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

9) 红蓝队双模型评估

img

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

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

要点

这些生成式AI的设计模式不仅仅是模板,而是未来智能系统赖以发展的框架。

这绝不是最终的列表,随着生成式人工智能的模式和用例的扩展,我们将看到这个空间的发展。这篇文章的灵感来自Tomasz Tunguz发表的AI设计模式(https://tomtunguz.com/ai-design-patterns/)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux设备模型(七) - Netlink

一,什么是netlink通信机制 Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。Netlink 是一种特殊的 socket,它是 Linux 所特有的。 Netlink 是一种在内核与用户应用间进行双向数…

助力智能化农田作物除草,基于YOLOv7【tiny/l/x】不同系列参数模型开发构建农田作物场景下玉米苗、杂草检测识别分析系统

在我们前面的系列博文中,关于田间作物场景下的作物、杂草检测已经有过相关的开发实践了,结合智能化的设备可以实现只能除草等操作,玉米作物场景下的杂草检测我们则少有涉及,这里本文的主要目的就是想要基于YOLOv7系列的模型来开发…

论文阅读:基于超像素的图卷积语义分割(图结构数据)

#Superpixel-based Graph Convolutional Network for Semantic Segmentation github链接 引言 GNN模型根据节点特征周围的边来训练节点特征,并获得最终的节点嵌入。通过利用具有不同滤波核的二维卷积对来自附近节点的信息进行整合,给定超像素方法生成的…

【RK3568】

RK3568 一、配置IP地址二、开发板连接网络,电脑连接无线,都正常上网三、GCC四、CMake1. CMakeLists.txt2. main.cpp3.build 五、传输文件 一、配置IP地址 vi /etc/init.d/S99z_ip //权限chmod ax S99z_ip /***********************************/ case &q…

瑞吉苍穹外卖如何拓展?已经经过不同公司多轮面试。项目中会问到哪些问题?以及问题如何解决?

别催了,别催了,先收藏吧。 作者大大正在加班加点完成。 文章会尽快发布,关注收藏,尽请期待。 想要加入并查阅作者的知识库可以联系作者 不要白嫖,通过后,附上关注和收藏截图。 已有众多小伙伴加入 目前…

Python中的os库

一.OS库简介 OS是Operating System的简写,即操作系统。 OS库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数。 二.OS库常用函数 2.1文件和目录 2.1.1:os.getcwd() 作用:返回当前工作目录,结果是…

WebCPM:首个开源的交互式网页搜索中文问答模型

论文题目:WEBCPM: Interactive Web Search for Chinese Long-form Question Answering   论文日期:2023/05/23(ACL 2023)   论文地址:https://arxiv.org/abs/2305.06849   GitHub地址:https://arxiv.org/abs/2305.06849 文章…

【前端素材】推荐优质后台管理系统cassie平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面,通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面,使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

nginx使用详解--动静分离

什么是动静分离? 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源,如图片、js、css等文件,可以在反向代理服务器中进行缓存,这样浏览器在请…

亿道信息发布两款升级款全加固笔记本电脑

2022年5月19日,加固手持终端。加固平板电脑、加固笔记本电脑专业设计商和制造商,以及加固型移动计算机软硬件整体定制解决方案提供商亿道信息,宣布对其两款广受欢迎的加固笔记本电脑产品EM-X14U和EM-X15U进行重大升级。新发布的两款升级款全加…

C语言:自定义类型 - 结构体 联合体 枚举

C语言:自定义类型 - 结构体 & 联合体 & 枚举 结构体结构体声明结构体创建匿名结构体初始化 结构体的重命名结构体访问内存对齐位段 联合体枚举 在C语言中,自定义类型是指程序员可以通过一系列的定义和说明来创建的新的数据类型。这些自定义类型可…

NPN型三极管与PNP型三极管基本原理

NPN型三极管与PNP型三极管基本原理 文章目录 NPN型三极管与PNP型三极管基本原理一、三极管二、结构三、工作原理四、基本应用五、总计 一、三极管 三极管是电子电路中最基本、最常见、重要的器件,其主要功能是对电流的放大和开关作用,从半导体结构上可以…

PostgreSQL从入门到精通教程 - 第45讲:poc-tpcc测试

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。 第45讲&#…

共同应对共享挑战:2023 Open Source Congress 报告(中文版)

开源社受邀参加了 2023 年 7 月底在瑞士日内瓦举办的 2023 Open Source Congress,并发布了一篇会议速览;之后 LFAPAC 发布了会议总结报告(英文版),开源社国际接轨工作组的翻译志愿者们群策群力地翻译了该总结报告。 【…

10-Linux部署ElasticSearch

Linux部署ElasticSearch 简介 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elasticsearch简称es&…

本地写的Bash脚本,Linux端运行报错:/bin/bash^M: bad interpreter: No such file or directory

背景 在本地写了个Bash Shell脚本,但上传到Linux端后加完权限执行时报错: (脚本名:script.sh) -bash: ./script.sh: /bin/bash^M: bad interpreter: No such file or directory 分析 这个错误通常是由于脚本文件的行…

【kubernetes】关于云原生之k8s集群中pod的容器资源限制和三种探针

目录 一、关于pod容器的资源限制 1.1资源限制的单位 CPU 资源单位 内存 资源单位 二、关于QOS服务质量(pod的调度和驱逐有限制) 2.1QoS服务质量分类 guaranteed验证 burstable验证 besteffort验证 2.2驱逐顺序 三、关于pod容器的三种探针 3.…

【数据结构与算法】回溯法解题20240301

这里写目录标题 一、78. 子集1、nums [1,2,3]为例把求子集抽象为树型结构2、回溯三部曲 二、90. 子集 II1、本题搜索的过程抽象成树形结构如下: 三、39. 组合总和1、回溯三部曲2、剪枝优化 四、LCR 082. 组合总和 II1、思路2、树形结构如图所示:3、回溯…

命令行启动mongodb服务器的问题及解决方案 -- Unrecognized option: storage.journal

目录 mongodb命令行启动问题 -- Unrecognized option: storage.journal问题日志:问题截图:问题来源:错误原因:解决方式: mongodb命令行启动问题 – Unrecognized option: storage.journal 同样是格式出问题的问题分析和…

视频在线压缩

video2edit 一款免费的在线视频编辑软件,可以进行视频合并、视频剪辑、视频压缩以及转换视频格式等。 链接地址:在线视频编辑器和转换器 - 编辑,转换和压缩视频文件 打开视频压缩页面,上传想要压缩视频,支持MP4&…