创建 Amazon SageMaker 笔记本实例 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 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 控制台或 CreateNotebookInstanceAPI。

您选择的笔记本实例类型取决于您使用笔记本实例的方式。确保您的笔记本实例不受内存、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 笔记本实例,请执行以下操作:
  1. 打开 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

  2. 选择笔记本实例,然后选择创建笔记本实例

  3. 创建笔记本实例页面上提供以下信息:

    1. 对于笔记本实例名称,请键入您的笔记本实例的名称。

    2. 对于笔记本实例类型,请选择适合您的使用案例的实例大小。有关支持的实例类型和配额的列表,请参阅 Amazon S SageMaker ervice Quotas

    3. 对于 Elastic In ference,如果您计划从笔记本实例进行推断,请选择要与笔记本实例关联的推理加速器类型。如果您不打算从笔记本实例进行推断,请选择。有关 Elastic Inference 的信息,请参阅 使用 Amazon SageMaker Elastic Inference (EI)

    4. 对于平台标识符,选择要在其上创建笔记本实例的平台类型。此平台类型决定了创建笔记本实例的操作系统和 JupyterLab 版本。有关平台标识符类型的信息,请参阅 Amazon Linux 2 笔记本实例。有关 JupyterLab 版本的信息,请参阅JupyterLab 版本控制

    5. (可选)其他配置允许高级用户创建可在您创建或启动实例时运行的 Shell 脚本。此脚本称为生命周期配置脚本,可用于设置笔记本的环境或执行其他功能。有关信息,请参阅 使用 LCC 脚本自定义 SageMaker 笔记本实例

    6. (可选)其他配置还允许您指定附加到笔记本实例的 ML 存储卷的大小,以 GB 为单位。您可以选择介于 5 GB 到 16384 GB 之间的大小,以 1 GB 为增量。您可以使用该卷来清理训练数据集,或临时存储验证或其他数据。

    7. (可选)对于 IMDS 最低版本,请从下拉列表中选择一个版本。如果该值设置为 v1,则两个版本都可用于笔记本实例。如果选择了 v2,则笔记本实例只能使用 IMDSv2。有关 IMDSv2 的信息,请参阅使用 IMDSv2

      注意

      从 2022 年 10 月 31 日起, SageMaker 笔记本实例的默认最低 IMDS 版本将从 imdsv1 更改为 imdsv2。

      从 2023 年 2 月 1 日起,IMDSv1 不再用于创建新的笔记本实例。在此日期之后,您可以创建最低 IMDS 版本为 2 的笔记本实例。

    8. 对于 IAM 角色,请选择账户中具有访问 SageMaker资源的必要权限的现有 IAM 角色或创建新角色。如果您选择创建新角色,则 SageMaker 会创建一个名为的 IAM 角色AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS。 AWS 托管策略AmazonSageMakerFullAccess已附加到该角色。该角色提供的权限允许笔记本实例调用 SageMaker 和 Amazon S3。

    9. 要获得 root 访问权限,要为所有 notebook 实例用户授予 root 访问权限,请选择 “启用”。要删除用户的根访问权限,请选择 “禁用”。如果您授予 root 用户访问权限,则所有 notebook 实例用户都具有管理员权限,并且可以访问和编辑其上的所有文件。

    10. (可选)加密密钥允许您使用 AWS Key Management Service (AWS KMS) 密钥,对连接到笔记本实例的 ML 存储卷上的数据进行加密。如果您计划在 ML 存储卷上存储敏感信息,请考虑加密信息。

    11. (可选)网络允许您将笔记本实例放在虚拟私有云 (VPC) 中。VPC 可提供额外的安全性,并限制从 VPC 以外的来源访问 VPC 中的资源。有关 VPC 的更多信息,请参阅《Amazon VPC 用户指南》https://docs.aws.amazon.com/vpc/latest/userguide/

      要将笔记本实例添加到 VPC,请执行以下操作:

      1. 选择 VPCSubnetId

      2. 对于安全组,请选择您的 VPC 的默认安全组。

      3. 如果您希望笔记本实例能够访问 Internet,请启用直接 Internet 访问。对于直接 Internet 访问,请选择启用。Internet 访问可能会降低笔记本实例的安全性。有关更多信息,请参阅 将 VPC 中的笔记本实例连接到外部资源

    12. (可选)要将 Git 存储库与笔记本实例相关联,请选择一个默认存储库以及最多 3 个额外的存储库。有关更多信息,请参阅 将 Git 存储库与 SageMaker 笔记本实例关联

    13. 选择创建笔记本实例

      几分钟后,Amazon 就会 SageMaker 启动一个 ML 计算实例(在本例中为笔记本实例),并向其连接一个 ML 存储卷。笔记本实例有一个预配置的 Jupyter 笔记本服务器和一组 Anaconda 库。有关更多信息,请参阅 CreateNotebookInstance API。

  4. 在控制台中,当笔记本实例的状态为 InService 时,笔记本实例即可使用。选择笔记本名称旁边的打开 Jupyter 以打开经典 Jupyter 控制面板。

    注意

    为了增强您的 Amazon SageMaker 笔记本实例的安全性,所有区域notebook.region.sagemaker.aws域名都已在互联网公共后缀列表 (PS L) 中注册。为了进一步提高安全性,我们建议您使用带__Host-前缀的 Cookie 来为 SageMaker 笔记本实例的域设置敏感 Cookie。这将有助于保护您的域,防范跨站点请求伪造(CSRF)攻击。有关更多信息,请参阅 m ozilla.org 开发者文档网站中的 S et-Cookie 页面。

    您可以选择 “打开” JupyterLab 来打开 JupyterLab控制面板。控制面板允许访问您的笔记本实例和包含完整代码演练的示例 SageMaker 笔记本。这些演练展示了如何使用 SageMaker 来执行常见的机器学习任务。有关更多信息,请参阅 示例笔记本。有关更多信息,请参阅 控制对 SageMaker 笔记本实例的 root 访问权限

    有关 Jupyter 笔记本的更多信息,请参阅 Jupyter 笔记本