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

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

实时推理

实时推理是您具有实时、交互式、低延迟要求的推理工作负载的理想选择。您可以将模型部署到 SageMaker 托管服务,并获取可用于推理的终端节点。这些端点是完全托管的,支持自动缩放(请参阅自动扩展 Amazon SageMaker 型号),并且可以部署在多个可用区.

部署您的模型

使用 SageMaker 托管服务部署模型有三个步骤:

  1. 在 SageMaker 中创建模型-通过创建模型,您告诉 SageMaker 在哪里寻找模型组件。这包括存储模型构件的 S3 路径和包含推理代码的镜像的 Docker 注册表路径。在后续部署步骤中,您按名称指定模型。有关更多信息,请参阅 CreateModel API。

    注意

    存储模型构件的 S3 存储桶必须与您正在创建的模型位于同一区域内。

  2. 为 HTTPS 终端节点创建终端配置-指定生产变体中的一个或多个模型的名称,以及您希望 SageMaker 启动以托管各个生产变体的 ML 计算实例。

    注意

    SageMaker 支持在同一端点上运行 (a) 多个模型、(b) 模型的多个变体或 (c) 模型和变体的组合。模型变体可以引用相同的模型推理容器(即运行相同的算法),但使用不同的模型伪影(例如,基于其他超参数配置的不同模型权重值)。相比之下,两种不同的模型可能使用相同的算法,但侧重于不同的业务问题或基础目标,并且可能对不同的数据集进行操作。

    在生产环境中托管模型时,您可以将终端节点配置为弹性扩展部署的 ML 计算实例。对于每个生产变体,您指定所要部署的 ML 计算实例数量。当您指定两个或更多实例时,SageMaker 会在多个可用区中启动它们。这可确保连续可用性。SageMaker 管理实例的部署。有关更多信息,请参阅 CreateEndpointConfig API。

  3. 创建 HTTPS 终端节点-向 SageMaker 提供端点配置。该服务会启动 ML 计算实例,并按照配置中的规定部署一个或多个模型。有关更多信息,请参阅 CreateEndpoint API。要从模型中获取推理,客户端应用程序应向 SageMaker 运行时 HTTPS 终端节点发送请求。有关 API 的更多信息,请参阅 InvokeEndpoint API。

    注意

    终端节点的作用域限于单个 Amazon 账户,并且终端节点不是公有的。URL 不包含账户 ID,但 SageMaker 从调用者提供的身份验证令牌中确定账户 ID。

    有关如何使用 Amazon API Gateway 和Amazon Lambda设置和部署可从不在帐户范围内的客户端应用程序调用的 Web 服务,请参阅使用 Amazon API Gateway 调用 SageMaker 模型终端节点,并Amazon Lambda中的AmazonMachine Learning 习博客.

注意

在创建终端节点时,SageMaker 将 Amazon EBS 存储卷附加到托管该终端节点的每个 ML 计算实例。存储卷的大小取决于实例类型。有关 SageMaker 托管服务支持的实例类型列表,请参阅Amazon服务限制. 有关 SageMaker 附加到每个实例的存储卷大小列表,请参阅托管实例存储卷.

要提高模型的准确性,您可以选择保存用户的输入数据和基本实际情况 (如果可用) 作为训练数据的一部分。然后,您可以使用更大且经过改进的训练数据集定期重新训练模型。