AWS SageMaker - 实时数据处理

AWS SageMaker - Realtime Data Processing

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

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

有人有在 AWS SageMaker 中进行实时数据处理和预测的经验吗?

在这种情况下,您需要在将数据输入 InvokeEndpoint 请求正文之前对其进行预处理。如果使用 python,则可以使用 int('your_integer_string') 或 float('your_float_string') 将字符串转换为整数或浮点数。如果使用java,则可以使用Integer.parseInt("yourIntegerString")或Long.parseLong("yourLongString")或Double.parseDouble("yourDoubleString")或 Float.parseFloat("yourFloatString").

希望对您有所帮助!

-汉族

听起来您只熟悉 SageMaker 的训练组件。 SageMaker 有几个不同的组成部分:

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

您很可能正在处理#3 和#4。这里有几种使用 SageMaker 的方法。如果您使用的是 tensorflow、mxnet、pytorch 等通用框架,则可以使用 built-in algorithms which provide both training and inference containers that can be launched on SageMaker. To use these you can work entirely from the console and just point at your data in S3, similar to AWS ML. If you're not using the built-in algos then you can use the sagemaker-python-sdk 之一来创建训练和预测容器。最后,如果您使用的是超级自定义算法(如果您从 AWS ML 移植则不是),那么您可以使用自己的 docker 容器进行训练和推理。

要创建推理端点,您可以转到推理部分下的控制台,然后四处单击以构建您的端点。有关示例,请参见此处的 gif:

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

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

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

可以!您必须创建一个管道(预处理 + 模型 + 后处理)并将其部署为端点以进行实时推理。您可以仔细检查 sagemaker github 站点中的推理示例。它使用 sagemaker-python-sdk 进行训练和部署。 1:这是针对小数据sklearn模型的。

https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-python-sdk/scikit_learn_inference_pipeline

2:它也支持大数据(spark ML Pipeline serving container),你也可以在它的官方github中找到例子。

AWS SageMaker 是 AWS 中一项强大的机器学习服务,可管理机器学习实施的每个主要方面,包括数据准备、模型构建、训练和微调以及部署。

准备

SageMaker 使用一系列资源来简化为机器学习模型准备数据,即使这些数据来自许多来源或采用多种格式。

使用 SageMaker Ground Truth 标记自动处理成可用数据的数据(包括视频、图像和文本)非常简单。 GroundWork 将使用自动分割和一套工具处理和合并这些数据,以创建可用于机器学习模型的单一数据标签。 AWS 与 SageMaker Data Wrangler 和 SageMaker Processing 相结合,将可能需要数周或数月的数据准备阶段缩短为数天,甚至数小时。

建造

SageMaker Studio Notebooks 集中了与您的机器学习模型相关的所有内容,使它们能够方便地与相关数据一起共享。您可以从各种内置的开源算法中进行选择,以开始使用 SageMaker JumpStart 处理您的数据,或者您可以为您的机器学习模型构建自定义参数。

选择模型后,SageMaker 会自动开始处理数据,并提供一个简单易懂的界面来跟踪模型的进度和性能。

培训

SageMaker 提供了一系列工具,用于根据您准备的数据训练您的模型,包括用于检测可能的错误的内置调试器。

机器学习 训练作业的结果保存在 Amazon S3 存储桶中,可以使用其他 AWS 服务(包括 AWS Quicksight)在其中查看它们。

部署

如果无法轻松将机器学习模型部署到您的托管基础​​设施,那么拥有强大的机器学习模型毫无意义。幸运的是,SageMaker 允许将机器学习模型部署到您当前的服务和应用程序,只需单击一下即可。

SageMaker 允许在安装后进行实时数据处理和预测。这在包括金融和卫生在内的多个领域都产生了深远的影响。例如,在股票市场上经营的企业可能会做出有关股票的实时财务决策,并通过确定最佳购买时间来进行更具吸引力的收购。

与 Amazon Comprehend 结合,允许进行自然语言处理,将人类语音转换为可用数据以训练更好的模型,或通过 Amazon Lex 为客户提供聊天机器人。

总之……

机器学习不再是小众技术的好奇心;它现在在全球数千家公司的决策过程中发挥着关键作用。现在是开始机器学习之旅的最佳时机,几乎可以使用无限的框架,并且可以简单地集成到 AWS 系统中。