SageMaker - 部署 ML 模型

训练模型后,下一步是部署模型进行预测。Amazon SageMaker 允许您实时将模型部署到 SageMaker 终端节点或对大型数据集执行批量推理。部署后,您可以轻松地将机器学习模型集成到生产应用程序中。

将模型部署到 SageMaker 终端节点

使用 Amazon SageMaker 部署模型是一项非常简单的任务。训练后,您可以实时将模型部署到终端节点。然后,此终端节点将允许您执行实时预测。让我们看看下面的步骤 −

步骤 1:部署模型

一旦您的模型经过训练,您就可以使用 deploy 方法创建用于实时推理的端点,如下所示 −

# 将模型部署到 SageMaker 端点
predictor = xgboost.deploy(initial_instance_count=1, instance_type="ml.m4.xlarge")

# 执行实时推理
result = predictor.predict([[5.1, 3.5, 1.4, 0.2]])
print(result)

在上面的示例中,模型部署到 ml.m4.xlarge 实例。部署后。您可以使用预测方法对新数据进行推理。

第 2 步:监控终端节点

SageMaker 会自动为您管理终端节点。您可以使用 SageMaker 仪表板监控终端节点的性能并根据需要对其进行扩展。SageMaker 还支持根据流量自动扩展。

使用 Amazon SageMaker 进行批量推理

SageMaker 具有批量推理功能,当您需要对不需要实时响应的大型数据集进行预测时,此功能非常有用。在这种情况下,SageMaker 会批量处理数据并将结果输出到 S3 存储桶。

按照下面给出的步骤 −

步骤 1:配置 Transformer

训练后,您可以创建一个 Transformer 对象来执行批量推理,如下所示 −

# 配置转换器
transformer = xgboost.transformer(
    instance_count=1, instance_type="ml.m4.xlarge", output_path="s3://your-bucket/batch-output"
)

# 执行批量推理
transformer.transform(data="s3://your-bucket/batch-input", content_type="text/csv", split_type="Line")

第 2 步:运行批处理作业

SageMaker 将对存储在 S3 中的指定数据集运行批量推理作业。结果将保存到 S3 存储桶中的 output_path。