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

作者 | 曹洪伟
在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式 。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重要技能 。然而,当我们转向大模型应用和人工智能领域 , 情况可能会有所不同 。面对新兴技术,例如生成式 AI,我们尚缺乏成熟的设计模式来支撑这些解决方案 。
作为一位老码农 , 我在这里整理总结了一些针对大模型应用的设计方法和架构模式,试图应对和解决大模型应用实现中的一些挑战,如成本问题、延迟问题以及生成的不准确性等 。
1. 路由分发模式
当用户输入一个查询时,该查询会被发送到控制中心 , 而控制中心则扮演着对输入进行分类的角色 。

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

文章插图
【大模型应用的 10 种架构模式】如果查询是可以识别的,那么它会被路由到小语言模型进行处理,这通常是一个更准确、响应更快且成本更低的操作 。然而,如果查询无法被识别 , 那么它将由大型语言模型来处理 。尽管大型语言模型的运行成本较高 , 但它能够成功返回更多种类型查询的答案 。通过这种方式,人工智能产品可以在成本、性能和用户体验之间实现平衡 。
2. 大模型代理模式
想象一个生态系统,其中多个专门针对特定任务的生成式 AI 模型各自作为其领域内的专家,并行工作以处理查询 。这种多路复用模式能够生成一系列不同的响应,然后将这些响应整合在一起 , 形成一个全面的答案 。
大模型应用的 10 种架构模式

文章插图
这样的设置非常适合复杂的问题解决场景,在这种场景中,问题的不同方面需要不同的专业知识,就像一个由专家组成的小组,每个专家负责处理更大问题的一个方面 。
更大的模型(如 GPT-4)负责理解上下文,并将其分解为特定的任务或信息请求,这些任务或信息请求被传递给更小的代理 。这些代理可能是较小的语言模型,它们已经接受过特定任务的训练,或者是具有特定功能的通用模型 , 如 GPT、Llama、上下文提示和函数调用 。
3. 多任务微调模式
在这种架构模式中 , 我们对大型语言模型进行了微调,使其能够同时处理多个任务,而非仅仅针对单个任务 。这是一种跨领域知识和技能迁移学习的方法,大大增强了模型的多功能性 。
大模型应用的 10 种架构模式

文章插图
这种多任务学习方法对于那些需要应对各种复杂任务的平台来说尤其有用,例如虚拟助理或是人工智能驱动的研究工具 。这极大地简化了面向复杂领域的训练和测试工作流程 。
在训练大型语言模型(LLM)时,我们可以利用一些资源和软件包,如 DeepSpeed,以及 Hugging Face 的 Transformer 库 。
4. 面向微调的分层缓存策略模式
我们将缓存策略和相关服务引入到大模型应用架构中,可以成功地解决成本、数据冗余以及训练数据等组合问题 。
大模型应用的 10 种架构模式

文章插图
通过储存这些初始结果,系统能够在后续查询中迅速提供答案 , 从而显著提高了效率 。当我们累积了足够的数据后,微调层级将启动,利用早期交互的反?。?进一步完善一个更为专业化的模型 。
专有大模型不仅简化了操作流程,也使人工智能专业知识更好地适应特定任务 , 使其在需要高度精确性和适应性的环境中 , 如客户服务或个性化内容创建 , 表现得更为高效 。
对于刚入门的用户 , 可以选择使用预先构建的服务 , 如 GPTCache , 或者使用常见的缓存数据库,如 redis、Cassandra、Memcached 来运行自己的服务 。在向混合服务中添加其他服务时 , 一定要记得监控并测量延迟情况 。
5. 混合规则模式
许多现行的商业系统和企业应用在一定程度上仍然依赖于基于规则的架构 。通过将大模型与基于规则的逻辑结合 , 我们能够融合结构化的精确性,旨在创造出既富有创意又遵循规范的解决方案 。
大模型应用的 10 种架构模式

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


推荐阅读