快速上手Amazon SageMaker动手实验室

快速上手Amazon SageMaker动手实验室_第1张图片

最近人工智能爆火啊,前有AIGC后有ChatGPT,ChatGPT倒是可以很简单的体验到,但是AIGC这个似乎需要一点动手能力,而且还要考虑下我们本地的环境了。恰好我最近受邀参加了亚马逊云科技【云上探索实验室】的活动,基于他们的Amazon SageMaker服务来做了以下三个小实验,有包括AIGC,Deepracer还有图像分类,整体流程体验下来比想象中好太多了,即便是一个新手也可以通过Amazon SageMaker来掌握下面三个实验,而且不需要您再考虑基础环境配置了,可以更加专注于业务。那么就让我们来跟着下面的实验手册和演示视频一起来操作吧!

最近我恰好受邀参与了亚马逊云科技[云上探索实验室]活动,利用Amazon SageMaker平台搭建了自己的 AIGC 应用,整个过程只用了不到20分钟

这个动手实验室会通过三个不同类型的实验引导您如何使用Amazon SageMaker,让您感受SageMaker的非凡之处。

  • 使用Amazon SageMaker构建Stable-Diffusion 这个实验会引导您通过Amazon SageMaker NoteBook实例来构建AIGC环境,同时您可以体验到使用提示词来使AI生成图片,在后续环节中还会引导您构建前后端Web应用,让您直接在Web端也可以体验到自己的AIGC
  • 使用Amazon SageMaker加速你的Deepracer小车 这个实验会引导您通过Amazon SageMaker使用开源库来加速您的DeepRacer小车,更加简化您的智能驾驶流程.
  • Amazon SageMaker JumpStart构建图像分类 通过这个实验,会引导您使用Amazon SageMaker JumpStart构建图像分类,JumpStart 支持一键式部署以及对这些模型进行微调,因此您可以在部署前逐步训练和调整模型,在本实验中,您将使用Amazon SageMaker JumpStart 构建图像分类模型,并使用该模型对花卉的图像进行分类.

如果您想获取更多有关Amazon SageMaker的知识,请阅读亚马逊 SageMaker.

一、使用Amazon SageMaker构建Stable-Diffusion

使用Amazon SageMaker构建Stable-Diffusion:https://www.bilibili.com/video/BV1c24y1E7a5

区域: ap-northeast-1(东京)

服务配额

Service-Quota配额控制台:https://ap-northeast-1.console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas
本次实验需要用到GPU实例,如果您使用的是个人账号,请先确认您有ml.g4dn.xlarge的服务配额

快速上手Amazon SageMaker动手实验室_第2张图片

申请提高配额

选中需要提高的服务配额,单击右上角 请求增加配额
快速上手Amazon SageMaker动手实验室_第3张图片

更改配额值为 1
快速上手Amazon SageMaker动手实验室_第4张图片

创建Amazon SageMaker Notebook实例

打开Amazon SageMaker控制台

直达链接:https://ap-northeast-1.console.aws.amazon.com/sagemaker/home?region=ap-northeast-1
快速上手Amazon SageMaker动手实验室_第5张图片

创建Notebook实例

需要滑动左侧的服务框,找到笔记本–>笔记本实例—右上角创建笔记本实例
快速上手Amazon SageMaker动手实验室_第6张图片

设置笔记本实例的名称、选择笔记本实例、以及存储的大小
快速上手Amazon SageMaker动手实验室_第7张图片

对于权限和加密,点击角色下拉框,然后点击 创建新角色
快速上手Amazon SageMaker动手实验室_第8张图片

在本次实验中需要用到S3存储桶来存放模型文件,在此处可以选择任意存储桶或者特定的存储桶
快速上手Amazon SageMaker动手实验室_第9张图片

点击创建笔记本实例
快速上手Amazon SageMaker动手实验室_第10张图片

