amazon movers and shakers(amazons neo csm)

作者:电脑培训网 2024-04-27 11:50:05 947

AmazonSageMaker评测分享,效果超出预期

一、前言

随着科技的进步和社会的发展,人工智能受到了越来越广泛的关注,尤其是最近大火的Chatgpt,充分展现了开发中的广泛研究和应用通用人工智能助手的前景。让越来越多的组织和企业纷纷效仿,加入人工智能领域的研究。

amazon movers and shakers(amazons neo csm)

但机器学习的实施是一项极其复杂的工作,不仅需要专业技能,而且还涉及大量的试验和错误。无论是“专业”还是“试错”,背后都有着高昂的成本。此外,通过传统方式创建机器学习模型,开发人员需要从高度手动的数据准备过程开始,进行可视化、选择算法、建立框架、训练模型、调整数百万个可能的参数、部署模型,并监控其性能,这个过程往往需要重复多次,非常繁琐且耗时。因此,很多人心里肯定打着一个大大的问号,究竟有多少企业能够承担得起。

最近受邀参加亚马逊云技术【CloudDiscoveryLab】活动,并使用他们的AmazonSageMaker进行机器学习工作。我对自己体验到的结果非常满意,无论是构建还是数据标注。它还在模型训练和部署方面带来了巨大的效率提升。通过使用其预设的常用算法和自动模型调优,大大降低了模型构建和训练的难度,使我们更容易使用ML。此外,AmazonSageMaker还与其他AmazonWebServices(AWS)产品集成,例如AWSS3、AWSGlue和AWSLambda,使我们能够轻松构建端到端ML工作流程:

下面我分享一个我体验官网的实验案例。我在过程中遇到了什么问题以及我是如何解决的,供大家参考。

二、体验分享

1、数据输入

1)原理

SageMaker处理作业要求数据输入和输出位于S3中。基本示意图如下:

2)实操

步骤1:创建AmazonSageMaker笔记本实例

AmazonSageMaker笔记本实例是完全托管的机器学习(ML)AmazonElasticComputeCloud(AmazonEC2)计算实例,运行Jupyter笔记本应用程序。我们可以使用笔记本实例来创建和管理Jupyter笔记本来预处理数据,以及训练和部署机器学习模型。

AmazonSageMaker笔记本实例创建完成后,图中笔记本实例中将会添加一条状态为Pending的数据。稍后,状态会自动变为InService,实例将变为可用状态。

步骤2:将数据加载到笔记本实例中并上传到AmazonS3

当实例状态变为InService时,选择打开Jupyter,然后在JupyterNotebook中,New选择conda_python3,复制并粘贴以下示例上传数据代码并运行:

导入sagemakeress=sagemaker.Session()bucket=sess.default_bucket()!awss3同步s3://sagemaker-sample-files/datasets/image/caltech-101/inference/s3://{bucket}/ground-truth-demo/images/print('将以下链接复制并粘贴到网络浏览器中,以确认十张图像已成功上传到您的存储桶:')print(f'')print('\n当Sagemaker提示输入输入数据集的S3位置时,您可以粘贴以下S3URL')print(f's3://{bucket}/ground-truth-demo/images/')print('\n当Sagemaker提示指定新位置时,您可以粘贴以下S3URL')print(f's3://{bucket}/ground-truth-demo/标记数据/')

3)使用中遇到的问题及解决方案

1.创建S3Bucket时,需要遵循以下命名规则:sagemaker-your-Region-your-aws-account-id,否则运行上述示例代码时会报错。

2、示例代码运行时,出现访问被禁止的错误信息:

这说明权限策略设置有问题,需要修改桶权限、配置桶策略、配置角色策略。

2.1:修改存储桶权限——。进入编辑“阻止公共访问权限”位置,将“阻止所有公共访问”复选框标记为未选中。

2.2:配置桶策略——我们可以使用SageMaker自带的策略生成器,正确填写相应信息,一键快速生成Json策略:

上述步骤中点击“添加语句”按钮后,会自动生成如下Json策略。

{'版本':'2012-10-17','Id':'策略1679391476168','声明':[{'Sid':'Stmt1679391475056','效果':'允许','主体':{'AWS':'arn:aws:iam:692273791570:角色/服务角色/SageMaker-tt'},'操作':'s3:*','资源':'arn:aws:s3:33360:sagemaker-eu-north-1-692273791570'}]}

上述json策略生成成功后,直接复制粘贴到bucket权限策略中:

2.3:配置角色策略——我们可以在笔记本示例详细信息中找到配置的IAM角色:

点击进入后,找到以下策略项,可编辑Bucket权限策略:

提供了两种编辑方法。建议使用可视化编辑,更加人性化:

这里我将资源范围设置为包括所有S3桶,然后保存后会生成一个json策略,如下所示:

