准备并上传生命周期脚本 - 亚马逊 SageMaker AI

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

准备并上传生命周期脚本

创建完所有必需的资源后,您需要为 SageMaker HyperPod 集群设置生命周期脚本。这些生命周期脚本提供了可用于创建基本 HyperPod Slurm 集群的基本配置

准备生命周期脚本

按照以下步骤操作可获取生命周期脚本。

  1. 生命周期脚本从 GitHub 存储库下载到您的计算机。

  2. 使用 cp CLI 命令将生命周期脚本上传到您在预调配基本资源中创建的 Amazon S3 存储桶。

    aws s3 cp --recursive LifeCycleScripts/base-config s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config

创建配置文件

按照以下步骤操作,创建配置文件并将其上传到用于存储生命周期脚本的同一 Amazon S3 存储桶。

  1. 使用以下配置创建名为 provisioning_parameters.json 的配置文件。请注意,slurm_sns_arn 是可选项。如果未提供, HyperPod 则无法设置 Amazon SNS 通知。

    cat <<EOF > /tmp/provisioning_parameters.json { "version": "1.0.0", "workload_manager": "slurm", "controller_group": "$CONTOLLER_IG_NAME", "login_group": "my-login-group", "worker_groups": [ { "instance_group_name": "$COMPUTE_IG_NAME", "partition_name": "dev" } ], "fsx_dns_name": "$SLURM_FSX_DNS_NAME", "fsx_mountname": "$SLURM_FSX_MOUNT_NAME", "slurm_configurations": { "slurm_database_secret_arn": "$SLURM_DB_SECRET_ARN", "slurm_database_endpoint": "$SLURM_DB_ENDPOINT_ADDRESS", "slurm_shared_directory": "/fsx", "slurm_database_user": "$DB_USER_NAME", "slurm_sns_arn": "$SLURM_SNS_FAILOVER_TOPIC_ARN" } } EOF
  2. provisioning_parameters.json 文件上传到用于存储生命周期脚本的同一 Amazon S3 存储桶。

    aws s3 cp /tmp/provisioning_parameters.json s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config/provisioning_parameters.json

验证 Amazon S3 存储桶中的文件

上传所有生命周期脚本和 provisioning_parameters.json 文件后,Amazon S3 存储桶应如下所示。

图片显示了在 Amazon Simple Storage Service 控制台中上传到 Amazon S3 存储桶的所有生命周期脚本。

有关更多信息,请参阅从提供的基本生命周期脚本开始 HyperPod