使用 SageMaker HyperPod 控制台 UI - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 SageMaker HyperPod 控制台 UI

使用 SageMaker HyperPod 控制台 UI 创建您的第一个 SageMaker HyperPod 集群。

使用 Slurm 创建你的第一个 SageMaker HyperPod 集群

以下教程演示如何创建新 SageMaker HyperPod 集群并通过 SageMaker 控制台 UI 使用 Slurm 对其进行设置。按照教程,您将创建一个包含三个 Slurm 节点的 HyperPod 集群,my-controller-groupmy-login-group、和。worker-group-1

  1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

  2. 在左侧导航窗格中选择 “HyperPod 集群”。

  3. SageMaker HyperPod 集群页面上,选择创建集群

  4. 步骤 1:集群设置中,为新集群指定名称。跳过 “标签” 部分。

  5. 步骤 2:实例组中,添加实例组。可以对每个实例组进行不同的配置,您可以创建一个由具有不同实例类型的多个实例组组组成的异构集群。要在集群创建期间在实例组上运行生命周期配置脚本,您可以先使用 Awsome Distributed Training GitHub 存储库中提供的示例生命周期脚本。

    1. 实例组名称中,指定实例组的名称。在本教程中,创建三个名为my-controller-groupmy-login-group、和的实例组worker-group-1

    2. 选择实例类型中,选择实例组的实例。在本教程中,选择 f ml.c5.xlarge or my-controller-group、f ml.m5.4xlarge o my-login-group r 和 f ml.trn1.32xlarge or worker-group-1

      请确保您选择账户中具有足够配额的实例类型,或者按照中的步骤申请额外的配额SageMaker HyperPod 配额

    3. 在 “数量” 中,指定一个不超过集群使用量实例配额的整数。在本教程中,为所有三个组输入 1

    4. 对于生命周期脚本文件的 S3 路径,请输入存储生命周期脚本的 Amazon S3 路径。如果您没有生命周期脚本,请按照以下子步骤使用 SageMaker HyperPod 服务团队提供的基本生命周期脚本。

      1. 克隆 Awsome 分布式训练 GitHub资料库

        git clone https://github.com/aws-samples/awsome-distributed-training/
      2. 在下方 1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config,您可以找到一组基本的生命周期脚本。要了解有关生命周期脚本的更多信息,另请参阅为设置 Slurm 准备生命周期脚本 SageMaker HyperPod

      3. 写一个 Slurm 配置文件并将其另存为。provisioning_params.json在文件中,指定基本的 Slurm 配置参数,以便将 Slurm 节点正确分配给集群实例组。 SageMaker HyperPod 例如,根据通过前面的步骤 5a、5b 和 5c 配置的 HyperPod 集群实例组,provisioning_params.json应类似于以下内容。

        { "version": "1.0.0", "workload_manager": "slurm", "controller_group": "my-controller-group", "login_group": "my-login-group", "worker_groups": [ { "instance_group_name": "worker-group-1", "partition_name": "partition-1" } ] }
      4. 将脚本上传到您的 Amazon S3 存储桶。使用以下格式的路径创建 S3 存储桶:s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src。您可以使用 Amazon S3 控制台创建此存储桶。

        注意

        您必须为 S3 存储桶路径添加前缀sagemaker-,因为 w IAM 角色适用于 SageMaker HyperPod ith AmazonSageMakerClusterInstanceRolePolicy 仅允许委托人访问带有此特定前缀的 S3 存储桶。

    5. 创建时生命周期脚本的目录路径中,在生命周期脚本文件的 S3 路径下输入生命周期脚本的文件名。

    6. 对于 IAM 角色,请AmazonSageMakerClusterInstanceRolePolicy从部分中选择您使用创建的 IAM 角色IAM 角色适用于 SageMaker HyperPod

    7. 在 “高级配置” 下,您可以设置以下可选配置。

      1. (可选)对于每核线程数,请指定1禁用多线程和2启用多线程。要了解哪种实例类型支持多线程,请参阅 A mazon Elastic Compute Cloud 用户指南中每种实例类型的 CPU 内核和每 CPU 核心线程的参考表。

      2. (可选)对于其他实例存储配置,请指定一个介于 1 和 16384 之间的整数,以设置额外的 Elastic Block Store (EBS) 卷的大小(以千兆字节 (GB) 为单位)。EBS 卷连接到实例组的每个实例。其他 EBS 卷的默认装载路径为/opt/sagemaker。成功创建集群后,您可以通过 SSH 连接到集群实例(节点),并通过运行命令来验证 EBS 卷是否已正确装载。df -h如亚马逊弹性块存储用户指南中的 A mazon EBS 卷部分所述,附加额外的 EBS 卷可提供稳定、非实例且独立的持久存储。

  6. 步骤 3:高级配置中,设置集群内部以及集群内外的网络设置。如果您已经有可以 SageMaker 访问您的 VPC 的 VPC,请选择您自己的 VPC。如果您没有 VPC 但想要创建新的 VPC,请按照《亚马逊虚拟私有云用户指南》中创建 VPC 中的说明进行操作。您可以将其保留为无 VPC 以使用默认 SageMaker VPC。

  7. 步骤 4:查看并创建中,查看您在步骤 1 到 3 中设置的配置,然后完成集群创建请求的提交。

  8. 新集群应出现在 SageMaker HyperPod 控制台主窗格的集群下。您可以查看在 “状态” 列下显示的状态

  9. 集群状态变为后InService,您可以开始登录群集节点。要访问集群节点并开始运行 ML 工作负载,请参阅在 SageMaker HyperPod 集群上运行作业

删除集群并清理资源

成功测试创建 SageMaker HyperPod 集群后,它会继续以该InService状态运行,直到您删除该集群。我们建议您在不使用按需 SageMaker 实例时删除任何使用按需实例创建的集群,以免产生基于按需定价的持续服务费。在本教程中,您创建了一个由两个实例组组成的集群。其中一个使用 C5 实例,因此请务必按照中的说明删除集群。删除集 SageMaker HyperPod 群

但是,如果您创建了具有预留计算容量的集群,则集群的状态不会影响服务计费。

要从用于本教程的 S3 存储桶中清理生命周期脚本,请转到您在创建集群时使用的 S3 存储桶并完全删除这些文件。

如果您已测试在集群上运行任何工作负载,请确保您是否上传了任何数据,或者您的任务是否将任何项目保存到不同的 S3 存储桶或文件系统服务,例如 Amazon FSx for Lustre 和 Amazon Elastic File System 和 Amazon Elastic File System。为防止产生任何费用,请从存储或文件系统中删除所有对象和数据。