使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 | 亚马逊网络服务

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 | 亚马逊网络服务

亚马逊SageMaker 使部署机器学习 (ML) 模型进行实时推理变得简单,并提供跨 CPU 和加速器的广泛 ML 实例选择,例如 AWS 推理。作为完全托管的服务,您可以扩展模型部署,最大限度地降低推理成本,并在生产中更有效地管理模型,同时减少运营负担。 SageMaker 实时推理端点由 HTTPs 端点和跨多个可用区部署的 ML 实例组成,以实现高可用性。贤者创客 应用程序自动缩放 可以动态调整为模型配置的 ML 实例数量,以响应工作负载的变化。端点使用循环算法将传入请求统一分发到 ML 实例。

当部署在实例上的 ML 模型接收来自大量客户端的 API 调用时,当请求和响应没有太多变化时,随机分布的请求可以很好地工作。但在具有生成式人工智能工作负载的系统中,请求和响应可能变化很大。在这些情况下,通常需要通过考虑实例的容量和利用率来实现负载平衡,而不是随机负载平衡。

在这篇文章中,我们讨论 SageMaker 最少未完成请求 (LOR) 路由策略,以及它如何通过考虑 ML 实例的容量和利用率来最大限度地减少某些类型的实时推理工作负载的延迟。我们讨论它相对于默认路由机制的优势,以及如何为模型部署启用 LOR。最后,我们对 LOR 与随机路由的默认路由策略的延迟改进进行了比较分析。

SageMaker LOR 策略

默认情况下,SageMaker 端点具有随机路由策略。 SageMaker 现在支持 LOR 策略,该策略允许 SageMaker 以最佳方式将请求路由到最适合服务该请求的实例。 SageMaker 通过监控端点背后的实例负载以及部署在每个实例上的模型或推理组件来实现这一点。

以下交互图显示了默认路由策略,其中到达模型端点的请求以随机方式转发到 ML 实例。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

以下交互图显示了路由策略,其中 SageMaker 将请求路由到未完成请求数最少的实例。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

一般来说,当您的模型在数百毫秒到几分钟内响应时,LOR 路由非常适合基础模型或生成式 AI 模型。如果您的模型响应具有较低的延迟(最多数百毫秒),您可能会从随机路由中受益更多。无论如何,我们建议您测试并确定适合您的工作负载的最佳路由算法。

如何设置 SageMaker 路由策略

SageMaker 现在允许您设置 RoutingStrategy 创建时的参数 EndpointConfiguration 对于端点。不同的 RoutingStrategy SageMaker 支持的值有:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

以下是在启用了 LOR 的推理端点上部署模型的示例:

  1. 通过设置创建端点配置 RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. 使用端点配置创建端点(无更改):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

绩效结果

我们运行性能基准测试来测量端到端推理延迟和吞吐量 代码生成2-7B 模型托管在具有默认路由和智能路由端点的 ml.g5.24xl 实例上。 CodeGen2 模型属于自回归语言模型家族,在给出英语提示时生成可执行代码。

在我们的分析中,随着并发用户数量的增加,我们增加了每次测试运行的每个端点后面的 ml.g5.24xl 实例数量,如下表所示。

测试 并发用户数 实例数
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

我们测量了两个端点的端到端 P99 延迟,发现当实例数量从 4 增加到 33 时,延迟改善了 5-20%,如下图所示。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

同样,当实例数量从 15 个增加到 16 个时,我们观察到每个实例每分钟的吞吐量提高了 5-20%。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

这说明智能路由能够改善端点之间的流量分配,从而改善端到端延迟和整体吞吐量。

结论

在这篇文章中,我们解释了 SageMaker 路由策略和启用 LOR 路由的新选项。我们解释了如何启用 LOR 以及它如何使您的模型部署受益。我们的性能测试显示实时推理期间的延迟和吞吐量有所改善。要了解有关 SageMaker 路由功能的更多信息,请参阅 文件。我们鼓励您评估您的推理工作负载,并确定您是否已使用路由策略进行最佳配置。


作者简介

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。詹姆斯公园 是 Amazon Web Services 的解决方案架构师。 他与 Amazon.com 合作,在 AWS 上设计、构建和部署技术解决方案,并且对人工智能和机器学习特别感兴趣。 在业余时间,他喜欢寻找新文化、新体验,并了解最新的技术趋势。 你可以在以下位置找到他 LinkedIn.

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。Venugopal 排 是 AWS 的解决方案架构师。 他居住在印度班加罗尔,帮助数字原生客户在 AWS 上扩展和优化他们的应用程序。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。戴维·尼根达(David Nigenda) 是 Amazon SageMaker 团队的高级软件开发工程师,目前致力于改进生产机器学习工作流程以及推出新的推理功能。 在业余时间,他努力照顾孩子们。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。迪普蒂·拉加 是 Amazon SageMaker 团队的软件开发工程师。 她目前的工作重点是构建功能以有效地托管机器学习模型。 在业余时间,她喜欢旅行、远足和种植植物。

艾伦谭艾伦谭 是 SageMaker 的高级产品经理,负责大型模型推理方面的工作。 他热衷于将机器学习应用于分析领域。 工作之余,他喜欢户外活动。

使用 Amazon SageMaker 路由策略最大限度地减少实时推理延迟 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。达瓦尔·帕特尔 是 AWS 的首席机器学习架构师。 他曾与从大型企业到中型初创公司的组织合作,解决与分布式计算和人工智能相关的问题。 他专注于深度学习,包括 NLP 和计算机视觉领域。 他帮助客户在 SageMaker 上实现高性能模型推理。

时间戳记:

更多来自 AWS机器学习