公司新闻

通过使用 Amazon SageMaker 的最新功能,将模型部署成本平均降低 50 机器学习博客

通过使用 Amazon SageMaker 的最新功能,将模型部署成本平均降低 50 机器学习博客

平均降低 50 模型部署成本的新特性在 Amazon SageMaker 中

重点摘要

随着组织将模型部署到生产环境,他们不断寻求优化基础模型FMs性能的方法,以降低成本并减少响应延迟,从而为最终用户提供最佳体验。Amazon SageMaker 现在推出了新的推理组件功能,帮助用户实现这些目标,通过优化计算资源的使用,用户平均可以降低 50 的模型部署成本,同时提升性能。

作为新特性的推出,SageMaker 允许用户创建基于组件的推理端点,用户可以根据每个模型的需求,在端点上高效部署机器学习ML模型。推理组件的优势包括最佳模型打包、动态实例缩放以及资源灵活管理等。本文将介绍如何利用这些新功能部署多个模型,并设定自动缩放策略来管理端点的实例。

模型部署挑战

在将模型何时部署到生产环境时,企业常常面临以下挑战:

通过使用 Amazon SageMaker 的最新功能,将模型部署成本平均降低 50 机器学习博客硬件资源使用效率低:某些基础模型在部署到实例时未能充分利用可用的加速器,导致硬件资源的低效使用。复杂的基础设施管理:多个基础模型共享同一实例虽然可以提高资源利用率,但需要复杂的基础设施管理。响应延迟难以预测:推理请求完成时间波动较大,可能因负载不均而导致延迟。

为了优化性能并降低响应延迟,客户往往需要部署多个基础模型副本来并行处理用户请求。为了解决这些问题,Amazon SageMaker 现在新增了推理能力。

新的推理组件

推理组件Inference Component可以将机器学习模型抽象化,并允许用户根据每个模型的需求配置 CPU、GPU 或 AWS Neuron 加速器和缩放策略。推理组件带来的好处包括以下几点:

SageMaker 优化模型的部署以最大化利用率,从而实现成本节约。SageMaker 根据配置动态扩展和收缩每个模型,以满足 ML 应用的需求。SageMaker 将动态添加和移除实例,以确保可用容量的同时,最大限度减少闲置计算资源。在资源不足时,可以将某个模型的副本缩减到零,以释放资源供其他模型使用,并且可以设置始终保持某些重要模型加载状态以服务流量。

通过以上功能,用户平均能够减少 50 的模型部署成本,具体节省金额取决于工作负载和流量模式。

实例:模型打包最佳实践

以一个简单的示例为例,假设您有一个聊天应用程序,能够帮助游客了解当地习俗和最佳实践,由两个 Llama 2 模型组成:一个专为欧洲游客调优,另一个专为美国游客调优。预计欧洲模型在 00011159 UTC 时间段内流量较高,而美国模型则在 12002359 UTC 时间段流量较多。通过将这两个模型部署在单个端点上,而不是单独为每个模型分配专用实例,您可以节省成本,并提高硬件利用率。例如,您可以在需求较少时将美国模型的副本缩减为零,从而释放容量供欧洲模型使用,反之亦然。

速云梯机场(sycloud)

构建模块

以下是一些与 SageMaker 托管相关的新术语:

推理组件:用于将模型部署到端点的 SageMaker 托管对象。用户可以通过指定 SageMaker 模型或兼容图像和模型工件的规范来创建推理组件。模型副本:推理组件的运行时副本,能够处理请求。托管实例自动缩放:根据推理组件的需求自动调节端点使用的计算实例数量。

用户可以在部署推理组件时指定初始副本数量,以确保模型已按要求加载,随时能够处理请求。此外,用户还可以设定缩放策略,使得在没有负载时自动卸载副本,释放资源用于其他活动工作负载。

API 操作示例

SageMaker 引入了新的 InferenceComponent 实体,用户可以指定用于托管模型的关键属性,如 SageMaker 模型、容器详情和模型工件数量。

以下是创建推理组件的代码示例:

pythonsmclientcreateinferencecomponent( InferenceComponentName=inferencecomponentname EndpointName=endpointname VariantName=variantname Specification={ Container { Image inferenceimageuri ArtifactUrl s3codeartifact } StartupParameters { ModelDataDownloadTimeoutInSeconds 300 ContainerStartupHealthCheckTimeoutInSeconds 600 } ComputeResourceRequirements { NumberOfAcceleratorDevicesRequired 1 MinMemoryRequiredInMb 1024 } } RuntimeConfig={CopyCount 1})

新的 InferenceComponent 减少了为端点配置模型所需的步骤,允许用户弥补和控制每个模型的容量。

比较表:传统调用 vs 推理组件

步骤基于模型的端点基于推理组件的端点1CreateModel()CreateEndpointConfig()2CreateEndpointConfig()CreateEndpoint()3CreateEndpoint()CreateInferenceComponent()4InvokeEndpoint()InvokeEndpoint(InferenceComponentName=’value’)

日志与监控

推理组件的日志位于 /aws/sagemaker/InferenceComponents/ltInferenceComponentNamegt。所有发送到容器stderr和stdout的日志都会被发送到 Amazon CloudWatch。用户可以实时查看资源使用情况、模型调用情况和端点指标。

自动缩放实施

在创建 SageMaker 端点配置和推理组件时,用户需定义初始实例数量与模型副本数量。为了实现 IC 级别的自动缩放,用户需要先注册缩放目标,然后关联缩放策略。

在使用自动缩放政策时,可以使用新的度量标准 SageMakerInferenceComponentInvocationsPerCopy 来追踪每个模型副本的平均调用数。

pythonaasclientputscalingpolicy( PolicyName=endpointname PolicyType=TargetTrackingScaling ServiceNamespace=servicenamespace ResourceId=resourceid ScalableDimension=scalabledimension TargetTrackingScalingPolicyConfiguration={ PredefinedMetricSpecification { PredefinedMetricType SageMakerInferenceComponentInvocationsPerCopy } TargetValue autoscalingtargetvalue ScaleInCooldown 300 ScaleOutCooldown 300 })

结论

本文介绍了 SageMaker 推理中的新特性,帮助用户最大限度地利用计算实例,支持数百个模型的扩展,并优化成本,同时保持可预测的性能。 SageMaker 通过提供从模型级别的灵活控制和自动扩展管理功能,提供了全新的推理容量和性能优化能力。我们鼓励您开始使用 Amazon SageMaker 的新推理能力,提升模型部署效果。

作者介绍

James Park AWS 解决方案架构师,专注于 AI 和机器学习。Melanie Li AWS AI/ML 专家,帮助企业客户构建解决方案。Marc Karp 专注于帮助客户设计和管理 ML 工作负载的 ML 架构师。Alan Tan SageMaker 高级产品经理,专注于大模型推理。Saurabh Trikande 针对 SageMaker 推理的高级产品经理,专注于复杂 ML 应用程序的部署。Raj Vippagunta AWS SageMaker ML 平台团队的首席工程师。

欲了解更多信息,请访问 Amazon SageMaker 主页。