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

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

创建笔记本实例

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

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

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

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

您可以使用 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. 在 SageMakerhttps://console.aws.amazon.com/sagemaker/ 打开 . 控制台。

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

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

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

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

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

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

    5. 对于 IAM 角色,请选择您的账户中具有访问 IAM 资源所需的权限的现有 SageMaker 角色,或者选择创建新的角色. 如果您选择 Create a new role (创建新角色), 将SageMaker创建一个名为 的 IAM 角色AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS。 AWS 托管策略AmazonSageMakerFullAccess附加到角色。该角色提供允许笔记本实例调用 SageMaker 和 Amazon S3 的权限。

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

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

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

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

      1. 选择 VPCSubnetId

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

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

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

    10. 选择创建笔记本实例.

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

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

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

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