实战体验 Amazon SageMaker 机器学习

在这里插入图片描述

(声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区、知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)

文章目录

    • Amazon SageMaker 原理
      • 生成示例数据
      • 训练模型
      • 部署模型
    • 实战机器学习
      • 注册账号
      • Studio Lab 项目
      • 项目预览
      • 查看环境
      • 核心代码
      • 计算实例类型
      • CPU 和 GPU
    • 总结

近日,亚马逊云科技在re:Invent 2023会议现场发布了 Amazon SageMaker 的五项新功能,旨在加速构建、训练和部署大型语言模型和其他基础模型。这些新功能将帮助用户更快地进行模型开发和应用部署,提供更强大的工具和资源。本篇文章将为大家介绍 Amazon SageMaker 的工作原理,以及实战使用 Amazon SageMaker 提供的机器学习环境。

Amazon SageMaker 原理

在机器学习中,我们需要训练计算机进行预测或推理。首先,需要使用算法和示例数据来训练模型。然后,将模型集成到应用程序中,以实时、大规模地生成推理。在生产环境中,模型通常会从数百万个示例数据项中学习,并在数百到不到 20 毫秒的时间内生成推论。

下图说明了创建机器学习模型的典型工作流程:

实战体验 Amazon SageMaker 机器学习_第1张图片

生成示例数据

要训练模型,需要示例数据。需要的数据类型取决于你希望模型解决的业务问题。例如,假设你想要创建一个模型来预测给定手写数字输入图像的数字。要训练这样的模型,需要手写数字的示例图像。

获取数据

通常,你可以将一个或多个数据集拉入单个存储库。

清理数据

为了改进模型训练,请检查数据并根据需要清理数据。

准备或转换数据

为了提高性能,可以执行其他数据转换。例如,可以选择组合属性等等。

训练模型

要训练模型,需要算法或预训练的基础模型。您选择的算法取决于许多因素。对于快速、开箱即用的解决方案,也可以使用 SageMaker 提供的算法之一。

训练模型后,可以对其进行评估以确定推论的准确性是否可以接受。可以使用SageMaker Python SDK 通过可用的 IDE 之一向模型发送推理请求,以训练和评估你的模型。

部署模型

传统上,需要重新设计模型,然后再将其与应用程序集成并部署。借助 SageMaker 托管服务,可以独立部署模型,将其与应用程序代码解耦。

了解了基本原理,下面我们就在实际操作中了解这个功能的强大之处吧。

实战机器学习

下面是 SageMaker 提供的机器学习环境。

实战体验 Amazon SageMaker 机器学习_第2张图片

其中有 11 中环境,下面我们选择其中的一个进行实战使用。选择 SageMaker Studio 实验室组件。

实战体验 Amazon SageMaker 机器学习_第3张图片

注册账号

可以注册免费账号,注册也不麻烦只需要填一个邮箱就可以。

实战体验 Amazon SageMaker 机器学习_第4张图片

填写之后,到邮箱中验证账号

实战体验 Amazon SageMaker 机器学习_第5张图片

Studio Lab 项目

登陆成功之后,可以看到 Studio Lab 用户界面中的项目描述。如下图

实战体验 Amazon SageMaker 机器学习_第6张图片

项目中包含了所有文件和文件夹,包括 Jupyter 笔记本。可以完全控制项目中的文件。项目中还包含了基于 JupyterLab 的用户界面。从此界面中,可以与 Jupyter 笔记本进行交互、编辑源代码文件、与 GitHub 集成以及连接到 Amazon S3。

项目预览

打开文件浏览器并显示 Studio Lab 启动器的 Studio Lab 项目。如下图:

实战体验 Amazon SageMaker 机器学习_第7张图片

查看环境

要在 Studio Lab 中查看环境,你可以使用终端或 Jupyter 笔记本电脑。以下命令将适用于 Studio Lab 终端。

打开文件浏览器面板打开 Studio Lab 终端,选择文件浏览器顶部菜单上的加号 (+) 以打开启动器,然后选择终端。在 Studio Lab 终端上,通过运行以下命令列出 conda 环境。

conda env list

此命令输出 conda 环境的列表及其在文件系统中的位置。当你加入 Studio Lab 时,你会自动激活 studiolab conda 环境。以下是列出的环境的示例。

# conda environments: #
           default                  /home/studio-lab-user/.conda/envs/default
           studiolab             *  /home/studio-lab-user/.conda/envs/studiolab
           studiolab-safemode       /opt/amazon/sagemaker/safemode-home/.conda/envs/studiolab-safemode
           base                     /opt/conda

核心代码

在项目中的实验室实例中新增一条状态为 Pending 的数据,稍等一会儿,状态会自动变为 InService,此时改实例为可使用状态。核心代码如下:

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/')

计算实例类型

Amazon SageMaker Studio Lab 项目运行时基于 EC2 实例。如果计算实例的可用性无法得到保证,需要额外的存储或计算资源,考虑切换到 Studio。

CPU 和 GPU

Amazon SageMaker Studio Lab 提供 CPU和 GPU 选择。

CPU

其中 CPU 目的是为了高效处理各种任务,但是它可以同时运行的任务数量受到限制。对于机器学习,建议使用 CPU 来执行计算密集型算法,例如时间序列、预测和表格数据。

CPU 计算类型一次最多可运行 4 小时,24 小时内最多可运行 8 小时。

GPU

GPU 目的是为了同时渲染高分辨率图像和视频。建议使用 GPU 来执行深度学习任务,尤其是 Transformer 和计算机视觉。

GPU 计算类型一次最多 4 小时,24 小时内限制为 4 小时。

SageMaker 提供了 11 种机器学习环境,其中选择了 SageMaker Studio 实验室组件进行实战。读者可以通过注册免费账号,验证后即可登录并体验 Studio Lab 项目。

总结

本文介绍了 Amazon SageMaker 的工作原理和实战使用机器学习环境。机器学习的基本工作流程包括生成示例数据、训练模型和部署模型。

Peter DeSantis 的演讲展示了 Amazon在云计算领域持续创新的决心。Serverless不仅是技术的突破,更是满足企业需求的全新范式。这些创新产品和服务将为开发者和企业带来更大的灵活性、效率和成本效益,为云计算的未来开辟了崭新的道路。

你可能感兴趣的:(实战源码,实战,机器学习,人工智能)