生成式人工智能应用在各行各业的成功吸引了世界各地公司的关注和兴趣,这些公司希望复制和超越竞争对手的成就或解决新的、令人兴奋的用例。 这些客户正在研究基础模型,例如 TII Falcon、Stable Diffusion XL 或 OpenAI 的 GPT-3.5,作为推动生成式 AI 创新的引擎。
基础模型是一类生成式人工智能模型,由于接受过大量非结构化数据的训练,它们能够理解和生成类似人类的内容。 这些模型彻底改变了各种计算机视觉 (CV) 和自然语言处理 (NLP) 任务,包括图像生成、翻译和问答。 它们是许多人工智能应用的构建模块,并已成为先进智能系统开发的关键组成部分。
然而,基础模型的部署可能会带来重大挑战,特别是在成本和资源需求方面。 这些模型以其规模而闻名,参数范围通常从数亿到数十亿不等。 它们的大尺寸需要大量的计算资源,包括强大的硬件和大量的内存容量。 事实上,部署基础模型通常需要至少一个(通常更多)GPU 来有效处理计算负载。 例如,TII Falcon-40B Instruct 模型至少需要一个 ml.g5.12xlarge 实例才能成功加载到内存中,但在较大的实例上性能最佳。 因此,部署和维护这些模型的投资回报 (ROI) 可能太低,无法证明业务价值,尤其是在开发周期或高峰工作负载期间。 这是由于长时间会话(可能是 24/7)使用 GPU 驱动的实例的运行成本。
今年早些时候,我们宣布 亚马逊基岩,一个无服务器 API,用于访问 Amazon 和我们的生成 AI 合作伙伴的基础模型。 尽管它目前处于私人预览版,但其无服务器 API 允许您使用 Amazon、Anthropic、Stability AI 和 AI21 的基础模型,而无需自行部署任何端点。 然而,来自 Hugging Face 等社区的开源模型一直在大量增长,但并非每一个模型都可以通过 Amazon Bedrock 提供。
在这篇文章中,我们针对这些情况,通过部署大型基础模型来解决高成本风险的问题 亚马逊SageMaker 异步端点 止 亚马逊SageMaker JumpStart。 这有助于降低架构成本,允许端点仅在请求在队列中且生存时间较短时运行,同时在没有请求等待服务时缩减至零。 这对于很多用例来说听起来都很棒; 但是,缩小到零的端点将在能够提供推理之前引入冷启动时间。
解决方案概述
下图说明了我们的解决方案体系结构。
我们部署的架构非常简单:
- 用户界面是一个笔记本,可以替换为基于 Streamlit 或类似技术构建的 Web UI。 在我们的例子中,笔记本是 亚马逊SageMaker Studio 笔记本,在具有 PyTorch 5 Python 2.0 CPU 内核的 ml.m3.10.large 实例上运行。
- 笔记本通过三种方式查询终端节点:SageMaker Python SDK、AWS SDK for Python (Boto3) 和 LangChain。
- 端点在 SageMaker 上异步运行,在端点上,我们部署 Falcon-40B Instruct 模型。 它是目前最先进的指令模型,可在 SageMaker JumpStart 中使用。 单个 API 调用允许我们在端点上部署模型。
什么是 SageMaker 异步推理
SageMaker 异步推理是 SageMaker 中的四个部署选项之一,其他选项还有实时端点、批量推理和无服务器推理。 要了解有关不同部署选项的更多信息,请参阅 部署推理模型.
SageMaker 异步推理对传入请求进行排队并异步处理它们,因此此选项非常适合负载大小高达 1 GB、处理时间长和近实时延迟要求的请求。 然而,在处理大型基础模型时,尤其是在概念验证 (POC) 或开发过程中,它提供的主要优势是能够配置异步推理,以便在没有请求时将实例计数缩小到零。程,从而节省成本。 有关 SageMaker 异步推理的更多信息,请参阅 异步推理. 下图说明了此体系结构。
要部署异步推理端点,您需要创建一个 AsyncInferenceConfig
目的。 如果你创建 AsyncInferenceConfig
不指定其参数,默认 S3OutputPath
会 s3://sagemaker-{REGION}-{ACCOUNTID}/async-endpoint-outputs/{UNIQUE-JOB-NAME}
和 S3FailurePath
会 s3://sagemaker-{REGION}-{ACCOUNTID}/async-endpoint-failures/{UNIQUE-JOB-NAME}
.
什么是 SageMaker JumpStart
我们的模型来自 SageMaker JumpStart,这是 SageMaker 的一项功能,可通过提供预先训练的模型、解决方案模板和示例笔记本来加速机器学习 (ML) 之旅。 它提供针对不同问题类型的各种预训练模型的访问权限,让您能够以坚实的基础开始 ML 任务。 SageMaker JumpStart 还提供常见用例的解决方案模板和学习示例笔记本。 借助 SageMaker JumpStart,您可以通过一键式解决方案启动和实用 ML 体验的综合资源来减少启动 ML 项目所需的时间和精力。
以下屏幕截图显示了 SageMaker JumpStart UI 上可用的部分模型的示例。
部署模型
我们的第一步是将模型部署到 SageMaker。 为此,我们可以使用 SageMaker JumpStart 的 UI 或 SageMaker Python SDK,它提供了一个 API,可用于将模型部署到异步端点:
此呼叫大约需要 10 分钟才能完成。 在此期间,端点启动,容器与模型工件一起下载到端点,从 SageMaker JumpStart 加载模型配置,然后通过 DNS 端点公开异步端点。 为了确保我们的端点可以缩小到零,我们需要使用 Application Auto Scaling 在异步端点上配置自动缩放。 您需要首先向 Application Auto Scaling 注册端点变体,定义扩展策略,然后应用扩展策略。 在此配置中,我们使用自定义指标 CustomizedMetricSpecification
,被称为 ApproximateBacklogSizePerInstance
,如下面的代码所示。 如需详细列表 亚马逊CloudWatch 异步推理端点可用的指标,请参阅 使用 CloudWatch 进行监控.
您可以通过导航到 SageMaker 控制台并选择来验证此策略是否已成功设置 端点 下 推理 在导航窗格中,查找我们刚刚部署的端点。
调用异步端点
要调用端点,您需要将请求负载放入 亚马逊简单存储服务 (Amazon S3) 并提供指向此有效负载的指针作为 InvokeEndpointAsync
要求。 调用后,SageMaker 将请求排队进行处理,并返回标识符和输出位置作为响应。 处理后,SageMaker 将结果放置在 Amazon S3 位置。 您可以选择接收成功或错误通知 亚马逊简单通知服务 (亚马逊 SNS)。
SageMaker Python 开发工具包
部署完成后,会返回一个 AsyncPredictor
目的。 要进行异步推理,您需要将数据上传到Amazon S3并使用 predict_async()
使用 S3 URI 作为输入的方法。 它将返回一个 AsyncInferenceResponse
对象,您可以使用以下命令检查结果 get_response()
方法。
或者,如果您想定期检查结果并在生成时返回它,请使用 predict()
方法。 我们在以下代码中使用第二种方法:
博托3
现在让我们探索一下 invoke_endpoint_async
Boto3 的方法 sagemaker-runtime
客户。 它使开发人员能够异步调用 SageMaker 端点,提供用于稍后跟踪进度和检索响应的令牌。 Boto3 没有提供像 SageMaker Python SDK 那样等待异步推理完成的方法 get_result()
手术。 因此,我们利用 Boto3 将推理输出存储在 Amazon S3 中的事实 response["OutputLocation"]
。 我们可以使用以下函数等待推理文件写入 Amazon S3:
通过这个函数,我们现在可以查询端点:
浪链
LangChain 是 Harrison Chase 于 2022 年 XNUMX 月推出的开源框架。 它通过提供与各种系统和数据源的集成,简化了使用大型语言模型 (LLM) 的应用程序的开发。 LangChain 允许进行文档分析、摘要、聊天机器人创建、代码分析等。 它受到了数百名开发人员的贡献以及风险投资公司的大量资金的欢迎。 LangChain 支持法学硕士与外部资源的连接,从而可以创建动态的、数据响应的应用程序。 它提供库、API 和文档来简化开发过程。
LangChain 提供了在其框架中使用 SageMaker 端点的库和示例,从而可以更轻松地使用 SageMaker 上托管的 ML 模型作为链的“大脑”。 要了解有关 LangChain 如何与 SageMaker 集成的更多信息,请参阅 SageMaker 端点 在 LangChain 文档中。
LangChain 当前实现的限制之一是它本身不支持异步端点。 要使用 LangChain 的异步端点,我们必须定义一个新类, SagemakerAsyncEndpoint
,这扩展了 SagemakerEndpoint
LangChain 中已经提供了该类。 此外,我们还提供以下信息:
- 异步推理将存储输入(和输出)的 S3 存储桶和前缀
- 超时前等待的最大秒数
- An
updated _call()
查询端点的函数invoke_endpoint_async()
而不是invoke_endpoint()
- 一种在冷启动时唤醒异步端点的方法(缩小到零)
来查看新创建的 SagemakerAsyncEndpoint
,你可以检查出 sagemaker_async_endpoint.py
文件 在GitHub上可用.
清理
当您完成从端点生成推理的测试后,请记住删除端点以避免产生额外费用:
结论
在部署 TII Falcon 等大型基础模型时,优化成本至关重要。 这些模型需要强大的硬件和大量的内存容量,从而导致基础设施成本高昂。 SageMaker 异步推理是一种异步处理请求的部署选项,可在没有待处理请求时将实例计数缩减至零,从而减少开支。 在本文中,我们演示了如何将大型 SageMaker JumpStart 基础模型部署到 SageMaker 异步端点。 我们提供了使用 SageMaker Python SDK、Boto3 和 LangChain 的代码示例,以说明调用异步端点和检索结果的不同方法。 这些技术使开发人员和研究人员能够优化成本,同时使用高级语言理解系统的基础模型的功能。
要了解有关异步推理和 SageMaker JumpStart 的更多信息,请查看以下帖子:
关于作者
戴维德·加利特利 是 EMEA 地区的 AI/ML 专家解决方案架构师。 他常驻布鲁塞尔,与比荷卢三国的客户密切合作。 他从小就是一名开发人员,7 岁开始编写代码。他从大学开始学习 AI/ML,从那时起就爱上了它。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- 图表Prime。 使用 ChartPrime 提升您的交易游戏。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/optimize-deployment-cost-of-amazon-sagemaker-jumpstart-foundation-models-with-amazon-sagemaker-asynchronous-endpoints/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 10
- 100
- 12
- 13
- 15%
- 1M
- 2022
- 25
- 7
- a
- Able
- 关于
- 加速
- 接受
- ACCESS
- 成就
- 横过
- 活动
- 另外
- 高级
- 优点
- 后
- 年龄
- AI
- AI模型
- AI / ML
- 允许
- 允许
- 已经
- 还
- 尽管
- Amazon
- 亚马逊SageMaker
- 亚马逊SageMaker JumpStart
- 亚马逊网络服务
- 量
- 量
- an
- 分析
- 和
- 公布
- 另一个
- 人类的
- 任何
- API
- APIs
- 应用领域
- 应用领域
- 使用
- 架构
- 保健
- 参数
- 艺术
- AS
- At
- 关注我们
- 吸引
- 汽车
- 可使用
- 避免
- AWS
- 基于
- BE
- 成为
- 很
- before
- 作为
- 最佳
- 大
- 十亿美元
- 吹氣梢
- 身体
- 午休
- 布鲁塞尔
- 建筑物
- 建
- 商业
- 但是
- by
- 呼叫
- 被称为
- CAN
- 能力
- 能力
- 能力
- 容量
- 案件
- 例
- 链
- 链
- 挑战
- 收费
- 追逐
- 聊天机器人
- 查
- 选择
- 程
- 客户
- 密切
- 码
- 冷
- 如何
- 购买的订单均
- 相当常见
- 地区
- 公司
- 竞争对手
- 完成
- 完成
- 完成对
- 元件
- 全面
- 一台
- 计算机视觉
- 概念
- 配置
- 地都
- 安慰
- 容器
- 内容
- 捐款
- 价格
- 成本
- 创建信息图
- 创建
- 创建
- 关键
- 电流
- 目前
- 习俗
- 合作伙伴
- 切
- 削减成本
- 周期
- data
- 处理
- 默认
- 定义
- 需求
- 证明
- 部署
- 部署
- 部署
- 部署
- 详细
- 开发
- 开发商
- 开发
- 研发支持
- 信息通信技术部
- 不同
- 扩散
- 尺寸
- 禁用
- DNS
- do
- 文件
- 文件
- 不会
- 完成
- 向下
- 两
- ,我们将参加
- 动态
- e
- 更容易
- 有效
- 努力
- 其他
- 欧洲与中东地区
- enable
- 使
- 端点
- 引擎
- 更多
- 错误
- 特别
- 所有的
- 例子
- 例子
- 除
- 例外
- 令人兴奋的
- 开支
- 体验
- 探索
- 裸露
- 扩展
- 广泛
- 外部
- 额外
- 面部彩妆
- 事实
- 堕落
- false
- 专栏
- 文件
- 企业
- 姓氏:
- 以下
- 针对
- 基金会
- 四
- 骨架
- 止
- 功能
- 资金
- 获得
- 产生
- 发电
- 代
- 生成的
- 生成式人工智能
- GitHub上
- 非常好
- 图形处理器
- 大
- 成长
- 处理
- 硬件
- 有
- 有
- he
- 帮助
- 相关信息
- 高
- 托管
- 创新中心
- How To
- 但是
- HTML
- HTTP
- HTTPS
- 数百
- 亿万
- 理想
- 识别码
- if
- 说明
- 图片
- 履行
- 进口
- in
- 包含
- 来电
- 表示
- 行业
- 信息
- 基础设施
- 創新
- 输入
- 输入
- 例
- 代替
- 集成
- 集成
- 智能化
- 兴趣
- 接口
- 成
- 介绍
- 投资
- IT
- 它的
- 旅程
- JPG
- JSON
- 只是
- 已知
- 语言
- 大
- 潜伏
- 后来
- 推出
- 启动
- 领导
- 学习用品
- 学习
- 最少
- 库
- 喜欢
- 范围
- 清单
- 加载
- 圖書分館的位置
- 长
- 寻找
- 占地
- 爱
- 低
- 机
- 机器学习
- 制成
- 主要
- 维护
- 使
- 制作
- 许多
- 最大
- 最多
- 内存
- 方法
- 方法
- 公
- 指标
- 百万
- 分钟
- ML
- 模型
- 模型
- 更多
- 姓名
- 自然
- 自然语言处理
- 导航
- 旅游导航
- 需求
- 全新
- 新
- 下页
- NLP
- 没有
- 笔记本
- 通知
- 通知
- 现在
- 数
- 对象
- 十月
- of
- 提供
- 提供
- 优惠精选
- 经常
- on
- 一
- 仅由
- 开放源码
- 操作
- 优化
- 追求项目的积极优化
- 附加选项
- 附加选项
- or
- 我们的
- 输出
- 产量
- 面包
- 参数
- 部分
- 尤其
- 伙伴
- 有待
- 演出
- 施行
- 图片
- 地方
- 地方
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 的PoC
- 政策
- 声望
- 可能
- 帖子
- 帖子
- 可能
- 功率
- 强大
- 实用
- 预测
- 预报器
- 预览
- 打印
- 私立
- 市场问题
- 过程
- 过程
- 处理
- 进展
- 项目
- 证明
- 概念验证
- 证明
- 提供
- 提供
- 提供
- 优
- 蟒蛇
- pytorch
- 查询
- 题
- 提高
- 范围
- 范围
- 阅读
- 准备
- 实时的
- 接收
- 减少
- 减少
- 地区
- 寄存器
- 纪念
- 去掉
- 更换
- 请求
- 要求
- 要求
- 必须
- 岗位要求
- 需要
- 研究人员
- 资源
- 资源
- 响应
- 导致
- 成果
- 回报
- 回报
- 检讨
- 革命性
- 冒着
- 投资回报率
- 运行
- 运行
- sagemaker
- 保存
- 可扩展性
- 鳞片
- 缩放
- SDK
- 其次
- 秒
- 自
- 服务
- 无服务器
- 服务
- 特色服务
- 招生面试
- 集
- 短
- 如图
- 作品
- 显著
- 类似
- 简易
- 自
- 单
- 情况
- 尺寸
- 尺寸
- 固体
- 方案,
- 解决方案
- 解决
- 一些
- 来源
- 专家
- 纺
- 稳定性
- 稳定
- 开始
- 开始
- 开始
- 州/领地
- 步
- Stop 停止
- 存储
- 商店
- 简单的
- 精简
- 大量
- 成功
- 顺利
- 这样
- SUPPORT
- 支持
- 肯定
- 超越
- 产品
- 采取
- 目标
- 任务
- 技术
- 专业技术
- 模板
- 条款
- 测试
- 谢谢
- 这
- 国家
- 其
- 他们
- 然后
- 那里。
- 从而
- 因此
- 博曼
- 他们
- Free Introduction
- 今年
- 三
- 通过
- 始终
- 次
- 时
- 定时
- 至
- 一起
- 象征
- 也有
- 跟踪
- 熟练
- 翻译
- true
- 尝试
- 类型
- ui
- 下
- 理解
- 大学
- 直到
- 上
- us
- 使用
- 用户
- 用户界面
- 运用
- 平时
- 折扣值
- 变种
- 各个
- 广阔
- 冒险
- 确认
- 非常
- 通过
- 愿景
- 等待
- 等候
- 唤醒
- 醒来
- 想
- 是
- 方法..
- 方法
- we
- 卷筒纸
- Web服务
- ,尤其是
- 是否
- 这
- 而
- WHO
- 宽
- 大范围
- 将
- 也完全不需要
- 韩元
- 合作
- 全世界
- 将
- 书面
- 年
- 完全
- 年轻
- 您一站式解决方案
- 你自己
- 和风网
- 零