{'版本':'2012-10-17','声明':[{'Sid':'VisualEditor0','效果':'允许','操作':'s3:ListBucket','资源':'arn:aws:s3:33360:*'},{'Sid':'VisualEditor1','效果':'允许','操作':['s3:PutObject','s3:GetObject','s3:DeleteObject'],'资源':'arn:aws:s3:3336033360*/*'}]}

这样我们就配置好了角色权限,再次执行示例上传代码即可成功:

成功运行代码后,打开AmazonS3控制台并导航到sagemaker-your-Region-your-aws-account-id/ground-truth-demo/images位置。您可以看到图像已位于您的默认S3存储桶文件中。列出:

2、数据处理

1)创建标记任务

打开SageMaker控制台。在左侧导航窗格中,选择GroundTruth、标签作业。然后选择创建标记作业。

在标记任务详情页面,按照下图进行配置。图中的两条路径也可以直接从我们之前运行的JupyterNotebook的print语句中复制对应的值。配置成功后,点击“完成数据设置”,会出现输入数据链接成功的提示。

2)设置标签

在任务类型部分中,选择图像作为任务类别。对于任务选择,选择图像分类,然后选择下一步。

在选择工作人员并配置工具部分中,对于工作人员类型,选择AmazonMechanicalTurk。

选择数据集不包含成人内容。

选择您了解并同意AmazonMechanicalTurk员工队伍由位于世界各地的独立承包商组成,并且您不应与该员工共享机密信息、个人信息或受保护的健康信息位于世界各地,并且您不应与该员工共享独立承包商的机密信息、个人信息或受保护的健康信息,并且您不得与该员工共享机密、个人或受保护的健康信息。)

在图像分类标记工具部分中,输入以下信息:

有关任务的简要描述,请输入请选择与下图最匹配的标签。每张图像只能选择1个标签。

对于选择选项,请在单独的框中输入以下标签:飞机、汽车、渡轮、直升机、摩托车。

展开其他说明并将以下文本添加到步骤3:如果单个图像中有多个车辆,请选择图像中最突出的车辆。

要查看注释者如何查看标记工具,请选择“预览”。

选择创建。

成功创建后,新的标签任务将列在SageMaker控制台的标签作业部分下。其状态为进行中,其任务类型为图像分类。单个标签))。标记任务可能需要几分钟才能完成。AmazonMechanicalTurk公共工作人员标记数据后,状态将更改为“完成”。

打标任务的创建和参数配置都比较简单,并没有像Notebook实例中使用代码上传数据那样存在很多权限问题。

3)结果查看

在标记任务的详细信息页面上,标记数据集对象会显示数据集图像的缩略图,并以相应的标签作为标题。

可以通过标记任务的摘要部分、打开输出数据集位置链接并选择清单、输出、output.manifest来获取详细结果

output.manifest列表包含以下数据:

source-ref:指定输入清单文件中图像条目的位置。由于您在步骤2中选择了自动数据设置,AmazonSageMakerGroundTruth已自动创建这些条目和输入清单文件。

test-biaoji1:使用从0开始的数字指定目标标签。对于本示例中的五个图像类别,标签为0、1、2、3和4。

test-biaoji1-metadata:指定标签元数据,例如置信度得分、作业名称、标签字符串名称以及人类或机器注释。

然后我们可以使用AmazonSageMaker中的output.manifest文件来训练模型。

3、模型训练

1)训练任务

当我们的数据准备好之后,我们就可以在左侧的训练菜单栏中创建训练任务了:

然后配置学习算法、训练集群规格和超参数:

然后配置输入数据如下图:

然后点击“创建训练作业”按钮,作业将开始训练:

训练完成后,我们可以点击右上角的创建模型按钮来创建我们的训练模型。

2)超级参数配置

超参数调整可以通过尝试模型的多种变体来提高您的工作效率。它通过关注您指定范围内最有希望的超参数值组合来自动找到最佳模型。为了获得好的结果,你必须选择正确的范围来探索。

下面列出了一些可以设置的可选超参数。包含AmazonSageMakerXGBoost算法所需或最常用的超参数的子集。这些是用户设置的参数,以便于根据数据评估模型参数。

参数名称

描述

班级编号

班级数量。如果目标设置为multi-softmax或multi-softprob,则需要@@。有效值:整数

轮数

运行训练的纪元数。必需有效值:整数

权重的L1正则化项。增加该值会使模型更加保守。可选有效值:浮点值默认值:0

基本分数

所有实例的初始预测分数,全局偏移。可选有效值:浮点值缩放细节凹凸法线强度。

助推器

要使用的助推器程序。gbtree和dartvalue使用基于树的模型,而gblinear使用线性函数。可选有效值:字符串。gbtree、gblinear或dart。默认值:gbtree

colsample_bylevel

每个级别中每个拆分列的子样本比率。可选有效值:浮点值。范围:[0,1]。默认值:1

colsample_bynode

每个节点中列的子样本比率。可选有效值:浮点值。范围:(0,1]。默认值:1

colsample_bytree

构建每棵树时列的子样本比例。可选有效值:浮点值。范围:[0,1]。默认值:1

csv_权重

