2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

大模型应用的 10 种架构模式

  • 2024-03-27
    北京
  • 本文字数:3371 字

    阅读完需:约 11 分钟

大小:1.65M时长:09:36
大模型应用的 10 种架构模式

在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重要技能。然而,当我们转向大模型应用和人工智能领域,情况可能会有所不同。面对新兴技术,例如生成式 AI,我们尚缺乏成熟的设计模式来支撑这些解决方案。


作为一位老码农,我在这里整理总结了一些针对大模型应用的设计方法和架构模式,试图应对和解决大模型应用实现中的一些挑战,如成本问题、延迟问题以及生成的不准确性等。


1. 路由分发模式


当用户输入一个查询时,该查询会被发送到控制中心,而控制中心则扮演着对输入进行分类的角色。



如果查询是可以识别的,那么它会被路由到小语言模型进行处理,这通常是一个更准确、响应更快且成本更低的操作。然而,如果查询无法被识别,那么它将由大型语言模型来处理。尽管大型语言模型的运行成本较高,但它能够成功返回更多种类型查询的答案。通过这种方式,人工智能产品可以在成本、性能和用户体验之间实现平衡。

2. 大模型代理模式


想象一个生态系统,其中多个专门针对特定任务的生成式 AI 模型各自作为其领域内的专家,并行工作以处理查询。这种多路复用模式能够生成一系列不同的响应,然后将这些响应整合在一起,形成一个全面的答案。



这样的设置非常适合复杂的问题解决场景,在这种场景中,问题的不同方面需要不同的专业知识,就像一个由专家组成的小组,每个专家负责处理更大问题的一个方面。


更大的模型(如 GPT-4)负责理解上下文,并将其分解为特定的任务或信息请求,这些任务或信息请求被传递给更小的代理。这些代理可能是较小的语言模型,它们已经接受过特定任务的训练,或者是具有特定功能的通用模型,如 GPT、Llama、上下文提示和函数调用。


3. 多任务微调模式


在这种架构模式中,我们对大型语言模型进行了微调,使其能够同时处理多个任务,而非仅仅针对单个任务。这是一种跨领域知识和技能迁移学习的方法,大大增强了模型的多功能性。



这种多任务学习方法对于那些需要应对各种复杂任务的平台来说尤其有用,例如虚拟助理或是人工智能驱动的研究工具。这极大地简化了面向复杂领域的训练和测试工作流程。


在训练大型语言模型(LLM)时,我们可以利用一些资源和软件包,如 DeepSpeed,以及 Hugging Face 的 Transformer 库。

4. 面向微调的分层缓存策略模式


我们将缓存策略和相关服务引入到大模型应用架构中,可以成功地解决成本、数据冗余以及训练数据等组合问题。



通过储存这些初始结果,系统能够在后续查询中迅速提供答案,从而显著提高了效率。当我们累积了足够的数据后,微调层级将启动,利用早期交互的反馈,进一步完善一个更为专业化的模型。


专有大模型不仅简化了操作流程,也使人工智能专业知识更好地适应特定任务,使其在需要高度精确性和适应性的环境中,如客户服务或个性化内容创建,表现得更为高效。


对于刚入门的用户,可以选择使用预先构建的服务,如 GPTCache,或者使用常见的缓存数据库,如 Redis、Cassandra、Memcached 来运行自己的服务。在向混合服务中添加其他服务时,一定要记得监控并测量延迟情况。


5. 混合规则模式


许多现行的商业系统和企业应用在一定程度上仍然依赖于基于规则的架构。通过将大模型与基于规则的逻辑结合,我们能够融合结构化的精确性,旨在创造出既富有创意又遵循规范的解决方案。



对于那些必须严格遵守标准或法规的行业或产品而言,这是一个非常有效的架构模式,它确保了人工智能在保持创新的同时,仍能遵守既定的理想参数。例如,这种架构可以应用于生成电话 IVR 系统或基于规则的传统(非 LLM)聊天机器人的意图和消息流。

6. 知识图谱模式


将知识图谱与生成型人工智能模型结合,赋予了它们面向事实的超级能力,使得输出不仅具有上下文情境,而且更加符合事实。



