本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实时预测
当您需要生成预测时,实时预测非常有用 on-the-fly,例如对于需要即时响应的应用程序或对单个数据点进行预测时。
通过将 AutoML 模型作为实时端点部署,您可以按需生成预测,并最大限度地减少接收新数据与获得预测之间的延迟。这使得实时预测非常适合需要即时、个性化或事件驱动预测功能的应用。
对于实时预测,数据集应该是输入数据集的子集。实时端点的输入数据大小约为 6 MB,响应超时限制为 60 秒。我们建议一次引入一个或几个项目。
您可以使用 SageMaker APIs 检索 AutoML 作业的最佳候选任务,然后使用该候选任务创建 A SageMaker I 终端节点。
或者,当您创建 Autopilot 实验时,也可选择自动部署选项。有关设置模型自动部署的信息,请参阅如何启用自动部署。
要使用您的最佳候选模型创建 A SageMaker I 端点,请执行以下操作:
-
读取 AutoML 作业的详细信息。
以下 AWS CLI 命令示例使用 DescribeAutoMLJobV2 API 获取 AutoML 作业的详细信息,包括有关最佳候选模型的信息。
aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name
job-name
--regionregion
-
从中提取容器定义InferenceContainers以获得最佳候选模型。
容器定义是容器化环境,用于托管经过训练的 SageMaker AI 模型以进行预测。
BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \ --auto-ml-job-name
job-name
--regionregion
\ --query 'BestCandidate.InferenceContainers[0]' \ --output json该命令提取最佳候选模型的容器定义,并将其存储在
BEST_CANDIDATE
变量中。 -
使用最佳候选容器定义创建 SageMaker AI 模型。
使用前面步骤中的容器定义通过 CreateModelAP SageMaker I 创建 AI 模型。
aws sagemaker create-model \ --model-name '
your-candidate-name>
' \ --primary-container "$BEST_CANDIDATE" --execution-role-arn 'execution-role-arn>
' \ --region 'region>
该
--execution-role-arn
参数指定 A SageMaker I 在使用模型进行推理时扮演的 IAM 角色。有关此角色所需权限的详细信息,请参阅 CreateModel API:执行角色权限。 -
使用模型创建 A SageMaker I 端点配置。
以下 AWS CLI 命令使用 CreateEndpointConfigAPI 创建终端节点配置。
aws sagemaker create-endpoint-config \ --production-variants file://production-variants.json \ --region '
region
'其中
production-variants.json
文件包含模型配置,包括模型名称和实例类型。注意
我们建议使用 m5.12xlarge
实例进行实时预测。 [ { "VariantName": "
variant-name
", "ModelName": "model-name
", "InitialInstanceCount":1
, "InstanceType": "m5.12xlarge
" } ] } -
使用终端节点配置创建 SageMaker AI 终端节点。
以下 AWS CLI 示例使用 CreateEndpointAPI 创建终端节点。
aws sagemaker create-endpoint \ --endpoint-name '
endpoint-name>
' \ --endpoint-config-name 'endpoint-config-name
' \ --region 'region
'使用 DescribeEndpointAPI 检查实时推理端点部署的进度。以以下 AWS CLI 命令为例。
aws sagemaker describe-endpoint \ --endpoint-name '
endpoint-name
' \ --region 'region
'将
EndpointStatus
更改为InService
后,端点即可用于实时推理。 -
调用 A SageMaker I 端点进行预测。
aws sagemaker invoke-endpoint \ --endpoint-name '
endpoint-name
' \ --region 'region
' \ --body file://input-data-in-bytes.json \ --content-type 'application/json
'outfile
其中
input-data-in-bytes.json
文件包含预测的输入数据。