低延迟实时推理 Amazon PrivateLink - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

低延迟实时推理 Amazon PrivateLink

Amazon SageMaker 为实时推断提供低延迟,同时使用多可用区部署保持高可用性和弹性。应用程序延迟由两个主要部分组成:基础设施或网络延迟以及模型推理延迟。减少开销延迟创造了新的可能性,例如部署更复杂、更深入、更精确的模型,或者将单体应用程序拆分为可扩展和可维护的微服务模块。您可以使用 Amazon PrivateLink 部署来减少实时推断的 SageMaker 延迟。借助 Amazon PrivateLink,您可以使用接口 VPC 终端节点,以可扩展的方式私密访问虚拟私有云 (VPC) 中的所有 SageMaker API 操作。接口 VPC 终端节点是子网中的弹性网络接口,其私有 IP 地址可作为所有 SageMaker API 调用的入口点。

默认情况下,具有 2 个或更多实例的 SageMaker 终端节点部署在至少 2 个 Amazon 可用区 (AZ) 中,任何可用区中的实例都可以处理调用。这会导致一个或多个可用区“跳跃”,从而造成开销延迟。将 privateDNSEnabled 选项设置为 true 的 Amazon PrivateLink 部署通过实现两个目标来缓解这个问题:

  • 它将所有推理流量保留在您的 VPC 内。

  • 使用 Runt SageMaker ime 时,它会将调用流量与发起调用流量的客户端保持在同一个可用区中。这样可以避免可用区之间的“跳跃”,从而降低网络延迟。

本指南的以下部分演示了如何通过 Amazon PrivateLink 部署减少实时推理的延迟。

要进行部署 Amazon PrivateLink,请先为连接到终端节点的 VPC 创建接口 SageMaker 终端节点。请按照使用接口 VPC 终端节点访问 Amazon 服务中的步骤创建接口终端节点。创建端点时,请在控制台界面中选择以下设置:

  • 选中其他设置下的启用 DNS 名称复选框

  • 选择要与 SageMaker 端点一起使用的相应安全组和子网。

此外,请确保 VPC 已启用 DNS 主机名。有关如何更改 VPC 的 DNS 属性的更多信息,请参阅查看和更新 VPC 的 DNS 属性

在 VPC 中部署 SageMaker 终端节点

要实现低开销延迟,请使用您在部署 Amazon PrivateLink时指定的相同子网创建 SageMaker 终端节点。这些子网应与您的客户端应用程序的可用区相符,如以下代码片段所示。

model_name = '<the-name-of-your-model>' vpc = 'vpc-0123456789abcdef0' subnet_a = 'subnet-0123456789abcdef0' subnet_b = 'subnet-0123456789abcdef1' security_group = 'sg-0123456789abcdef0' create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url }, VpcConfig = { 'SecurityGroupIds': [security_group], 'Subnets': [subnet_a, subnet_b], }, )

上述代码片段假定您已按照 开始前的准备工作 中的步骤进行操作。

调用 SageMaker 端点

最后,指定 SageMaker Runtime 客户端并调用 SageMaker 端点,如以下代码片段所示。

endpoint_name = '<endpoint-name>' runtime_client = boto3.client('sagemaker-runtime') response = runtime_client.invoke_endpoint(EndpointName=endpoint_name, ContentType='text/csv', Body=payload)

有关端点配置的更多信息,请参阅部署模型进行实时推理