对于要求内容真实性和准确性不容忽视的应用来说,这种方法至关重要,比如在教育内容创作、医疗咨询或任何误导可能带来严重后果的领域。


知识图谱及其本体能够将复杂主题或问题分解成结构化格式,为大型语言模型提供深层上下文基础。我们甚至可以借助语言模型,以 JSON 或 RDF 等格式创建本体。


可用于构建知识图谱的图数据库服务包括 ArangoDB、Amazon Neptune、Google Dgraph、Azure Cosmos DB 以及 Neo4j 等。此外,更广泛的数据集和服务也能用于访问更全面的知识图谱,包括开源的企业知识图谱 API、PyKEEN 数据集以及 Wikidata 等等。

7. 智能体蜂巢模式


智能体蜂巢架构模式运用了大量 AI Agent,这些代理共同协作以解决一个问题,每个代理都从各自独特的视角出发进行贡献。



由此产生的综合结果展示了一种集体智慧的体现,其效果超越了任何一个单独的 AI 个体所能达到的成果。在需要大量创新解决方案的场景中,或者在处理复杂的数据集时,这种模式尤其有效。


例如,我们可以利用多个 AI Agent 来共同审查一篇研究论文,整合他们的所有数据和观点。对于处理能力要求较高的蜂巢系统,我们可以考虑部署消息队列服务,比如 Apache Kafka,以便更好地处理代理和服务间的消息传递。

8. 智能体组合模式


该架构模式强调了灵活性,通过模块化的人工智能系统,能自我重新配置以优化任务性能。这就像一个多功能工具,可以根据需求选择和激活不同的功能模块,对于需要为各种客户需求或产品需求定制解决方案的企业来说,这是非常有效的。



我们可以通过使用各种自主代理框架和体系结构来开发每个 Agent 及其工具,例如 CrewAI、Langchain、LLamaIndex、Microsoft Autogen 和 superAGI 等。


通过组合不同的模块,例如一个 Agent 可以专注于预测,另一个处理预约查询,还有一个专注于生成消息,最后一个 Agent 来更新数据库。将来,随着专业 AI 公司提供的特定服务的增多,我们可以将一个模块替换为外部或第三方服务,以处理特定的任务或领域的问题。

9. 记忆认知模式


这种架构为人工智能引入了类似于人类记忆的元素,允许模型回忆并基于过去的交互进行学习,从而产生更细腻的反应。



这对于正在进行的对话或学习场景非常有用,因为随着时间的推移,人工智能会形成更深的理解,就像一个专业的个人助理或者在线机器学习平台。随着时间推移,记忆认知模式能够将关键事件总结并储存到一个向量数据库中,进一步丰富 RAG 系统。


为了保持汇总计算量的合理性,我们可以通过使用更小的自然语言处理库来进行汇总和摘要。所使用的是向量数据库,并在提示阶段进行检索,以检查短期记忆,并通过最近邻搜索来定位关键的“事实”。有一个遵循这种模式的开源解决方案是 MemGPT。

10. 双重安全模式


围绕大型语言模型(LLM)的核心安全性至少包含两个关键组件:一是用户组件,我们将其称为用户 Proxy 代理;二是防火墙,它为模型提供了保护层。



用户 proxy 代理在查询发出和返回的过程中对用户的 query 进行拦截。该代理负责清除个人身份信息(pII)和知识产权(IP)信息,记录查询的内容,并优化成本。


防火墙则保护模型及其所使用的基础设施。尽管我们对人们如何操纵模型以揭示其潜在的训练数据、潜在功能以及当今恶意行为知之甚少,但我们知道这些强大的模型是脆弱的。


在安全性相关的技术栈中,可能还存在其他安全层,但对于用户的查询路径来说,Proxy 代理和防火墙是最关键的。

没有结束


老码农认为,这些大模型应用的架构模式不仅仅是一种范式,很可能成为未来智能系统赖以成长的框架。随着我们们继续探索和创新,还会涌现出很多新的架构模式,而且这里的 10 个架构模式以及新涌现的架构模式可能成为人工智能服务的表现形态。