等待大约4分钟左右,笔记本实例的状态为InService,我们就可以点击JupyterLab进行实验了
快速上手Amazon SageMaker动手实验室_第11张图片

构建Stable-Diffusion环境

**查看Jupyter Lab控制台,选择最下面的 Terminal **
快速上手Amazon SageMaker动手实验室_第12张图片

在此处我们需要下载本次实验的Notebook代码文件

cd SageMaker
wget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/notebook-stable-diffusion-ssh-inference.ipynb

快速上手Amazon SageMaker动手实验室_第13张图片

双击打开刚刚下载的Notebook文件,需要注意我们要选择内核,请选择conda_pytorch_p39
快速上手Amazon SageMaker动手实验室_第14张图片

修改提示词,生成新图片
快速上手Amazon SageMaker动手实验室_第15张图片

利用Amazon Cloud 9 构建前后端Web应用

创建Cloud 9 环境

快速上手Amazon SageMaker动手实验室_第16张图片

根据自己的需求设置名称,选择实例的大小以及实例的系统
快速上手Amazon SageMaker动手实验室_第17张图片

快速上手Amazon SageMaker动手实验室_第18张图片

快速上手Amazon SageMaker动手实验室_第19张图片

构建Web应用

这里步骤就是 下包解压装依赖,服务一跑出图片

wget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/SampleWebApp.zip
unzip SampleWebApp.zip
pip install Flask boto3

等待Web应用运行起来后,开始使用描述词来生成我们的图片
快速上手Amazon SageMaker动手实验室_第20张图片

快速上手Amazon SageMaker动手实验室_第21张图片

清理

请删除对应的Notebook实例,以及推理里面的终端节点

结论

在本次实验中,您可以轻松的通过Amazon SageMaker来完成本次实验,并且您无需动手添加额外代码,为考虑到用户的体验,亚马逊云科技工程师还提供了Web端应用,确实更加方便。

二、使用Amazon SageMaker加速你的Deepracer小车

使用Amazon SageMaker加速你的Deepracer小车:https://www.bilibili.com/video/BV1MN411T77y/

创建Amazon SageMaker NoteBook实例

需要滑动左侧的服务框,找到笔记本–>笔记本实例—右上角创建笔记本实例
快速上手Amazon SageMaker动手实验室_第22张图片

设置笔记本实例的名称、选择笔记本实例、以及存储的大小
快速上手Amazon SageMaker动手实验室_第23张图片
对于权限和加密,点击角色下拉框,然后点击 创建新角色
快速上手Amazon SageMaker动手实验室_第24张图片
快速上手Amazon SageMaker动手实验室_第25张图片

等待实例服务状态为InService即可打开JupyterLab
快速上手Amazon SageMaker动手实验室_第26张图片

运行Notebook实验手册

克隆存储库

cd SageMaker
git clone https://github.com/dgnzlz/Capstone_AWS_DeepRacer.git

快速上手Amazon SageMaker动手实验室_第27张图片

快速上手Amazon SageMaker动手实验室_第28张图片

运行Notebook

快速上手Amazon SageMaker动手实验室_第29张图片
根据自己的需求设置赛道
快速上手Amazon SageMaker动手实验室_第30张图片

查看生成的奖励函数和ActionSpace

快速上手Amazon SageMaker动手实验室_第31张图片

结论

在本次实验中,可以以极低的时间成本完成,无需考虑底层的环境以及线上的一个依赖库,极大的简化了用户的操作流程,同时有免费套餐覆盖本次实验内容,用户无需担心费用问题。

清理

请删除对应的Notebook实例

三、Amazon SageMaker JumpStart构建图像分类

Amazon SageMaker JumpStart构建图像分类:https://www.bilibili.com/video/BV1m24y177VX

启动Amazon SageMaker Studio

创建 域名

快速上手Amazon SageMaker动手实验室_第32张图片

