本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 Amazon SageMaker 笔记本实例
重要
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。需要向资源添加标签的权限,因为 Studio 和 Studio Classic 会自动标记他们创建的任何资源。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供为资源添加标签 SageMaker的权限。
AWS 适用于亚马逊的托管政策 SageMaker授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。
Amazon SageMaker 笔记本实例是运行 Jupyter Notebook 应用程序的 ML 计算实例。 SageMaker 管理创建实例和相关资源。在笔记本实例中使用 Jupyter 笔记本可以:
-
准备和处理数据
-
编写用于训练模型的代码
-
将模型部署到 SageMaker 托管
-
测试或验证您的模型
要创建笔记本实例,请使用 SageMaker 控制台或 CreateNotebookInstance
API。
您选择的笔记本实例类型取决于您使用笔记本实例的方式。确保您的笔记本实例不受内存、CPU 或 IO 的约束。要将数据集加载到 notebook 实例的内存中进行探索或预处理,请为数据集选择具有足够 RAM 内存的实例类型。这需要具有至少 16 GB 内存(.xlarge 或更大)的实例。如果您计划使用笔记本进行计算密集型预处理,我们建议您选择计算优化型实例,例如 c4 或 c5。
使用 SageMaker 笔记本时,最佳做法是使用笔记本实例来编排其他 AWS 服务。例如,您可以使用 notebook 实例来管理大型数据集的处理。为此,请调用 AWS Glue for ETL(提取、转换和加载)服务,或者调用 Amazon EMR,使用 Hadoop 进行映射和数据缩减。您可以使用 AWS 服务作为数据的临时计算或存储形式。
您可以使用 Amazon 简单存储服务存储桶存储和检索您的训练和测试数据。然后,您可以使用 SageMaker 来训练和构建模型。因此,笔记本的实例类型不会影响模型训练和测试的速度。
收到请求后,执行以下 SageMaker 操作:
-
创建网络接口-如果您选择可选的 VPC 配置,则在您的 VPC 中 SageMaker 创建网络接口。它使用您在请求中提供的子网 ID 来确定要在哪个可用区中创建子网。 SageMaker 将您在请求中提供的安全组与子网相关联。有关更多信息,请参阅 将 VPC 中的笔记本实例连接到外部资源。
-
启动 ML 计算实例 — 在 SageMaker VPC 中SageMaker启动 ML 计算实例。 SageMaker 执行允许它管理您的笔记本实例的配置任务。如果您指定了 VPC,则 SageMaker 启用您的 VPC 和笔记本实例之间的流量。
-
为常见的深度学习平台安装 Anaconda 软件包和库 — SageMaker 安装安装程序中包含的所有 Anaconda 软件包。有关更多信息,请参阅 Anaconda 软件包清单
。 SageMaker 还会安装 TensorFlow 和 Apache MXnet 深度学习库。 -
连接 ML 存储卷 — 将 ML 存储卷SageMaker附加到 ML 计算实例。您可以将卷用作工作区来清理训练数据集或临时存储验证、测试或其他数据。以 1 GB 为增量,为卷选择 5 GB 到 16384 GB 之间的任意大小。默认值为 5 GB。ML 存储卷已加密,因此 SageMaker 无法确定卷上的可用空间量。因此,您可以在更新笔记本实例时增加卷大小,但无法减小卷大小。如果要减小正在使用的 ML 存储卷的大小,请创建一个具有所需大小的新笔记本实例。
只有保存在
/home/ec2-user/SageMaker
文件夹中的文件和数据才会在笔记本实例会话之间持续存在。当笔记本实例停止或重新启动时,保存在此目录之外的文件和数据将被覆盖。每个笔记本实例的 /tmp 目录在实例存储中提供至少 10 GB 的存储空间。实例存储是非持久的临时性块级存储。当实例停止或重新启动时, SageMaker 会删除目录的内容。该临时存储是笔记本实例根卷的一部分。如果笔记本实例使用的实例类型支持 NVMe,则客户可以使用该实例类型可用的 NVMe 实例存储卷。对于具有 NVMe 存储卷的实例,所有实例存储卷将在启动时自动连接到该实例。有关实例类型及其关联的 NVMe 存储卷的更多信息,请参阅 Amazon 弹性计算云实例类型详情
。 要使附加的 NVMe 存储卷可用于您的笔记本实例,请完成使实例存储卷在您的实例上可用中的步骤。使用 root 访问权限或使用生命周期配置脚本完成这些步骤。
注意
NVMe 实例存储卷不是永久存储。该存储在实例中的使用寿命很短,每次启动带有此存储的实例时都必须重新配置。
-
复制 Jupyter 笔记本示例 — 这些 Python 代码示例展示了使用不同算法和训练数据集的模型训练和托管练习。
要创建 SageMaker 笔记本实例,请执行以下操作:
-
打开 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/
。 -
选择笔记本实例,然后选择创建笔记本实例。
-
在创建笔记本实例页面上提供以下信息:
-
对于笔记本实例名称,请键入您的笔记本实例的名称。
-
对于笔记本实例类型,请选择适合您的使用案例的实例大小。有关支持的实例类型和配额的列表,请参阅 Amazon S SageMaker ervice Quotas。
-
对于 Elastic In ference,如果您计划从笔记本实例进行推断,请选择要与笔记本实例关联的推理加速器类型。如果您不打算从笔记本实例进行推断,请选择无。有关 Elastic Inference 的信息,请参阅 使用 Amazon SageMaker Elastic Inference (EI) 。
对于平台标识符,选择要在其上创建笔记本实例的平台类型。此平台类型决定了创建笔记本实例的操作系统和 JupyterLab 版本。有关平台标识符类型的信息,请参阅 Amazon Linux 2 笔记本实例。有关 JupyterLab 版本的信息,请参阅JupyterLab 版本控制。
-
(可选)其他配置允许高级用户创建可在您创建或启动实例时运行的 Shell 脚本。此脚本称为生命周期配置脚本,可用于设置笔记本的环境或执行其他功能。有关信息,请参阅 使用 LCC 脚本自定义 SageMaker 笔记本实例。
-
(可选)其他配置还允许您指定附加到笔记本实例的 ML 存储卷的大小,以 GB 为单位。您可以选择介于 5 GB 到 16384 GB 之间的大小,以 1 GB 为增量。您可以使用该卷来清理训练数据集,或临时存储验证或其他数据。
-
(可选)对于 IMDS 最低版本,请从下拉列表中选择一个版本。如果该值设置为 v1,则两个版本都可用于笔记本实例。如果选择了 v2,则笔记本实例只能使用 IMDSv2。有关 IMDSv2 的信息,请参阅使用 IMDSv2。
注意
从 2022 年 10 月 31 日起, SageMaker 笔记本实例的默认最低 IMDS 版本将从 imdsv1 更改为 imdsv2。
从 2023 年 2 月 1 日起,IMDSv1 不再用于创建新的笔记本实例。在此日期之后,您可以创建最低 IMDS 版本为 2 的笔记本实例。
-
对于 IAM 角色,请选择账户中具有访问 SageMaker资源的必要权限的现有 IAM 角色或创建新角色。如果您选择创建新角色,则 SageMaker 会创建一个名为的 IAM 角色
AmazonSageMaker-ExecutionRole-
。 AWS 托管策略YYYYMMDD
THHmmSS
AmazonSageMakerFullAccess
已附加到该角色。该角色提供的权限允许笔记本实例调用 SageMaker 和 Amazon S3。 -
要获得 root 访问权限,要为所有 notebook 实例用户授予 root 访问权限,请选择 “启用”。要删除用户的根访问权限,请选择 “禁用”。如果您授予 root 用户访问权限,则所有 notebook 实例用户都具有管理员权限,并且可以访问和编辑其上的所有文件。
-
(可选)加密密钥允许您使用 AWS Key Management Service (AWS KMS) 密钥,对连接到笔记本实例的 ML 存储卷上的数据进行加密。如果您计划在 ML 存储卷上存储敏感信息,请考虑加密信息。
-
(可选)网络允许您将笔记本实例放在虚拟私有云 (VPC) 中。VPC 可提供额外的安全性,并限制从 VPC 以外的来源访问 VPC 中的资源。有关 VPC 的更多信息,请参阅《Amazon VPC 用户指南》https://docs.aws.amazon.com/vpc/latest/userguide/。
要将笔记本实例添加到 VPC,请执行以下操作:
-
选择 VPC 和SubnetId。
-
对于安全组,请选择您的 VPC 的默认安全组。
-
如果您希望笔记本实例能够访问 Internet,请启用直接 Internet 访问。对于直接 Internet 访问,请选择启用。Internet 访问可能会降低笔记本实例的安全性。有关更多信息,请参阅 将 VPC 中的笔记本实例连接到外部资源。
-
-
(可选)要将 Git 存储库与笔记本实例相关联,请选择一个默认存储库以及最多 3 个额外的存储库。有关更多信息,请参阅 将 Git 存储库与 SageMaker 笔记本实例关联。
-
选择创建笔记本实例。
几分钟后,Amazon 就会 SageMaker 启动一个 ML 计算实例(在本例中为笔记本实例),并向其连接一个 ML 存储卷。笔记本实例有一个预配置的 Jupyter 笔记本服务器和一组 Anaconda 库。有关更多信息,请参阅
CreateNotebookInstance
API。
-
-
在控制台中,当笔记本实例的状态为
InService
时,笔记本实例即可使用。选择笔记本名称旁边的打开 Jupyter 以打开经典 Jupyter 控制面板。注意
为了增强您的 Amazon SageMaker 笔记本实例的安全性,所有区域
域名都已在互联网公共后缀列表 (PSnotebook
.region
.sagemaker.awsL) 中注册。为了进一步提高安全性,我们建议您使用带 __Host-
前缀的 Cookie 来为 SageMaker 笔记本实例的域设置敏感 Cookie。这将有助于保护您的域,防范跨站点请求伪造(CSRF)攻击。有关更多信息,请参阅 m ozilla.org开发者文档网站中的 S et-Cookie 页面。 您可以选择 “打开” JupyterLab 来打开 JupyterLab控制面板。控制面板允许访问您的笔记本实例和包含完整代码演练的示例 SageMaker 笔记本。这些演练展示了如何使用 SageMaker 来执行常见的机器学习任务。有关更多信息,请参阅 示例笔记本。有关更多信息,请参阅 控制对 SageMaker 笔记本实例的 root 访问权限。
有关 Jupyter 笔记本的更多信息,请参阅 Jupyter 笔记本
。