更新 SageMaker HyperPod 集群配置 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

更新 SageMaker HyperPod 集群配置

运行 update-cluster 更新集群配置。

注意

重要注意事项:

  • 创建集群后,您无法更改 HyperPod 集群关联的 EKS 集群信息。

  • 如果集群上正在运行深度运行状况检查,此 API 将无法按预期运行。您可能会遇到一条错误信息,提示正在进行深度运行状况检查。要更新集群,应等待深度运行状况检查结束。

  1. 创建 JSON 格式的 UpdateClusterAPI 请求文件。确保指定正确的集群名称和实例组名称进行更新。对于每个实例组,您可以更改实例类型、实例数量、生命周期配置入口点脚本和脚本路径。

    注意

    您可以使用缩小规模或从 SageMaker HyperPod 集群中移除整个实例组。UpdateCluster有关如何缩减或删除实例组的更多说明,请参阅缩小 SageMaker HyperPod 集群规模

    1. 对于 ClusterName,指定要更新的集群名称。

    2. 对于 InstanceGroupName

      1. 要更新现有实例组,请指定要更新的实例组名称。

      2. 要添加新的实例组,请指定一个集群中不存在的新名称。

    3. 对于 InstanceType

      1. 要更新现有实例组,必须将最初指定的实例类型与组匹配。

      2. 要添加新实例组,请指定要配置该组的实例类型。

    4. 对于 InstanceCount

      1. 要更新现有实例组,请指定一个与所需实例数相对应的整数。您可以提供更高或更低的值(向下至 0)来向上或向下扩展实例组。

      2. 要添加新的实例组,请指定一个大于或等于 1 的整数。

    5. 对于 LifeCycleConfig,您可以更改 SourceS3UriOnCreate 的值,以更新实例组。

    6. 对于 ExecutionRole

      1. 要更新现有实例组,请继续使用创建集群时附加的相同 IAM 角色。

      2. 要添加新的实例组,请指定要附加的 IAM 角色。

    7. 对于 ThreadsPerCore

      1. 更新现有实例组时,请继续使用创建集群时指定的相同值。

      2. 添加新实例组时,您可以从每个实例类型允许的选项中选择任意值。有关更多信息,请搜索实例类型并参阅《亚马逊 EC2 用户指南》中参考表中种实例类型的 CPU 核心数和每 CPU 内核的线程数。

    8. 对于 OnStartDeepHealthChecks,添加 InstanceStressInstanceConnectivity,以启用 深度运行状况检查

    9. 对于NodeRecoveryAutomatic请指定启用自动节点恢复。 SageMaker HyperPod 当运行状况监控代理发现问题时,替换或重启实例(节点)。

    下面的代码片段是您可以使用的 JSON 请求文件模板。有关此 API 的请求语法和参数的更多信息,请参阅 UpdateClusterAPI 参考。

    // update_cluster.json { // Required "ClusterName": "name-of-cluster-to-update", // Required "InstanceGroups": [{ "InstanceGroupName": "string", "InstanceType": "string", "InstanceCount": number, "LifeCycleConfig": { "SourceS3Uri": "string", "OnCreate": "string" }, "ExecutionRole": "string", "ThreadsPerCore": number, "OnStartDeepHealthChecks": [ "InstanceStress", "InstanceConnectivity" ] }], "NodeRecovery": "Automatic" }
  2. 运行以下 update-cluster 命令提交请求。

    aws sagemaker update-cluster \ --cli-input-json file://complete/path/to/update_cluster.json