我的公司进行在线消费者行为分析,我们使用从各个网站收集的数据(嵌入了Java脚本)进行实时预测。
我们一直在使用AWS ML进行实时预测,但是现在我们正在使用AWS SageMaker进行实验,发现与AWS ML相比,实时数据处理是一个问题。例如,我们有一些字符串变量,AWS ML可以将这些字符串变量转换为数字,并将其自动用于AWS ML中的实时预测。但是看起来SageMaker不能做到。
有人在AWS SageMaker中进行实时数据处理和预测方面有经验吗?
答案 0 :(得分:2)
听起来您只熟悉SageMaker的培训组件。 SageMaker有几个不同的组成部分:
您最有可能处理#3和#4。这里有几种使用SageMaker的方法。您可以使用built-in algorithms之一,它提供可以在SageMaker上启动的训练和推理容器。要使用这些功能,您可以完全在控制台上工作,并且只需指向S3中的数据即可,类似于AWS ML。如果您不使用内置算法,那么在使用tensorflow,mxnet,pytorch或其他通用框架时,可以使用sagemaker-python-sdk创建训练和预测容器。最后,如果您使用的是超级自定义算法(如果要从AWS ML移植则不是),则可以带上自己的Docker容器进行培训和推断。
要创建推理端点,可以转到推理部分下的控制台,然后单击以构建您的端点。有关示例,请参见此处的gif:
此外,如果您想使用代码实时调用端点,则可以使用任何一个AWS开发工具包,我将在此处通过python SDK boto3进行演示:
import boto3
sagemaker = boto3.client("runtime.sagemaker")
response = sagemaker.invoke_endpoint(EndpointName="herpderp", Body="some content")
在此代码中,如果您需要将传入的字符串值转换为数字值,则可以使用该代码轻松地做到这一点。
答案 1 :(得分:0)
在这种情况下,您需要先对数据进行预处理,然后再将其提供给InvokeEndpoint请求主体。如果使用python,则可以使用int('your_integer_string')或float('your_float_string')将字符串转换为整数或float。如果使用Java,则可以使用Integer.parseInt(“ yourIntegerString”)或Long.parseLong(“ yourLongString”)或Double.parseDouble(“ yourDoubleString”)或Float.parseFloat(“ yourFloatString”)。
希望这会有所帮助!
-汉
答案 2 :(得分:0)
可以!您必须创建管道(预处理+模型+后处理)并将其部署为实时推断的端点。您可以在sagemaker github网站中再次检查推理示例。它使用sagemaker-python-sdk进行培训和部署。 1:这适用于小数据sklearn模型。
2:它还支持大数据(火花ML Pipeline服务容器),您也可以在其官方github中找到该示例。
答案 3 :(得分:0)
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 系统的简单集成,现在是开始您的机器学习之旅的最佳时机。