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

原文地址: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.mzph.cn/news/711585.shtml

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

相关文章

物联网与智慧城市的融合:构建智能化、便捷化、绿色化的城市未来

一、引言 随着科技的飞速发展和城市化的不断推进,物联网技术正逐步渗透到城市的各个领域,成为推动智慧城市建设的核心力量。物联网与智慧城市的融合,不仅为城市治理提供了高效、智能的解决方案,也为市民的生活带来了前所未有的便…

如何在Node.js中使用定时器

在Node.js中使用定时器是一项常见且重要的任务,特别是在需要执行定时任务或者轮询操作的情况下。Node.js提供了多种方式来实现定时器功能,包括setTimeout、setInterval和setImmediate等方法。本篇博客将介绍如何在Node.js中使用这些定时器,并…

把python完全卸载干净

1.winR,输入control回车,点击程序和功能,在搜索框输入python,右键点击卸载 2、找到Python安装路径,把所有文件全部删除。 安装路径可以打开CMD输入:where python 3、强制删除Python.exe 打开cmd&#xff…

科技企业如何做到FTP数据安全保护

在数字化浪潮的推动下,科技企业的数据已成为推动创新、提升效率、增强竞争力的核心资源。数据的重要性不言而喻,它不仅包含了客户信息、市场分析、产品设计等关键信息,更是企业宝贵的资产。然而,随着数据量的激增,数据…

视觉AIGC识别——人脸伪造检测、误差特征 + 不可见水印

视觉AIGC识别——人脸伪造检测、误差特征 不可见水印 前言视觉AIGC识别【误差特征】DIRE for Diffusion-Generated Image Detection方法扩散模型的角色DIRE作为检测指标 实验结果泛化能力和抗扰动 人脸伪造监测(Face Forgery Detection)人脸伪造图生成 …

LabVIEW最佳传输系统设计

LabVIEW最佳传输系统设计 介绍了基于LabVIEW软件开发的最佳基带传输系统和最佳带通传输系统的设计。通过软件仿真实现了脉冲成形滤波器和匹配滤波器的设计,证明了系统在消除码间干扰和抗噪声方面的优异性能。此设计不仅激发了学生的学习兴趣,还有助于提…

智能家居控制系统(51单片机)

smart_home_control_system 51单片机课设,智能家居控制系统 使用及转载请标明出处(最好点个赞及star哈哈) Github地址,带有PPT及流程图 Gitee码云地址,带有PPT及流程图 ​ 以STC89C52为主控芯片,以矩阵键…

Linux基本指令(上)

在Linux中,将文件夹称为目录,后面的内容都与目录相关。 1. ls指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项 …

MySQL的索引和B+tree结构

目录 0.关于索引的常见面试题 1.什么是索引? 索引的优缺点 2.索引的数据结构,为什么InnoDb引擎使用Btree作为索引的数据结构? 分析怎样的索引才是好的 二插搜索树 红黑树 B-Tree BTree 哈希 为什么 InnoDB 存储引擎选择使用 Btree 索…

iTOP-3588开发板快速测试手册Android12系统功能测试

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

洛谷题单_递推与递归

P1255 数楼梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //不满分做法&#xff1a;没有高精度 #include <bits/stdc.h> using namespace std; const int N5006; int dp[N];//dp[i]表示到第i节楼梯有dp[i]中方案 int main(){int n;cin>>n;dp[1]1;dp[0]1;for(i…

MySQL(基础篇)——多表查询

一.多表关系 一对多(多对一) 多对多一对一 1.一对多(多对一) a.案例&#xff1a;部门与员工的关系 b.关系&#xff1a;一个部门对应多个员工&#xff0c;一个员工对应一个部门 c.实现&#xff1a;在多的一方建立外键&#xff0c;指向一的一方的主键 2.多对多 a.案…

Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client

Elasticsearch入门-环境安装ES和Kibana 安装 ES Windows安装ESHead安装浏览器插件 es-clientKibana 安装 安装es,安装header 安装kibana&#xff0c;安装多种分词器ik… 安装 ES Windows安装 ① 下载压缩包并解压官网链接&#xff1a;https://www.elastic.co/cn/downloads/ela…

canvas坐标系统 webgl坐标系统 uv纹理坐标系统 原点

一、canvas原点在左上角&#xff0c;x轴正方向向右&#xff0c;y轴正方向向下&#xff0c;一个点对应一个像素 二、webgl原点在正中间&#xff0c;x轴正方向向右&#xff0c;y轴正方向向上&#xff0c;数据显示范围在[-1,1]之间&#xff0c;超过此范围不显示数据 三、uv原点在左…

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

原文链接&#xff1a;如何用ChatGPTGEEENVIPython进行高光谱&#xff0c;多光谱成像遥感数据处理&#xff1f; 第一&#xff1a;遥感科学 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 第二&#xff1a;ChatGPT ChatGPT可以做什么&#xff1f; ChatGPT演示使用 …

工厂模式:没你想像的那么难

工厂模式 工厂模式是一种创建型设计模式&#xff0c;它允许创建对象而无需指定将要创建的对象的具体类。它通过将对象的创建委托给一个单独的方法或类来完成&#xff0c;从而隐藏了对象的实例化逻辑。这样可以提高代码的灵活性&#xff0c;减少了代码中的重复和耦合。 在工厂…

2021年下半年教师资格证考试《高中信息技术》题

4.使用某转码软件对一段时长为2分钟的AVI视频进行转码&#xff0c;转码后的视频信息如图4所示&#xff0c;计算存储该视频文件所需的空间大小为&#xff08;C &#xff09;。 A18MB B36MB C60MB D512MB 6.某21位二进制代码100101011010011110101&#xff0c;已知该代码由3个…

html基础操练和进阶修炼宝典

文章目录 1.超链接标签2.跳锚点3.图片标签4.表格5.表格的方向属性6.子窗口7.音视频标签8.表单9.文件上传10.input属性 html修炼必经之路—各种类型标签详解加展示&#xff0c;关注点赞加收藏&#xff0c;防止迷路哦 1.超链接标签 <!DOCTYPE html> <html lang"en…

再议【每天进步一点点】

概述 之前听姜胡说&#xff0c;讲到了他自己日更博客的故事&#xff0c;也就是每天去更新一篇博客文章。 日更&#xff0c;其实是一件很可怕的事情。 先不说文章的深度如何&#xff0c;单单从时间的耗费上&#xff0c;文字的积累上&#xff0c;以及对事物的敏感度上&#xf…

vue实现自定义树形穿梭框功能

需求&#xff1a; 我们在开发过程中&#xff0c;会遇到需要将一个数据选择做成穿梭框&#xff0c;但是要求穿梭框左侧为树形结构、右侧为无层级结构的数据展示&#xff0c;ElementUI自身无法在穿梭框中添加树形结构&#xff0c;网上搜到了大佬封装的插件但是对于右侧的无树形结…