수명 주기 스크립트를 사용하여 SageMaker HyperPod 클러스터 사용자 지정 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

수명 주기 스크립트를 사용하여 SageMaker HyperPod 클러스터 사용자 지정

SageMaker HyperPod는 항상 실행 중인 컴퓨팅 클러스터를 제공합니다. 이 클러스터는 수명 주기 스크립트를 작성하여 SageMaker HyperPod에 클러스터 리소스를 설정하는 방법을 알려주기 때문에 사용자 지정이 가능합니다. 다음 주제는 오픈 소스 워크로드 관리자 도구를 사용하여 SageMaker HyperPod 클러스터를 설정하기 위해 수명 주기 스크립트를 준비하는 모범 사례입니다.

다음 주제에서는 SageMaker HyperPod 에서 Slurm 구성을 설정하기 위한 수명 주기 스크립트를 준비하기 위한 심층 모범 사례를 설명합니다.

상위 수준 개요

다음 절차는 HyperPod 클러스터를 프로비저닝하고 Slurm으로 설정하는 주요 흐름입니다. 단계는 상향식 접근 방식 순서대로 배치됩니다.

  1. HyperPod 클러스터에서 Slurm 노드를 생성하는 방법을 계획합니다. 예를 들어 두 개의 Slurm 노드를 구성하려면 HyperPod 클러스터에 두 개의 인스턴스 그룹을 설정해야 합니다.

  2. HyperPod에서 Slurm 노드를 프로비저닝하기 위한 구성 양식provisioning_parameters.json 파일을 준비합니다. provisioning_parameters.json에는 HyperPod 클러스터에 프로비저닝할 Slurm 노드 구성 정보가 포함되어야 합니다. 이는 1단계의 Slurm 노드 설계를 반영해야 합니다.

  3. 수명 주기 스크립트 세트를 준비하여 소프트웨어 패키지를 설치하고 사용 사례에 맞게 클러스터에 환경을 설정하도록 HyperPod에 Slurm을 설정합니다. 수명 주기 스크립트를 중앙 Python 스크립트(lifecycle_script.py)에서 순서대로 일괄 실행하도록 구성하고 진입점 쉘 스크립트(on_create.sh)를 작성하여 Python 스크립트를 실행해야 합니다. 진입점 쉘 스크립트는 5단계 후반부에서 HyperPod 클러스터 생성 요청에 제공해야 하는 항목입니다.

    또한 resource_config.json가 클러스터 생성 중에 HyperPod에서 생성할 것으로 예상되는 스크립트를 작성해야 합니다. resource_config.json에는 IP 주소, 인스턴스 유형 및 ARN과 같은 HyperPod 클러스터 리소스 정보가 포함되어 있으며 이는 Slurm을 구성하는 데 사용해야 합니다.

  4. 이전 단계의 모든 파일을 폴더로 수집합니다.

    └── lifecycle_files // your local folder ├── provisioning_parameters.json ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scrips to be fed into lifecycle_script.py
  5. 모든 파일을 S3 버킷에 업로드합니다. S3 버킷 경로를 복사하고 유지합니다. 접두사 sagemaker-로 시작하는 S3 버킷 경로만 허용하는 AmazonSageMakerClusterInstanceRolePolicy로 연결된 SageMaker HyperPod의 IAM 역할를 선택해야 하므로 sagemaker-로 시작하는 S3 버킷 경로를 생성해야 합니다. 다음 명령은 모든 파일을 S3 버킷에 업로드하는 예제 명령입니다.

    aws s3 cp --recursive ./lifecycle_files s3://sagemaker-hyperpod-lifecycle/src
  6. HyperPod 클러스터 생성 요청을 준비합니다.

    • 옵션 1:를 사용하는 경우 AWS CLI의 지침에 따라 JSON 형식(create_cluster.json)으로 클러스터 생성 요청을 작성합니다새 클러스터 생성:.

    • 옵션 2: SageMaker AI 콘솔 UI를 사용하는 경우의 지침에 따라 HyperPod 콘솔 UI에서 클러스터 생성 요청 양식을 작성합니다SageMaker HyperPod 클러스터 생성.

    이 단계에서는 1단계와 2단계에서 계획한 것과 동일한 구조로 인스턴스 그룹을 생성해야 합니다. 또한 요청 양식에서 5단계의 S3 버킷을 지정해야 합니다.

  7. 클러스터 생성 요청을 제출합니다. HyperPod는 요청에 따라 클러스터를 프로비저닝한 다음 HyperPod 클러스터 인스턴스에서 resource_config.json 파일을 생성하고 수명 주기 스크립트를 실행하는 클러스터에 Slurm을 설정합니다.

다음 주제에서는 HyperPod 클러스터 생성 중에 제대로 작동하도록 구성 파일 및 수명 주기 스크립트를 구성하는 방법에 대해 자세히 설명합니다.