Amazon SageMaker测评分享,效果超出预期

这篇具有很好参考价值的文章主要介绍了Amazon SageMaker测评分享,效果超出预期。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

随着科技的进步和社会的发展,人工智能得到了愈加广泛的重视,特别是最近大火的Chatgpt,充分展现了研发通用人工智能助手广阔的研究和应用前景。让越来越多的组织和企业跟风加入到人工智能领域的研究中,

但机器学习的实施是一项极其复杂的工作,不仅需要专业技能,还涉及大量的试错。无论是“专业”,抑或是“试错”,其背后都是高昂的成本。而且,通过传统的方式创建机器学习模型,开发人员需要从高度手动的数据准备过程开始,经过可视化、选择算法、设置框架、训练模型、调整数百万个可能的参数、部署模型并监视其性能,这个过程往往需要重复多次,是非常繁琐且特别耗时的。所以说,究竟有多少公司能够玩得起,想必很多人都会在心里打出一个大大的问号。

最近刚好受邀参与了亚马逊云科技【云上探索实验室】活动,使用了它们推出的 Amazon SageMaker来开展机器学习的工作,体验下来的效果是让我很满意的,无论是在构建,数据标注还是模型训练部署等方面都带来了巨大的效率提升,通过使用它预置的常用算法,以及自动模型调优大大降低了模型构建和训练的难度,让我们更容易的使用ML。另外,Amazon SageMaker与其他亚马逊网络服务(AWS)产品集成,如AWS S3、AWS Glue和AWS Lambda,让我们能够轻松构建端到端的ML工作流程:

Amazon SageMaker测评分享,效果超出预期

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

二、体验分享

1、数据输入

1)原理

SageMaker Processing job 要求数据的输入和输出都需要在 S3 ,基本原理图如下:

Amazon SageMaker测评分享,效果超出预期
2)实操

步骤1:创建Amazon SageMaker 笔记本实例

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

Amazon SageMaker测评分享,效果超出预期

亚马逊 SageMaker 笔记本实例创建好之后会在图中的笔记本实例中新增一条状态为Pending的数据,稍等一会儿,状态会自动变为InService,此时改实例为可使用状态。

步骤2:将数据加载到笔记本实例,并上传到Amazon S3

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

import sagemaker

sess = sagemaker.Session()
bucket = sess.default_bucket()

!aws s3 sync s3://sagemaker-sample-files/datasets/image/caltech-101/inference/ s3://{bucket}/ground-truth-demo/images/

print('Copy and paste the below link into a web browser to confirm the ten images were successfully uploaded to your bucket:')
print(f'https://s3.console.aws.amazon.com/s3/buckets/{bucket}/ground-truth-demo/images/')

print('\nWhen prompted by Sagemaker to enter the S3 location for input datasets, you can paste in the below S3 URL')

print(f's3://{bucket}/ground-truth-demo/images/')

print('\nWhen prompted by Sagemaker to Specify a new location, you can paste in the below S3 URL')

print(f's3://{bucket}/ground-truth-demo/labeled-data/')
3)使用中遇到的问题及解决方案

1、S3 Bucket创建时需要按照这个命名规则:sagemaker-<your-Region>-<your-aws-account-id>,否则运行上面的示例代码时会报错。

2、示例代码运行的时候遇到access is forbidden报错信息:

Amazon SageMaker测评分享,效果超出预期

这表明权限策略的设置有问题,需要我们去修改存储桶权限、配置存储桶策略以及配置角色策略

2.1:修改存储桶权限——进入编辑“屏蔽公共访问权限(存储桶设置)”位置,把”阻止所有公开访问“复选框标记为未选中状态

Amazon SageMaker测评分享,效果超出预期

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

Amazon SageMaker测评分享,效果超出预期

上述步骤点击”Add Statement“按钮后会自动生成如下Json策略

{
        "Version": "2012-10-17",
        "Id": "Policy1679391476168",
        "Statement": [
                {
                        "Sid": "Stmt1679391475056",
                        "Effect": "Allow",
                        "Principal": {
                                "AWS": "arn:aws:iam::692273791570:role/service-role/SageMaker-tt"
                        },
                        "Action": "s3:*",
                        "Resource": "arn:aws:s3:::sagemaker-eu-north-1-692273791570"
                }
        ]
}

