什么是Amazon SageMaker及实践体验
亚马逊云服务免费体验中心SageMaker 是一项完全托管的服务,可通过完全托管的基础设施、工具和工作流程为任何应用场景准备数据并构建、训练和部署机器学习(ML)模型。总的来说,这次亚马逊云的体验还是不错的,特别是优惠力度很大。目前来说亚马逊云服务免费体验中心提供100余种云产品和服务,对于广大开发者来说是一件好事,大家可以多多体验。
目录
前言
亚马逊云服务免费体验中心
最近亚马逊云服务提供了超多免费的云服务,快来领取免费套餐:亚马逊云服务免费体验中心
三种优惠类型
目前,AWS Free Tier 提供 100 多种 AWS 产品。根据所使用的产品,有三种不同类型的免费优惠可供选择。
现在就立即去亚马逊云服务免费体验中心,选择你的免费云产品和服务吧
Amazon SageMaker
什么是Amazon SageMaker
SageMaker 是一项完全托管的服务,可通过完全托管的基础设施、工具和工作流程为任何应用场景准备数据并构建、训练和部署机器学习(ML)模型。
适合人群
业务分析师
通过无代码界面,您可以创建高度准确的机器学习模型,无需任何机器学习经验,也无需编写任何代码。您可以通过 SageMaker Canvas 访问即用型模型,包括来自 Amazon Bedrock 或 Amazon SageMaker JumpStart 的基础模型,也可以构建自己的自定义 ML 模型。借助 SageMaker Canvas,您可以轻松访问和导入来自 50 多个来源的数据、使用自然语言和 300 多种内置转换准备数据、构建和训练高度准确的模型,生成预测并将模型部署到生产环境。
-
即用型模型
- 基础模型:SageMaker Canvas 提供对 Claude 2、Amazon Titan 和 Jurassic-2(由 Amazon Bedrock 提供支持)即用型基础模型(FM)以及 Falcon 和 MPT(由 SageMaker JumpStart 提供支持)等公开可用的 FM 的访问。
- 表模型、简历模型和 NLP 模型:SageMaker Canvas 提供对由 AWS AI 服务(包括 Amazon Rekognition、Amazon Textract 和 Amazon Comprehend)支持的即用型表模型、NLP 模型和简历模型的访问。
-
自定义模型
- 数据准备:SageMaker Canvas 通过点击式或自然语言 UI 提供无代码数据探索和准备。
- 构建模型:SageMaker Canvas 使用 Amazon 的 AutoML 构建在您的数据集上训练的自定义模型。
- 评估模型:SageMaker Canvas 通过常见的评估指标和视觉效果帮助您了解模型性能。
- 使用模型:您可以在 SageMaker Canvas UI 中生成预测或部署到 SageMaker 端点。
数据科学家
Amazon SageMaker Studio 提供多种专门构建的工具来执行所有机器学习(ML)开发步骤,从准备数据到构建、训练、部署和管理机器学习模型。您可以使用首选 IDE 快速上传数据并构建模型。简化机器学习团队协作,使用人工智能驱动型编程辅助工具高效编码,调整和调试模型,在生产环境中部署和管理模型,实现工作流程自动化,所有这些都在一个统一的 Web 界面中完成。
工作原理
ML 工程师
Amazon SageMaker 提供专为机器学习操作(MLOps)构建的工具,以帮助您自动化和标准化机器学习生命周期内的流程。使用 SageMaker MLOps 工具,您可以轻松且大规模地对机器学习模型进行训练、测试、问题排查、部署和治理,从而提高数据科学家和机器学习工程师的生产力,同时保持生产中的模型性能。
工作原理:Amazon SageMaker MLOps
业务分析师
使用 SageMaker Canvas 的可视化界面进行 ML 预测
实践
先决条件
需要一个 AWS 账户:如果还没有账户,可以遵循设置 AWS 环境入门指南中的说明获取快速概览。这里就不做赘述了。
在不编写代码的情况下生成机器学习预测
这里我们以在不编写代码的情况下生成机器学习预测,来实践学习一下Amazon SageMaker如何使用的。构建可预测货物预计抵达时间(ETA,以天为单位)的 ML 模型。使用包含完整的交付产品装运数据的数据集,其中包括预计时间、装运、优先级、货运商和起运地。
导入数据集
设置 Amazon SageMaker Studio 域
一个 AWS 账户在一个 AWS 区域只能有一个 SageMaker Studio 域。
- 选择 AWS CloudFormation 堆栈链接。
- 创建你的SageMaker Studio 域和名为 studio-user 的用户。
- 堆栈名称应为 CFN-SM-IM-Lambda-Catalog,且不应更改。此堆栈需要花费 10 分钟左右才能创建所有资源。
登录 SageMaker Canvas 并上传数据集到 Amazon S3 桶
- 在 AWS 管理控制台的搜索栏中输入 SageMaker Canvas 并转至 SageMaker Canvas。
- 在 SageMaker Canvas 页面上,选择 Launch SageMaker Canvas(启动 SageMaker Canvas)
- 选择 studio-user 旁 Launch app(启动应用程序)下拉列表中的 Canvas。
如果是首次在 US-East 1 中使用 SageMaker,SageMaker Canvas 将以采用以下格式的名称创建一个 Amazon S3 桶:sagemaker--。
4. 在 AWS 管理控制台搜索栏中,输入 S3,然后选择 S3。
- 在 Buckets(桶)部分的下方找到 SageMaker Canvas 为你创建的默认桶。选择名为 sagemaker-- 的桶,然后在下一页上选择 Upload(上传)。
- 在 Upload(上传)页面上,选择 Add files(添加文件),然后选择你的两个数据集。滚动到页面底部,然后选择 Upload(上传)。SageMaker Canvas 将在构建模型前访问这些文件。
自动构建模型
导入数据集到 SageMaker Canvas
-
在 SageMaker Canvas 界面上,选择左侧窗格中的 Datasets(数据集),然后选择 + Import(+ 导入)。
-
选择名为 sagemaker-- 的 Amazon S3 桶。勾选其左侧的复选框以选择 shipping_logs.csv 和 product_descriptions.csv 数据集。页面底部将出现两个新按钮:Preview all(预览全部)和 Import data(导入数据)。选择 Preview all(预览全部)。可以查看数据集的 100 行预览。
-
在勾选数据集后,选择 Import data(导入数据),导入到 SageMaker Canvas。
-
可以看到两个导入的数据集。选择 Join data(合并数据)。
-
在 Join Datasets(合并数据集)页面上,将两个数据集从左侧窗格拖动到右侧窗格。选择两个数据集之间的 join icon(合并图标)。显示有关合并详细信息的弹出提示将会消失。确保合并类型为 Inner,合并列为 ProductId。选择 Save & close(保存并关闭),然后选择 Import data(导入数据)。
-
在 Import data(导入数据)对话框中,输入名称 ConsolidatedShippingData 到 Import dataset name(导入数据集名称)字段,然后选择 Import data(导入数据)。
构建、训练与分析 ML 模型
-
在 SageMaker Canvas 用户界面中,选择 Models(模型),然后选择 + New model(+ 新模型)。在 Create new model(创建新模型)对话框中,输入 ShippingForecast 到 Model name(模型名称)字段,然后选择 Create(创建)。
-
在 Select(选择)选项卡中,选择 ConsolidatedShippingData 数据集的单选按钮,该数据集由上一步创建。此数据集包含 16 列和 10000 行。它还包含有关数据集形状和大小的概要描述。选择 Select dataset(选择数据集)。
-
在选择数据集以后,SageMaker Canvas 会自动移动到 Build(构建)阶段。在此选项卡中,选择目标列,此示例中为 ActualShippingDays。由于此列包含货物抵达所需的历史天数,因此它非常适合被用作目标列。
-
在选择目标列后,SageMaker Canvas 会自动尝试推理问题类型。因为您想知道客户需要多少天才能收到货物,而这是一个回归或数字预测问题。回归会基于一或多项与之关联的其他变量或属性来估算从属目标变量的值。在此例中,SageMaker Canvas 最初可能预测该使用案例为时间序列预测类型问题,因为它在数据集中检测到日期列。不过,可以使用页面中央的 Change type(更改类型)链接手动选择,以便将问题类型更改为数字模型类型。
- 注意到 SageMaker Canvas 会提供数据集统计数据,包括数据集每一列的缺失和不匹配的值、唯一值,以及平均值和中值。可以使用这些统计数据来删除部分列。不想将特定列用于预测,可以从左侧复选框中将其清除(取消勾选)
- 注意 XShippingDistance 和 YShippingDistance 列与目标之间的相关性可忽略不计。
- 由于与目标之间相关性可忽略不计的特征无法为当前预测任务提供足够信息,可以删除 XShippingDistance, YShippingDistance、ProductID 和 OrderID 列,因为它们是主键,而且预计不会包含任何重要信息。您可以取消勾选复选框。
- 可以选择纵栏图标,以检查列的分布。它非常适用于突出显示数据中存在的不平衡和潜在偏差。
- 在完成数据探查后,可以对模型进行训练。SageMaker Canvas 中有两种训练方法: 快速构建和 标准构建。快速构建一般需要 2-15 分钟才能构建模型,而标准构建则一般需要 2-4 个小时,但准确率通常更高。为优先考虑速度,快速构建会训练较少的模型和超参数组合。
我们选择快速构建来开始构建模型。此流程只需不到 5 分钟即可完成。
- 在模型构建完成以后,SageMaker Canvas 会自动切换到 Analyze(分析)选项卡,以显示快速训练结果。采用快速构建构建的 SageMaker Canvas 模型所预测的运输天数可在实际值的 +/-1.2333 范围以内。机器学习在训练模型的过程中引入一些随机性,不同的构建方式因此会产生不同的结果。
- 在 Overview(概览)选项卡下方,SageMaker Canvas 会显示列影响或每个输入列在预测目标列中的预计重要性。在这个例子中,ExpectedShippingDays 列对运输天数预测的影响最大。在右侧窗格中,还可以看到某特征的影响方向。例如,ExpectedShippingDays 的值更高,它对运输天数预测的影响越正面。
- 在 Scoring(得分)选项卡下方,可以看到代表 ActualshippingDays 最佳拟合回归直线的图形。平均而论,模型预测与 ActualShippingDays 的实际值有 +/- 1.2333 的差异。数字预测的 Scoring(得分)部分显示一条直线,表明与用于做出预测的数据有关的模型的预测值。数字预测的值通常为 +/- RMSE(均方根误差)值。模型预测的值一般都在 RMSE 的范围以内。直线四周的紫色区段的宽度为 RMSE 范围。预测值通常落在该范围之内。要更深入了解模型性能,选择右侧的 Advanced metrics(高级指标)链接,以显示 Advanced metrics(高级指标)页面。
生成模型预测
现在有了回归模型,可以使用该模型运行预测,或者也可以创建该模型的新版本,并使用标准构建流程进行训练。在这一步中,我们要使用 SageMaker Canvas 对数据集生成单个和批量预测。
-
选择 Analyze(分析)页面底部的 Predict(预测)按钮,或选择 Predict(预测)选项卡。在 Predict(预测)页面上,Batch prediction(批量预测)已被选中。选择 Select dataset(选择数据集),然后选择 ConsolidatedShippingData 数据集。在实际 ML 工作流中,此数据集应与训练数据集分离。但为简单起见,您可以使用相同数据集来演示 SageMaker Canvas 如何生成预测。选择 Generate predictions(生成预测)。
-
在几秒后,预测完成。选择 options icon(选项图标)并选择 preview(预览),用鼠标悬停在预测数据集名称或状态上方以查看预测预览。您还可以选择 Download(下载),以下载包含完整输出的 CSV 文件。SageMaker Canvas 会为每行数据返回预览。在本教程中,重要性最高的特征为 ExpectedShippingDays 特征。它也会被显示在预测旁,以方便肉眼比较。
-
在 Predict(预测)页面上,您可以通过选择 Single prediction(单个预测)为单个样本生成预测。SageMaker Canvas 会显示一个界面,您可以在其中为模型中使用的每个输入变量手动输入值。此类型分析适用于假设情景,即,您想知道一或多项变量的值增大或减小时,预测会发生怎样的变化。借助一组列值的预测,SageMaker Canvas 可提供单项特征的重要性。它是对当前样本预测具有最大影响力的列。
4. 在模型构建流程以后,SageMaker Canvas 会上传所有构件(包括被另存为 Pickle 文件的经过训练的模型、指标、数据集和预测)到 Canvas/studio-user 位置下方的默认 S3 桶。可以检查内容,并视需要将其用于进一步开发。
清除 AWS 资源
最佳实践是删除我们不再使用的资源,以免产生意外费用。
限时- Amazon SageMaker 提供灵活的免费套餐
Amazon SageMaker - 免费试用两个月,快来认领
面向所有数据科学家和开发人员的机器学习服务。
-
Studio 笔记本上每月 250 个小时的 ml.t3.medium,或者按需笔记本实例上每月 250 个小时的 ml.t2 medium 或 ml.t3.medium
-
SageMaker Data Wrangler 上每月 25 个小时的 ml.m5.4xlarge
-
SageMaker 特征存放区上每月 1000 万写入单位、1000 万读取单位、25GB 存储
-
训练方面每月 50 个小时的 m4.xlarge 或 m5.xlarge 实例
-
推理方面每月 125 个小时的 m4.xlarge 或 m5.xlarge 实例
总结
总的来说,这次亚马逊云Amazon SageMaker 的体验还是不错的,特别是优惠力度很大。
目前来说 亚马逊云服务免费体验中心提供100余种云产品和服务,对于广大开发者来说是一件好事,大家可以多多体验。
附录
更多推荐
所有评论(0)