首页 > 解决方案 > AWS SageMaker - 实时数据处理

问题描述

我的公司进行在线消费者行为分析,我们使用从各种网站收集的数据(嵌入我们的 java 脚本)进行实时预测。

我们一直在使用 AWS ML 进行实时预测,但现在我们正在尝试使用 AWS SageMaker,我们发现与 AWS ML 相比,实时数据处理是一个问题。例如,我们有一些字符串变量,AWS ML 可以将它们转换为数字,并在 AWS ML 中自动使用它们进行实时预测。但看起来 SageMaker 做不到。

有人对 AWS SageMaker 中的实时数据处理和预测有任何经验吗?

标签: predictionamazon-sagemaker

解决方案


听起来您只熟悉 SageMaker 的培训组件。SageMaker有几个不同的组件:

  1. Jupyter 笔记本
  2. 标签
  3. 训练
  4. 推理

您最有可能处理#3 和#4。这里有几种使用 SageMaker 的方法。您可以使用其中一种内置算法,该算法提供可在 SageMaker 上启动的训练和推理容器。要使用这些,您可以完全从控制台工作,只需指向 S3 中的数据,类似于 AWS ML。如果您不使用内置算法,那么如果您使用的是 tensorflow、mxnet、pytorch 等通用框架,则可以使用sagemaker-python-sdk创建训练和预测容器。最后,如果您使用的是超级自定义算法(如果您是从 AWS ML 移植,则不是),那么您可以携带自己的 docker 容器进行训练和推理。

要创建推理端点,您可以转到推理部分下的控制台并单击以构建您的端点。请参阅此处的 gif 示例: 显示构建端点的 gif

除此之外,如果您想使用代码实时调用端点,您可以使用任何 AWS 开发工具包,我将在此处使用 python 开发工具包 boto3 进行演示:

import boto3
sagemaker = boto3.client("runtime.sagemaker")
response = sagemaker.invoke_endpoint(EndpointName="herpderp", Body="some content")

在此代码中,如果您需要将传入的字符串值转换为数值,那么您可以使用代码轻松完成此操作。


推荐阅读