启用此标志后,对于csv输入,XGBoost通过将训练数据中的第二列作为实例权重来区分实例的重要性。可选有效值:0或1默认值:0

确定性直方图

启用此标志后,XGBoost将在GPU上确定性地构建直方图。仅当tree_method设置为gpu_hist时使用。有关有效输入的完整列表,请参阅XGBoost参数。可选有效值:字符串。范围:true或false默认值:true

提前停止回合

训练模型直到验证分数停止提高。验证错误需要至少减少每个Early_stopping_rounds才能继续训练。SageMaker托管使用最佳模型进行推理。可选有效值:整数默认:-

埃塔

更新中使用步长收缩来防止过度拟合。在每个提升步骤之后,您可以直接获得新特征的权重。eta参数实际上缩小了特征权重,使boosting过程更加保守。可选有效值:浮点值。范围:[0,1]。默认值:0.3

并非所有算法都需要自动超参数调优,这需要在模型性能和成本之间进行权衡。一般来说,对于深度学习模型或海量数据集,自动超参数调整的时间和成本可能太高。因此,在实际的ML项目中,用户很少对深度学习模型或海量数据集进行自动超参数调整;对于传统的机器学习模型,当数据集不大时,可以考虑自动超参数调优。找到最好的解决方案。

三、总结

这次整体使用过程还是比较愉快的。总体来说,AmazonSageMaker的使用更符合大众的习惯。框架设计也非常简单,可读性好,类层次结构清晰,可以让用户的注意力更多地集中在训练脚本本身上。

而且,AmazonSageMaker针对当前机器学习应用瓶颈做了很多针对性的改进,比如大数据的监督训练。AmazonSageMaker采用完全托管的服务模式;在训练时间和资源消耗方面,AmazonSageMaker坚持工具优化的方法。事实上,磨刀霍霍的理念首先为训练前的数据标注提供了多种方法和算法,大大提高了标注数据的准确性,从而节省了重复训练和参数调整的时间;在工程实现方面,AmazonSageMaker在整个模型开发过程中提供了相应的功能,帮助算法工程师专注于业务和模型本身,提高开发效率。它基于容器设计,相比业界更流行的Kubernetes,减少了软件依赖和复杂性。相信AmazonSageMaker的落地将为更多企业插上翅膀,让机器学习无处不在,引领创新进入新时代。

亚马逊近期也一直在开展相关活动,为其合作伙伴提供云探索实验室。通过云探索实验室,大家可以学习和实践云技术,同时与其他合作伙伴分享自己的技术经验。

云发现实验室出现的意义在于让开发者一起创造和分享,互相帮助和启发,玩转云技术。因此,云探索实验室不仅是一个体验的空间,更是一个分享的平台。有兴趣的话请点击活动链接尝试一下:点我参观

相关推荐

  • 什么大数据培训学校好,什么大数据培训学校好一点

    什么大数据培训学校好,什么大数据培训学校好一点

    大家好,今天小编关注到一个比较有意思的话题,就是关于什么大数据培训学校好的问题,于是小编就整理了5个相关介绍什么大数据培训学校好的解答,让我们一起看看吧。大数据…

    什么大数据培训学校好,什么大数据培训学校好一点 2024-10-16 15:20:40
  • 贵阳数据复原培训学校,贵阳数据复原培训学校有哪些

    贵阳数据复原培训学校,贵阳数据复原培训学校有哪些

    大家好,今天小编关注到一个比较有意思的话题,就是关于贵阳数据复原培训学校的问题,于是小编就整理了5个相关介绍贵阳数据复原培训学校的解答,让我们一起看看吧。贵阳驾…

    贵阳数据复原培训学校,贵阳数据复原培训学校有哪些 2024-10-07 04:03:59
  • 大数据培训学校高阳,大数据高级培训学校

    大数据培训学校高阳,大数据高级培训学校

    大家好,今天小编关注到一个比较有意思的话题,就是关于大数据培训学校高阳的问题,于是小编就整理了3个相关介绍大数据培训学校高阳的解答,让我们一起看看吧。异兽迷城高…

    大数据培训学校高阳,大数据高级培训学校 2024-09-24 21:53:03
  • 商丘学校模型制作培训,模型制作培训班

    商丘学校模型制作培训,模型制作培训班

    大家好,今天小编关注到一个比较有意思的话题,就是关于商丘学校模型制作培训的问题,于是小编就整理了3个相关介绍商丘学校模型制作培训的解答,让我们一起看看吧。怎么看…

    商丘学校模型制作培训,模型制作培训班 2024-09-20 01:52:33
  • 大数据爬虫培训学校,大数据爬虫公司

    大数据爬虫培训学校,大数据爬虫公司

    大家好,今天小编关注到一个比较有意思的话题,就是关于大数据爬虫培训学校的问题,于是小编就整理了3个相关介绍大数据爬虫培训学校的解答,让我们一起看看吧。pytho…

    大数据爬虫培训学校,大数据爬虫公司 2024-09-19 19:20:52