準備和上傳生命週期指令碼 - Amazon 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 提供的基本生命週期指令碼開始