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

创建笔记本实例

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

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

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

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

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

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

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

  • 启动 ML 计算实例 – SageMaker 在 SageMaker VPC 中启动一个 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. 通过 https://console.aws.amazon.com/sagemaker/ 打开 SageMaker 控制台。

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

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

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

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

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

    4. 对于平台标识符,选择要在其上创建笔记本实例的平台类型。该平台类型决定了创建笔记本实例时使用的操作系统和 JupyterLab 版本。有关平台标识符类型的信息,请参阅 Amazon Linux 2 笔记本实例。有关 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 会创建一个名为 AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS 的 IAM 角色。Amazon 托管策略 AmazonSageMakerFullAccess 附加到该角色。该角色提供允许笔记本实例调用 SageMaker 和 Amazon S3 的权限。

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

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

    11. (可选)网络允许您将笔记本实例放在虚拟私有云 (VPC) 中。VPC 提供额外的安全性,限制从 VPC 外部的源访问 VPC 中的资源。有关 VPC 的更多信息,请参阅《Amazon VPC 用户指南》https://docs.amazonaws.cn/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 控制面板。

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

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