20 年前,当我第一次阅读《设计模式》一书的时候(参见《三本书影响一个人》一文),爱不释手,如今,老码农开始持续探讨并实践 AI 应用,本文中的这些架构模式是老码农自己命名的,不妥之处请大家斧正。我希望能够持续更新本系列,也希望对此有兴趣的朋友联系我, 共同研究探索,致力于大模型应用的架构模式。


 作者简介:

曹洪伟,百度 DuerOS 原首席布道师,渡鸦科技原 CTO,目前任联想诺谛智能首席架构师,从事基于大模型的应用系统研发。20 多年软硬件产研经验,拥有 50 多项国内外专利,著有《BREW 进阶与精通》,《一书读懂物联网》和《深入分布式缓存》的联合作者,《持续架构》《精益 DevOps》《语音优先》《计算机网络问题与解决方案》《区块链应用开发实战》《基于混合方法的自然语言处理》等书的共同译者,日常维护着公众号 wireless_com 和 CSDN 同名博客。

2024-03-27 16:407770

评论 2 条评论

发布
用户头像
目前哪种架构应用最广泛?
2025-02-24 13:39 · 中国香港
回复
用户头像
总结的不错
2024-03-29 08:30 · 浙江
回复
没有更多了
发现更多内容

2021阿里云弹性计算年度峰会将于12月21日开启线上直播,五大看点不容错过

阿里云弹性计算

弹性计算 年度峰会 线上直播

一篇带你用 VuePress + Github Pages 搭建博客

冴羽

JavaScript 自己搭建博客网站 Vue 博客 vuepress

MSSQL 执行计划

lixiaofeng

SQL优化 签约计划第二季

3天后,浪潮云有大动作!

实用机器学习笔记十二:线性模型

打工人!

AI 算法 学习笔记 机器学习算法 12月日更

腾讯云容器安全已支持检测Apache Log4j2漏洞

腾讯安全云鼎实验室

腾讯云安全、漏洞分析

2021年终总结:如何快速学完多个课程

石云升

知识付费 年终总结 28天写作 12月日更

MySQL MGR + 自研脚本实现高可用

lixiaofeng

MySQL 高可用 签约计划第二季

MongoDB自动化运维

lixiaofeng

mongodb 签约计划第二季

Hoo虎符研究院 | 币圈后浪 ——DVD

区块链前沿News

Hoo 币圈后浪 项目分析

TDengine在同花顺组合管理业务中的优化实践

TDengine

数据库 tdengine 时序数据库

MySQL MGR + 只读节点高可用

lixiaofeng

MySQL 高可用 签约计划第二季

golang 脚本实时监控错误日志

lixiaofeng

mongodb MySQL 运维 签约计划第二季

OAuth2.0面面观

RingCentral铃盛

【行业观察】AI数据标注行业

mtfelix

28天写作

SQL SERVER的统计信息

lixiaofeng

SQL优化 签约计划第二季

Spring Native 0.11发布,带来新的AOT引擎和性能优化

Robert Lu

Java GraalVM

漏洞学习篇:CVE漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞修复

降低成本对技术组织意味着什么?

田晓亮

云计算 serverles

Camtasia的字幕功能应当如何使用

淋雨

Camtasia 录屏软件

“朋友圈”又添好友,DataPipeline与统信服务器操作系统完成产品互认证

DataPipeline数见科技

大数据 操作系统 中间件 数据同步 数据融合

趣谈 iOS Universal Link

37手游iOS技术运营团队

ios universal link

为什么非要做个app

张老蔫

28天写作

Feign入门篇

李子捌

微服务 28天写作 12月日更

端口是什么东西?为什么老是被黑客利用

喀拉峻

黑客 网络安全 安全

Volatile 原理五:禁止指令重排是什么?

悟空聊架构

volatile 28天写作 悟空聊架构 12月日更 禁止指令重排

聚集索引数据写入

lixiaofeng

索引优化 签约计划第二季

MSSQL索引优化原理

lixiaofeng

SQL优化 签约计划第二季

谈跨域资源共享之CORS

devpoint

jsonp CORS 12月日更

学习 27 门编程语言的长处,提升你的 Python 代码水平

Python猫

Python

你真的了解inner join吗

lixiaofeng

签约计划第二季

大模型应用的 10 种架构模式_生成式 AI_曹洪伟_InfoQ精选文章