设置域名名称,用户配置文件名称,执行角色
快速上手Amazon SageMaker动手实验室_第33张图片
快速上手Amazon SageMaker动手实验室_第34张图片
等待SageMaker 域创建成功
快速上手Amazon SageMaker动手实验室_第35张图片

部署/微调预训练图像分类模型

进入到MobileNet V2模型页面

快速上手Amazon SageMaker动手实验室_第36张图片
快速上手Amazon SageMaker动手实验室_第37张图片
快速上手Amazon SageMaker动手实验室_第38张图片

训练/部署模型

快速上手Amazon SageMaker动手实验室_第39张图片

训练模型

快速上手Amazon SageMaker动手实验室_第40张图片
快速上手Amazon SageMaker动手实验室_第41张图片

部署模型

确认模型训练完成
快速上手Amazon SageMaker动手实验室_第42张图片

部署模型
快速上手Amazon SageMaker动手实验室_第43张图片

使用微调模型对图像进行分类

快速上手Amazon SageMaker动手实验室_第44张图片
快速上手Amazon SageMaker动手实验室_第45张图片

在第一个代码单元格下方插入一个新单元格以显示示例花卉图像

import boto3
from IPython.core.display import HTML

roses_jpg, sunflowers_jpg, roses2_jpg, sunflowers2_jpg = "roses.jpg", "sunflowers.jpg", "roses2.jpg", "sunflowers2.jpg"
HTML('
roses
roses.jpg
' '
sunflowers
sunflowers.jpg
' '
roses
roses2.jpg
' '
sunflowers
sunflowers2.jpg
' '
'
)

快速上手Amazon SageMaker动手实验室_第46张图片

插入一个新单元格并添加代码以打开图像并将它们加载到内存中

images = {}
with open(roses_jpg, 'rb') as file: images[roses_jpg] = file.read()
with open(sunflowers_jpg, 'rb') as file: images[sunflowers_jpg] = file.read()
with open(roses2_jpg, 'rb') as file: images[roses2_jpg] = file.read()
with open(sunflowers2_jpg, 'rb') as file: images[sunflowers2_jpg] = file.read()

快速上手Amazon SageMaker动手实验室_第47张图片

查看模型是否正确地对玫瑰和向日葵图像进行了分类
快速上手Amazon SageMaker动手实验室_第48张图片

清理

请删除对应的用户配置文件,

结论

在本实验中,您已经部署了预训练图像分类模型来运行推理,然后在新数据集上微调预训练图像分类模型以对不属于预训练数据集的对象进行分类。借助 JumpStart,您无需代码即可完成两个模型的训练和部署

总结

通过本次的Amazon SageMaker Hands-on,即便是新手也可以根据视频和博客的引导,快速的完成本次实验,增加对Amazon SageMaker的一个了解。同时亚马逊云科技官方也考虑到了不同用户的水平以及经济情况,提供了很多的workshop以及一些免费的产品额度,极大的提高了用户使用体验,为用户节省了时间、金钱成本。虽然实验非常简单,但是从整个Amazon SageMaker来看,其提供了非常强大的功能,需要更加专业的实验才可以完整的体验到Amazon SageMaker的强大能力。那么在最后也希望同志们可以更进一步的去了解Amazon SageMaker,比如通过一些亚马逊云科技官方提供的workshop或者研讨会来学习到更多的知识。希望这篇博文能够帮助到您,感谢阅读。

参考资料

  1. 端到端体验AIGC-从SageMaker到Web应用:https://catalog.us-east-1.prod.workshops.aws/workshops/3b86fa89-da3a-4e5f-8e77-b45fb11adf4a/zh-CN

  2. Amazon SageMaker JumpStart:https://catalog.us-east-1.prod.workshops.aws/workshops/63069e26-921c-4ce1-9cc7-dd882ff62575/en-US/lab9

  3. Capstone_AWS_DeepRacer:https://github.com/dgnzlz/Capstone_AWS_DeepRacer

你可能感兴趣的:(机器学习,AWS,人工智能,深度学习,机器学习)