上面的json策略生成成功后,直接复制粘贴到存储桶权限策略中:

Amazon SageMaker测评分享,效果超出预期

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

Amazon SageMaker测评分享,效果超出预期

点击进入后,找到下面的策略项就可对存储桶权限策略进行编辑:

Amazon SageMaker测评分享,效果超出预期

提供两种编辑方式,这里建议使用可视化编辑更加的友好:

Amazon SageMaker测评分享,效果超出预期

我这里将资源范围设置为所有S3存储桶(你们也可以指定刚刚创建的存储桶)都放开,然后保存后就会生成json策略,如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::*/*"
        }
    ]
}

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

Amazon SageMaker测评分享,效果超出预期

在成功运行代码以后,打开 Amazon S3 控制台并导航至 sagemaker-<your-Region>-<your-aws-account-id>/ground-truth-demo/images 位置,可以看到图片已经在你的默认S3存储桶文件列表了:

Amazon SageMaker测评分享,效果超出预期

2、数据处理

1)创建标记任务

打开 SageMaker 控制台。在左侧导航窗格中,选择 Ground TruthLabeling jobs(贴标作业)。然后选择 Create labeling job(创建标记任务)。

Amazon SageMaker测评分享,效果超出预期

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

Amazon SageMaker测评分享,效果超出预期
2)设置标签

Task type(任务类型)部分,为 Task category(任务类别)选择 Image(图像)。对于 Task selection(任务选择),选择 Image Classification (Single Label)(图像分类(单标签)),然后选择 Next(下一步)。

Amazon SageMaker测评分享,效果超出预期

Select workers and configure tool(选择工作人员并配置工具)部分中,对于Worker types(工作人员类型),选择 Amazon Mechanical Turk。

选择 The dataset does not contain adult content(数据集不包含成人内容)。

选择 You understand and agree that the Amazon Mechanical Turk workforce consists of independent contractors located worldwide and that you should not share confidential information, personal information or protected health information with this workforce(您了解并同意 Amazon Mechanical Turk 工作团队由分布在世界各地的独立合约商组成,而且您不得与该工作团队分享机密信息、个人信息或受保护的健康信息。)

Amazon SageMaker测评分享,效果超出预期

Image classification (Single Label) labeling tool(图像分类(单标签)标记工具)部分中,输入以下信息:

对于 brief description of task(任务的简短描述),输入 Please select the label that best matches the image below(请在下方选择与图像最匹配的标签)。您可以为每张图像仅选择 1 个标签。

对于 Select an option(选择选项),在单独的框中输入以下标签:Airplane(飞机)、Car(汽车)、Ferry(渡轮)、Helicopter(直升机)、Motorbike(摩托车)。

展开 Additional instructions(其他说明),添加以下文本到第 3 步:If there are multiple vehicles in a single image, choose the most prominent vehicle in the image(如果一张图像中有多个交通工具,请选择在图像中最突出的交通工具)。

要了解标注人员将看到怎样的标记工具,请选择 Preview(预览)。

选择 Create(创建)。

Amazon SageMaker测评分享,效果超出预期

创建成功后新的标记任务被列在 SageMaker 控制台 Labeling jobs(贴标作业)部分的下方,其 Status(状态)为 In progressTask type(任务类型)为 Image Classification (Single Label)(图像分类(单个标签))。标记任务可能需要几分钟才能完成。 在 Amazon Mechanical Turk 公共工作人员标记数据后,状态变为 Complete

Amazon SageMaker测评分享,效果超出预期
Amazon SageMaker测评分享,效果超出预期

标记任务的创建及参数配置使用相对比较简单,没有像在笔记本实例中使用代码上传数据那样遇到很多权限类的问题。

3)结果查看

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

Amazon SageMaker测评分享,效果超出预期

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

其中output.manifest 清单包括以下数据:

source-ref:在输入清单文件中指定图像条目的位置。由于您在第 2 步中选择了 Automated data setup(自动数据设置),Amazon SageMaker Ground Truth 已自动创建这些条目以及输入清单文件。

test-biaoji1:使用从 0 开始的编号数值来指定目标标签。针对此示例中的五个图像分类,标签分别为 0、1、2、3、4。

test-biaoji1-metadata:指定标记元数据,如置信度评分、作业名称、标签字符串名称(例如,飞机、汽车、渡轮、直升机和摩托车),以及人工或机器注释(主动学习)。

然后我们就可以在Amazon SageMaker 中使用 output.manifest 文件来进行模型的训练。

3、模型训练

1)训练任务

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

Amazon SageMaker测评分享,效果超出预期

然后对学习算法、训练集群规范和超参数进行配置:

Amazon SageMaker测评分享,效果超出预期

之后按下图配置好输入数据

Amazon SageMaker测评分享,效果超出预期

之后点击“创建训练作业”按钮即可,该作业就会开始训练:

Amazon SageMaker测评分享,效果超出预期

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

2)超级参数配置

超参数调整可以通过尝试模型的多种变体来提高工作效率。它通过聚焦在您指定范围内最有前途的超参数值组合来自动寻找最佳模型。为了获得良好的结果,您必须选择正确的范围进行探索。

Amazon SageMaker测评分享,效果超出预期

下面列举出了一些可以设置的可选超参数。包含 Amazon SageMaker XGBoost 算法必需或最常用的超参数子集。这些是由用户设置的参数,以便于从数据中评估模型参数。

参数名称

描述

num_class

类的数量。如果设置objective为 m ulti-softmax 或 mu lti-softprob 则为@@ 必填项。有效值:整数

num_round

运行训练的轮数。必填有效值:整数

alpha

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

base_score

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

booster

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

colsample_bylevel

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

colsample_bynode

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

colsample_bytree

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

csv_weights

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

deterministic_histogram

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

early_stopping_rounds

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

eta

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

不是所有的算法都需要走自动超参数调优,需要权衡模型性能(就是指模型效果)与成本。一般来说,对于深度学习模型或者海量数据集的情况下可能做自动超参数调优的时间代价和成本代价太大。因此在实际的 ML 项目中,用户很少对深度学习模型或者海量数据集做自动超参数调优;对于传统的机器学习模型并且在数据集不大的情况下,可以考虑用自动超参数调优来找到可能的最优解。

三、总结

本次的整体使用过程比较愉快,总的来说Amazon SageMaker的使用比较符合大众习惯,框架设计也很简洁,可读性好,类层次清晰,能够把使用者的关注点更集中在训练脚本本身。

而且,Amazon SageMaker针对当前机器学习应用瓶颈做了很多针对性的提升,比如大数据量的监督训练,Amazon SageMaker则采用完全托管的服务模式;训练时间及资源消耗上,Amazon SageMaker则是秉持工具善其事,必先利其器的理念,在训练之前的数据标记上提供了多种方式及算法,让标记数据的准确性大大提高,从而省去重复训练调参等时间;工程实现上,Amazon SageMaker在模型开发全流程上都提供了相应的功能帮助算法工程师们专注于业务和模型本身,提高开发效率。它是基于 container 的设计,相比于业界比较流行的Kubernetes来说,减少了软件依赖和复杂度。相信Amazon SageMaker的落地,将会为更多的企业插上翅膀,让机器学习无处不在,让创新迈入新的时代。

亚马逊最近也在开展相关的活动,给小伙伴们提供了云上探索实验室,大家通过云上探索实验室,可以学习实践云上技术,同时将自己的技术心得分享给其他小伙伴。

云上探索实验室出现的意义就是让广大开发者能够一同创造分享,互助启发,玩转云上技术。所以说,云上探索实验室不仅是体验的空间,更是分享的平台。如果有有兴趣快点击活动链接试试吧:点我访问文章来源地址https://www.toymoban.com/news/detail-405528.html

Amazon SageMaker测评分享,效果超出预期

到了这里,关于Amazon SageMaker测评分享,效果超出预期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Amazon SageMaker简直就是机器学习平台的天花板

    最近参与了亚马逊云科技【云上探索实验】活动,通过Amazon SageMaker基于Stable Diffusion模型,非常简单快速搭建的第一个AIGC,一开始以为非常复杂,不懂动手操作,但实际上操作非常简单,没有想象中的恐怖,整体体验非常愉快,我先对Amazon SageMaker简单介绍,然后对基于Stabl

    2023年04月09日
    浏览(51)
  • Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

    如果我们的 计算机视觉 系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像 。 文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像 。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈向工业应用的广阔天地。随着下

    2024年04月09日
    浏览(44)
  • 腾讯第二季度财报未超出预期,否认出售美团,戏耍消费者接盘?

    总收入为1340亿元人民币(200亿美元),略低于1346亿元人民币的平均估计,同比下降3%。 公司股东应占利润186.2亿元,低于预期的252.8亿元,同比下降56%。其净利润已连续几个季度下降。 2022年第二季度,包括游戏和社交网络在内的增值服务部门收入为717亿元,同比下降0.5%。

    2024年01月19日
    浏览(44)
  • 【小白】使用 Amazon SageMaker 构建机器学习应用【附全程部署视频】

    全程部署视频看这里,原视频30分钟左右为了观看体验剪掉了等待时间: 小白使用Amazon SageMaker 构建机器学习应用 Amazon SageMaker: https://aws.amazon.com/cn/sagemaker/ 输入名称、选择实例类型、配置磁盘大小,具体如下图 创建新角色,选择任意S3存储桶,点击创建角色 配置VPC网络,选

    2023年04月18日
    浏览(47)
  • 20分钟,使用Amazon SageMaker快速搭建属于自己的AIGC应用

    真火! 作为最近一段时间人工智能领域内的顶流之一,AIGC(AI-Generated Content)早已火爆出圈,频登各大互联网平台热搜。 cite: 微软亚洲研究院官方微博 这段时间以来,基于深度学习的内容生成在图像、视频、语音、音乐、文本等生成领域都取得了令人瞩目的成果,也越来越

    2023年04月15日
    浏览(67)
  • 基于Amazon SageMaker平台部署Stable Diffusion模型实现——图片识别

    当谈到机器学习和人工智能的开发和部署时,Amazon SageMaker是一个非常强大和全面的平台。作为一项托管式的机器学习服务,Amazon SageMaker提供了一套完整的工具和功能,帮助开发者轻松构建、训练和部署机器学习模型。 首先,让我们谈谈我对Amazon SageMaker的看法。我认为它是一

    2024年02月09日
    浏览(40)
  • Stable Diffusion复现——基于 Amazon SageMaker 搭建文本生成图像模型

    众所周知, Stable Diffusion扩散模型的训练和推理非常消耗显卡资源 ,我之前也是因为资源原因一直没有复现成功。 而最近我在网上搜索发现,亚马逊云科技最近推出了一个 【云上探索实验室】 刚好有复现Stable Diffusion的活动,其使用 亚马逊AWS提供的Amazon SageMaker机器学习平台

    2023年04月09日
    浏览(40)
  • Amazon SageMaker:搭建企业级AI模型的完整解决方案

    人工智能仍处于科技浪潮之巅… 随着智能芯片、大数据和云计算的发展,深度学习技术得到进一步升级。以 ChatGPT 为首的AIGC技术大放异彩:AI绘画、AI作曲、AI编程、AI写作…一系列AI产品赋能生产;边缘计算、联邦学习、多智能体等技术逐渐从学术界走向工业界,提高生产效

    2023年04月15日
    浏览(49)
  • 使用Amazon SageMaker构建高质量AI作画模型Stable Diffusion

    近来,随着新一代 AI 大型聊天机器人 ChatGPT 火遍科技圈,人工智能生成内容( Artificial Intelligence Generated Content , AIGC )这一领域开始受到学术界、工业界甚至普通用户的广泛关注。 AIGC 凭借其独特的“创造力”与人类无法企及的创作生成速度掀起了一股人工智能狂潮。但是,利

    2023年04月14日
    浏览(58)
  • 通过 Amazon SageMaker JumpStart 部署 Llama 2 快速构建专属 LLM 应用

    来自 Meta 的 Llama 2 基础模型现已在 Amazon SageMaker JumpStart 中提供。我们可以通过使用 Amazon SageMaker JumpStart 快速部署 Llama 2 模型,并且结合开源 UI 工具 Gradio 打造专属 LLM 应用。 Llama 2 简介 Llama 2 是使用优化的 Transformer 架构的自回归语言模型,  旨在用于英文领域的商业和研究用

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包