创建笔记本实例 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建笔记本实例

亚马逊SageMaker笔记本实例是运行 Jupyter 笔记本应用程序的 ML 计算实例。SageMaker 管理实例和相关资源的创建。在您的笔记本实例中使用 Jupyter 笔记本来准备和处理数据,编写代码以训练模型,部署模型到 SageMaker 托管,以及测试和验证模型。

要创建笔记本实例,请使用 SageMaker 控制台或 CreateNotebookInstance API。

您选择的笔记本实例类型取决于您使用笔记本实例的方式。您希望确保笔记本实例不受内存、CPU 或 IO 的约束。如果您计划将数据集加载到笔记本实例上的内存中以进行探索或预处理,我们建议您为数据集选择具有足够 RAM 内存的实例类型。这将需要具有至少 16 GB 内存的实例(超大型或大型)。如果您计划使用笔记本进行计算密集型预处理,我们建议您选择计算优化的实例,例如 c4 或 c5。

使用SageMaker笔记本时的最佳做法是使用笔记本实例来协调其他Amazon服务。例如,您可以使用笔记本实例管理大型数据集处理,方法是调用 Amazon Glue for ETL(提取、转换和加载)服务,或调用 Amazon EMR 来使用 Hadoop 进行映射和数据缩减。您可以将Amazon服务用作数据的临时计算或存储形式。

您可以使用 Amazon S3 存储桶存储和检索您的训练和测试数据。然后,您可以使用 SageMaker 训练和构建模型,这样,笔记本的实例类型不会影响模型训练和测试的速度。

收到请求后,SageMaker 将执行以下操作:

  • 创建网络接口-如果您选择可选的 VPC 配置,则在您的 VPC 中SageMaker创建网络接口。它使用您在请求中提供的子网 ID 来确定在哪个可用区中创建子网。SageMaker 将您在请求中提供的安全组与该子网关联。有关更多信息,请参阅将 VPC 中的笔记本实例连接到外部资源

  • 启动 ML 计算实例-在 SageMaker VPC 中SageMaker启动 ML 计算实例。SageMaker执行允许其管理您的笔记本实例的配置任务,如果您指定了您的 VPC,它将启用您的 VPC 和笔记本实例之间的流量。

  • 为常见的深度学习平台安装 Anaconda 包和库 — SageMaker 安装安装程序中包含的所有 Anaconda 软件包。有关更多信息,请参阅 Anaconda 程序包列表。此外,SageMaker安装TensorFlow和 Apache MXNet 深度学习库。

  • 连接 ML 存储卷-将 SageMaker ML 存储卷连接到 ML 计算实例。您可以将该卷作为工作区域,用于清理训练数据集或者临时存储验证、测试或其他数据。以 1 GB 为增量,为卷选择 5 GB 到 16384 GB 之间的任意大小。默认值为 5 GB。已加密 ML 存储卷,SageMaker 无法确定该卷上的可用空间量。因此,您可以在更新笔记本实例时增加卷大小,但无法减小卷大小。如果要减小正在使用的 ML 存储卷的大小,请创建一个具有所需大小的新笔记本实例。

    只有保存在 /home/ec2-user/SageMaker 文件夹中的文件和数据才会在笔记本实例会话之间保留。在笔记本实例停止并重新启动时,保存在此目录之外的文件和数据将被覆盖。每个笔记本实例的 /tmp 目录在实例存储中提供至少 10 GB 的存储空间。实例存储是非持久的临时性块级存储。实例停止或重新启动时,SageMaker 删除目录的内容。此临时存储是笔记本实例实例的根卷的一部分。

  • 复制 Jupyter 笔记本示例 — 这些 Python 代码示例说明了使用各种算法和训练数据集进行模型训练和托管练习。

要创建 SageMaker 笔记本实例,请执行以下操作:
  1. 在 SageMakerhttps://console.aws.amazon.com/sagemaker/ 打开 控制台。

  2. 选择 Notebook instances (笔记本实例),然后选择 Create notebook instance (创建笔记本实例)

  3. Create notebook instance (创建笔记本实例) 页面上提供以下信息:

    1. 对于 Notebook instance name (笔记本实例名称),请键入您的笔记本实例的名称。

    2. 对于 Notebook 实例类型,选择适合您的用例的实例大小。有关支持的实例类型和配额的列表,请参阅 Amazon SageMaker 服务配额

    3. 对于 Elastic Inference,如果您计划从笔记本实例开展推理,请选择一种与笔记本实例关联的推理加速器类型,或选择。有关 Elastic Inference 的信息,请参阅 使用亚马逊 SageMaker Elastic Inference (EI)

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

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

    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。Amazon托管策略AmazonSageMakerFullAccess已附加到该角色。该角色提供允许笔记本实例调用 SageMaker 和 Amazon S3 的权限。

    9. 对于根访问,要为所有笔记本实例用户启用根访问,请选择启用。要为用户禁用根访问,请选择禁用。如果启用根访问,则所有笔记本实例用户具有管理员权限,并且可以访问和编辑实例上的所有文件。

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

    11. (可选)网络允许您将笔记本实例放在 Virtual Private Cloud (VPC) 中。VPC 提供额外的安全性,限制从 VPC 外部的源访问 VPC 中的资源。有关 VPC 的更多信息,请参阅亚马逊 VPC 用户指南

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

      1. 选择 V PCSubnetId.

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

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

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

    13. 选择创建笔记本实例

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

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

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

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