概览
Amazon SageMaker JumpStart 可帮助您快速轻松地开始使用机器学习(ML)。为了快速开始使用,SageMaker JumpStart 会通过用户界面的热门模型中心,使您可以利用预训练的模型访问数百种内置算法。借助 SageMaker Python 开发工具包,您可以从 Model Zoo 中选择预构建的模型,针对自定义数据进行训练,或部署到 SageMaker 端点以用于推理。为了帮助您更轻松地上手,SageMaker JumpStart 为最常见的使用案例提供了一套解决方案,只需单击几下即可轻松部署。这些解决方案是完全可定制的,并展示了 AWS CloudFormation 模板和参考架构的使用,因此可以加快您的 ML 进程。
学习内容
在本指南中,您将:
- 部署 SageMaker JumpStart 预训练模型
- 从 SageMaker JumpStart 利用部署的端点来运行推理
先决条件
在开始学习本指南之前,您需要:
- 一个 AWS 账户:如果您还没有账户,请遵循设置 AWS 环境入门指南中的说明获取快速概览。
AWS 使用经验
新手
完成时间
15 分钟
所需费用
请参阅 SageMaker 定价估算此教程的费用。
需要
您必须登录 AWS 账户。
使用的服务
Amazon SageMaker JumpStart
上次更新日期
2022 年 6 月 28 日
使用案例
在本教程中,您将部署名为 “BERT Based Cased” 的模型,该模型使用 Wikipedia 进行过英语文本的预训练,并且在文本分类使用案例中表现出良好性能。
第 1 步:设置 Amazon SageMaker Studio 域
一个 AWS 账户在一个 AWS 区域只能有一个 SageMaker Studio 域。如果您在美国东部(弗吉尼亚州北部)区域已经有一个 SageMaker Studio 域,请遵照 SageMaker Studio 设置指南将所需的 AWS IAM 策略附加到您的 SageMaker Studio 账户,然后跳过第 1 步,并直接继续第 2 步操作。
如果您没有现有的 SageMaker Studio 域,则继续第 1 步以运行 AWS CloudFormation 模板,从而创建 SageMaker Studio 域并添加本教程剩余部分所需的权限。
选择 AWS CloudFormation 堆栈链接。此链接将打开 AWS CloudFormation 控制台并创建您的 SageMaker Studio 域和名为 studio-user 的用户。它还将添加所需权限到您的 SageMaker Studio 账户。在 CloudFormation 控制台中,确认美国东部(弗吉尼亚州北部)是右上角显示的区域。堆栈名称应为 CFN-SM-IM-Lambda-Catalog,且不应更改。此堆栈需要花费 10 分钟左右才能创建所有资源。
此堆栈假设您已经在账户中设置了一个公有 VPC。如果您没有公有 VPC,请参阅具有单个公有子网的 VPC以了解如何创建公有 VPC。
选择 I acknowledge that AWS CloudFormation might create IAM resources(我确认,AWS CloudFormation 可能创建 IAM 资源),然后选择 Create stack(创建堆栈)。
在 CloudFormation 窗格上,选择 Stacks(堆栈)。创建堆栈时,堆栈状态应从 CREATE_IN_PROGRESS 变为 CREATE_COMPLETE。
在 CloudFormation 控制台搜索栏中输入 SageMaker Studio,然后选择 SageMaker Studio。
从 SageMaker 控制台右上角的 Region(区域)下拉列表中选择 US East (N. Virginia)(美国东部(弗吉尼亚州北部))。对于 Launch app(启动应用程序),选择 Studio 以使用 studio-user 配置文件打开 SageMaker Studio。
第 2 步:创建新的启动器窗口并启动 JumpStart
从了解哪些模型适合哪些使用案例,到如何开始,要开始使用机器学习可能会充满挑战。Amazon SageMaker JumpStart 为最常见的用例提供了一系列解决方案,只需单击几下即可轻松部署并解决该问题。使用预训练的模型和解决方案,您可以在几分钟内部署具有预测能力的端点。
在开始前,您需要通过单击文件窗口视图顶部的 + 图标来打开新的启动器窗口。
在启动器视图的左上角,单击 JumpStart models, algorithms, and solutions(JumpStart 模型、算法和解决方案)按钮。这样做将启动 SageMaker JumpStart,您将看到包含各种精选内容、解决方案、模型、问题类型等内容的新窗口。在本教程中,您将运行 BERT Base Cased Text 预训练模型。
要查找预训练模型,使用右上角的搜索栏,并输入 BERT。此时将显示适用于 BERT 的模型。单击名为 BERT Base Cased Text - Text Classification 的模型。或者,您可以浏览可用的模型,以找到正确的模型。
BERT 模型包括按原样部署预训练模型或对模型进行再训练的选项。在本教程中,您将按原样部署预训练的模型。如果要开始,请单击 Deployment Configuration(部署配置)旁的下拉菜单。接下来,单击下拉菜单 SageMaker hosting instance(SageMaker 托管实例)。您将看到各种实例类型,它们与将被用于托管端点的资源对应。选择 ml.m5.large。第二个框对应的是端点名称。保留默认值,不过要记住,您可以视需要对端点进行重命名。
在下一个名为 Security Settings(安全设置)的下拉菜单上,单击箭头。您可以设置执行角色、VPC 连接和加密。本教程不需要这些步骤,但您要知道有这些选项,而且您可能要为生产部署更改这些选项。单击 Deploy(部署)选项,以开始设置模型端点。
然后,您将看到显示模型部署状态的对话。它是流程的一部分,可能需要 5 到 10 分钟。该对话将发生更改,以显示有关模型类型、任务、端点标识符、端点名称、实例类型、实例数量,以及模型数据位置和流程进度的元数据。在端点部署完成以后,服务状态应更新为 In Service。
第 3 步:使用所提供的演示笔记本来查询新的 JumpStart 端点
在部署模型端点以后,您可以对它运行推理以检索预测。在教程的这个部分,您将运行简短的笔记本来查询在上一步中创建的端点。
在此步骤中,您将使用所提供的演示笔记本来测试端点。单击 Open Notebook(打开笔记本)按钮以打开笔记本。笔记本包含 Python 代码,可被用来通过端点运行两个文本示例并查看模型输出。该模型会预测情绪分数概率和预测的标签。
为了推进笔记本的运行,请按屏幕截图中的说明单击 Play(运行)图标。或者,您也可以按住 Shift 并按 Return(返回)以便在单元格中间移动。预测的标签和关联的概率将在单元格底部被打印出来。
您现在已使用预训练的 BERT Base Cased Text - Text Classification 模型部署模型端点,并在最大程度上减少手动操作。恭喜!
第 4 步:清除您的 AWS 资源
最佳实践是删除您不再使用的资源,以免产生意外费用。
如果您在第 1 步中使用了一个现有的 SageMaker Studio 域,则跳过第 6 步的其余部分,直接进入结论部分。
如果您在第 1 步运行 CloudFormation 模板来创建新的 SageMaker Studio 域,请继续执行以下步骤以删除由 CloudFormation 模板创建的域、用户和资源。
要打开 CloudFormation 控制台,请在 AWS 管理控制台搜索栏中输入 CloudFormation,然后从搜索结果中选择 CloudFormation。
在 CloudFormation 窗格上,选择 Stacks(堆栈)。从 Status(状态)下拉列表中,选择 Active(活动)。在 Stack name(堆栈名称)下方,选择 CFN-SM-IM-Lambda-catalog 以打开堆栈详细信息页面。
在 CFN-SM-IM-Lambda-catalog 堆栈详细信息页面上,选择 Delete(删除)以删除堆栈以及在第 1 步中创建的资源。
结论
后续步骤
训练机器学习模型
标记用于机器学习的训练数据