Amazon SageMaker 测评

re:Invent
Amazon Simple Storage Service (S3)
Amazon SageMaker
大语言模型
0
0
### **1 前言** 在2023亚马逊云科技 re:Invent上,发布了 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) 的五项新功能,旨在加速构建、训练和部署大型[语言模型](https://so.csdn.net/so/search?q=%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B&spm=1001.2101.3001.7020?trk=cndc-detail)和其他基础模型,以帮助用户更快地进行模型开发和应用部署,提供更强大的工具和资源。对于该产品的新功能,我进行了实际体验,在下文会详细讲述体验内容及感受。 打开亚马逊云科技的网站,搜索一下 `Amazon SageMaker` 就能直接进入这个功能的主页面了。作为第一次使用这个功能的新手,参考的文档是官方给出的教程,如下图1-1所示,我选择的是无代码:ML,即在不编写代码的情况下生成[机器学习预测](https://so.csdn.net/so/search?q=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%A2%84%E6%B5%8B&spm=1001.2101.3001.7020?trk=cndc-detail)。教程很详细,给出了每一步的步骤并截屏,但是有一些功能截图与操作与实际界面不太符合,后续会详细说明,接下来我就从构建域开始体验这个功能并给出我的一些感受。 ![image.png](https://dev-media.amazoncloud.cn/6159bd4dfecd4aa991fbd84089e0f644_image.png "image.png") ### **2 功能体验** #### 2.1 构建域 构建域这边忘记截屏了,但是在进入主界面后右边有个非常醒目的“配置个人域”可以选择,并且其按钮是黄色的,视觉上一眼就能看到,入门也比较简单,在点击这个按钮后就会自动构建 `SageMaker` 域(如图2-1),大约等了十分钟左右就构建完成可以进行导入数据等下一步操作。 ![image.png](https://dev-media.amazoncloud.cn/4f53ee1d8b594c74b3c63c56df91e611_image.png "image.png") #### 2.2 上传数据集 构建完成后搜索 `SageMaker Canvas` 进入主页面后,点击图3-1位置处的按钮 `"Launch SageMaker Canvas"` 就能自动构建 `SageMaker Canvas`。 ![image.png](https://dev-media.amazoncloud.cn/701840da52374130a2be1b2a1db9d6b3_image.png "image.png") 如图3-2,就是正在构建中,大约等15分钟左右就能进入主页面了(图3-3)。 ![image.png](https://dev-media.amazoncloud.cn/7ddd04883d9e4ed49b3905c44a9fe866_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/b37eda79534b4ee899abdcee2df71662_image.png "image.png") 按照教程,接下来就是上传数据后构建、训练与分析 ML 模型,这里我就选择下载官方教程中的两个数据 `product_descriptions` 和 `shipping_logs` 后搜索进入 S3 控制台后进入 `SageMaker Canvas` 创建的默认桶,并上传刚刚下载的数据(图3-4)。 ![image.png](https://dev-media.amazoncloud.cn/66fa718ca2d2428dbf0cc61979f15b80_image.png "image.png") 图3-5和图3-6分别代表是上传中和上传成功的截图,这样数据集就可以在后续操作中被访问到。上传数据响应速度也很快,即使数据量比较大也没有等待很久才能上传成功。 ![image.png](https://dev-media.amazoncloud.cn/472e2c78df514091ad5626e90a4d01ea_image.png "image.png") #### 2.3 设置 SageMaker Canvas 接下来就是和官方操作手册有一些些不同之处了。当重新打开 `canvas` 准备设置 `SageMaker Canvas` 时,在操作手册中是这么写的:“在 `SageMaker Canvas` 界面上,选择左侧窗格中的 `Datasets`(数据集),然后选择 + `Import`(+ 导入)”但是在打开页面后,左侧窗格并没有找到 `Datasets`,所以我选择了` Data Wrangler`(如图4-1)并选择其中的 `Datasets` 页面,准备将数据导入,但是在我的页面上没有`"Import"`按钮,只有`"Create"`按钮(如图4-2)点击按钮后,由于我下载的数据是 `.csv` 格式的,所以我选择新建 `Tabular`,因为在 `Tabular` 下方有提示 `CSV`。 ![image.png](https://dev-media.amazoncloud.cn/a2d7984e028f461f8bc659c7519f66ad_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/4b74a7c35f4f4040ac7f41d6998d4c47_image.png "image.png") 然后按照操作手册,在 `Data Source` 中选择 `Amazon S3`(图4-3),再选择前面包含上传数据的文件夹(图4-4)找到数据后即可上传,其操作简单,提示也很清晰,根据操作手册可以很轻松的完成这个步骤。 ![image.png](https://dev-media.amazoncloud.cn/6aaed3344bf44a9e81c1c5525ac55c1a_image.png "image.png") 按照操作步骤应该是选择这两个下载好的数据集一起导入,但是提示列数不相同,无法导入(图4-5),不知道是不是升级了一下功能所以有些限制,所以我就回到了 `Data Wrangler` 页面,直接选择了官方给出的数据集进行合并。 ![image.png](https://dev-media.amazoncloud.cn/87feb46f281d4b92a14abc9c53aff80c_image.png "image.png") 按照教程,在合并页面首先选择` canvas-sample-shipping-logs.csv` 这个数据,并拖拽到右边的操作台上,点击这个文件,可以看到如图所示,每一列都进行了可视化操作,对每列的数据进行统计,并画出了分布图,将鼠标移动到每列蓝色的数据条上还能展现其具体数值(图4-6至图4-9),感官上来说可以更直观的对一个大批量的数据有个了解,在其它产品中暂时还没有类似的功能,感觉很新颖也很有价值。 ![image.png](https://dev-media.amazoncloud.cn/e636f526d262438ea69a6f18f989ea3a_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/b657837a51144de2bf7f3834faae67b5_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/e4692b6cac6f48359536027410375419_image.png "image.png") 然后选择内连接,`ProctedId` 作为合并列,但是依然没有成功,错误信息如下图4-9所示。 ![image.png](https://dev-media.amazoncloud.cn/3227294d16084e69b58b80d571c6739a_image.png "image.png") 于是我选择将 `product_descriptions.csv` 导入数据集 `product_descriptions`,将 `shipping_logs.csv` 导入数据集 `shipping_logs`,再将这两个数据集进行合并,依然报错,报错信息(图4-10)。 ![image.png](https://dev-media.amazoncloud.cn/a545ede302ea43438e68580071a158ab_image.png "image.png") 由于报错提示是无法预览合并的数据,于是我直接忽略这个报错,点击左下角的 `Import data`,然后保存为 `ConsolidatedShippingData`(由于之前试验过了两次,所以这里自动帮我后面加了(2)区分)(图4-11)。 ![image.png](https://dev-media.amazoncloud.cn/5fcb82ab25054a4f9320932225d17df9_image.png "image.png") #### 2.4 构建、训练与分析 ML 模型 ```js 接下来就是构建、训练与分析 ML 模型了,同样,与操作手册不同的是,在左侧页面中没有找到"Models"窗格,但由于要新增一个模型,所以我选择左侧窗格中的"My models"后点击新建模型按钮(图5-1)。 ``` ![image.png](https://dev-media.amazoncloud.cn/ece4709fa85949e6ace5719aec1603df_image.png "image.png") 选择新建模型后跳出的界面是可以选择模型类型,不同的问题需要用不同的模型去解决分析,这里可以看到有四种类型的问题:`预测分析`、`图片分析`、`文本分析` 以及 `微调基础模型`。(图5-2)这是我觉得这个功能最大的亮点,在后续的评价章节中会详细讲述原因。这里选择第一个:预测分析,然后点击创建。 ![image.png](https://dev-media.amazoncloud.cn/a06ecc6ef50b4301a9b2385f86c910aa_image.png "image.png") 第一步 设置输入数据(Select),选择刚刚合并的数据集(图5-3)后选择 `Select dataset` 进入下一步骤:`Build`。 ![image.png](https://dev-media.amazoncloud.cn/03f0538136074536b16c481aa71b0ae9_image.png "image.png") 第二步 构建模型(Build)中,可以选择目标列,也就是选择我们需要预测的数据,这里选择 `ActualShippingDays` 字段,即预测货物到达目的地所用的时间(图5-4)。由于SageMaker Canvas 会自动尝试推理问题类型(图5-5),所以他会在检测到时间后将该问题推理为时间序列预测类型问题,但客户想知道的是所需时间,是一个具体的数字,因此在点击 `Configue model` 后可以在`"Model type"`中选择我们需要的类型,如果不知道具体选择哪个类型,在`"Model type"`中也有相对应的提示,举例说明该类型要解决的具体问题是什么,以供我们更加准确的选择模型,对新手来说很方便也很友好。 ![image.png](https://dev-media.amazoncloud.cn/9ab346f33b2e4142b4222938dd38e91f_image.png "image.png") 同时我们可以去掉一些不相关的字段,然后就可以选择构建模型了,这里有两种可选:`Quick Build(快速构建)`和 `Standard Build(标准构建)`以满足不同的需求(图5-6)。如果想大致预测一下的话就可以选择快速构建,15分钟内就可以构建出一个模型,如果想要精准预测就可以选择标准构建,提供更加准确的模型。这个分类可以满足不同的需求,也是这个功能中的一个特别之处。 ![image.png](https://dev-media.amazoncloud.cn/106a10e7bd484f1f8ecfc25bbefd1fc3_image.png "image.png") 等待大约7-8分钟就有结果,其中有三个页面:预览 Overview(图5-7、图5-8),得分 Score(图5-9),高级指标(图5-10、图5-11)。在预览页面,`SageMaker Canvas` 会显示列影响或每个输入列在预测目标列中的预计重要性,即左侧的字段及其百分比。 ![image.png](https://dev-media.amazoncloud.cn/388f36a2d901418893749522213a7873_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/1dbe242ebc9b4b3aadcde7accf287124_image.png "image.png") 在得分页面,可以看到代表 `ActualshippingDays` 最佳拟合回归直线的图形(图5-9)。 ![image.png](https://dev-media.amazoncloud.cn/ba431a7a23244bddb799fe86bf6548e6_image.png "image.png") 在高级指标页面上显示不同的指标,有 R2、平均绝对误差(MAE)、平均绝对百分比误差(MAPE),以及均方根误差(RMSE)(图5-10),还可以看到误差密度图(图5-11)。 ![image.png](https://dev-media.amazoncloud.cn/410e2b6477ba44939ba7051789d07118_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/97f2fe65eea845a099b7d4cb4bb50ba7_image.png "image.png") #### 2.5 生成预测模型 然后点击 Predict 生成预测模型,与操作手册不同的是,这里可以选择 `Automatic`(图6-1)后选择前面合并的数据集(图6-2)可以进行自动预测,或者选择 `Manual` 再导入数据集,也可以生成预测结果(图6-3)。 ![image.png](https://dev-media.amazoncloud.cn/12e6b405f4754d13942c87d31229886d_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/9fecf107ddb54e70844059022325def9_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/14436e55029b4a8abfd6180de30b3713_image.png "image.png") ### **3 评价及建议** 在使 `Amazon SageMaker` 从零开始,预测数据的过程中,让我感觉非常的简便,即使是第一次接触,跟着操作手册一步一步也能完成预测,同时对于没有[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)背景的用户来说非常友好,因为在很多操作按钮以及选项下都有提示字样,让用户在使用的适合不会非常茫然,同时操作界面非常清晰,页面转跳也很快。 在功能方面,上文提到在选择创建模型的类型时,有一个选项是微调基础模型,我觉得这是这个产品最大的亮点,因为大模型训练使用的都是其它数据进行预测,如果我作为一个企业的负责人,企业内有很好的数据能够进行训练,那么微调基础模型可以提升其预测的准确度,更符合我们的期望值。 另一个产品的亮点是其在构建模型时,会给出一栏:`Correlation to target`,能够通过这个数值来判断这个字段对该模型的影响程度,以它给出的解释,如果该值为负数,那么这个字段就是对模型有消极影响,也可以理解为对预测模型没有什么帮助的字段,那么我们就可以通过这个字段的值去取消勾选一些字段,降低预测时间,提高效率(图7-1)。 在使用过程中,也发现了一些小瑕疵:比如功能栏的宽度是固定的,有时页面上的图片无法完整显示只能通过缩放页面来使其完整展示,另一处就是如果该产品支持自定义底色就更好了,这样浏览器页面是暗黑系的适合,界面会变得更加清晰。 ***总体来说是一个非常高效,对新手非常友好的产品,即使不写代码也能通过可视化界面进行[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)预测。*** ![image.png](https://dev-media.amazoncloud.cn/3bf18886e1e143b29077c7b84deb27d7_image.png "image.png")
0
目录
关闭