LLM应用架构 LLM application architectures

2023-10-16 18:30

本文主要是介绍LLM应用架构 LLM application architectures,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在本课程的最后一部分,您将探讨构建基于LLM的应用程序的一些额外考虑因素。首先,让我们把迄今为止在本课程中所见的一切汇总起来,看看创建LLM驱动应用程序的基本组成部分。您需要几个关键组件来创建端到端的应用程序解决方案,从基础设施层开始。该层提供了计算、存储和网络,以提供LLMs,并托管应用程序组件。您可以利用您的本地基础设施,或者通过按需和按使用量计费的云服务提供此基础设施。
在这里插入图片描述

接下来,您将包括您希望在应用程序中使用的大型语言模型。这些可能包括基础模型,以及您根据特定任务进行了自定义的模型。这些模型部署在适合您推理需求的基础设施上。考虑到您是否需要与模型进行实时或准实时交互。
在这里插入图片描述

您还可能需要从外部来源检索信息,例如在检索增强生成部分讨论的那些。
在这里插入图片描述

您的应用程序将从大型语言模型返回完成内容给用户或消费应用程序。根据您的用例,您可能需要实现一种机制来捕获和存储输出。例如,您可以构建在会话期间存储用户完成内容以增加LLM的固定上下文窗口大小的容量。
在这里插入图片描述

您还可以从用户那里收集反馈,这可能对进一步的微调、调整或评估在应用程序成熟时很有用。
在这里插入图片描述

接下来,您可能需要使用大型语言模型的其他工具和框架,以帮助您轻松实施本课程中讨论的某些技术。例如,您可以使用Len Chains内置库来实施PowReact或思维链提示等技术。您还可以利用模型中心来集中管理和共享模型,以供应用程序使用。
在这里插入图片描述

在最后一层,通常会有某种用户界面,应用程序将通过该界面进行访问,例如网站或REST API。这一层还包括与应用程序交互所需的安全组件。
在这里插入图片描述

从高层次来看,这个架构堆栈代表了构建生成式AI应用程序的各种组成部分。无论是人类最终用户还是通过其API访问您的应用程序的其他系统,您的用户都将与整个堆栈进行交互。正如您所看到的,模型通常只是构建端到端生成式AI应用程序的一部分。
在这里插入图片描述

恭喜您完成了完整的生成式AI项目生命周期。希望您感到已经形成了一些关于在构建LLM应用程序时需要考虑的重要问题的直觉。

  1. 本周,您了解了如何通过使用一种名为“强化学习与人类反馈”的技术,或简称RLHF,微调模型,以使其与人类偏好(如帮助、无害和诚实)保持一致。
  2. 鉴于RLHF的流行,存在许多现有的RL奖励模型和人类对齐数据集,使您能够快速开始对模型进行对齐。在实践中,RLHF是一种非常有效的机制,可用于改善模型的对齐性,降低其响应的毒性,并让您更安全地将模型用于生产。
  3. 您还学会了通过压缩、量化或修剪模型来优化模型以用于推理的重要技术。这可以减小为在生产环境中提供LLMs所需的硬件资源的数量。
  4. 最后,您还探讨了通过结构化提示和与外部数据源和应用程序的连接来帮助模型在部署中表现更好的方法。

LLMs可以在应用程序中充当理性引擎的精彩角色,充分利用它们的智能来支持令人兴奋和实用的应用程序。像Lang Chain这样的框架正在使快速构建、部署和测试LLM驱动的应用程序成为可能,对于开发人员来说是一个非常令人兴奋的时刻。

在TEA的课程结尾,我们将探讨一些正在积极研究的领域,这些领域可能会在未来几个月和年份中塑造该领域的发展轨迹。

Reference

https://www.coursera.org/learn/generative-ai-with-llms/lecture/LLhcT/llm-application-architectures

这篇关于LLM应用架构 LLM application architectures的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/220355

相关文章

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链