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

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

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

SageMaker HyperPod 는 클러스터 up-and-running 리소스를 설정하는 SageMaker HyperPod 방법을 알려주는 수명 주기 스크립트를 작성할 수 있으므로 항상 사용자 지정이 가능한 컴퓨팅 클러스터를 제공합니다. 다음 주제는 오픈 소스 워크로드 관리자 도구를 사용하여 SageMaker HyperPod 클러스터를 설정하기 위해 수명 주기 스크립트를 준비하는 모범 사례입니다.

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

상위 수준 개요

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

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

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

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

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

  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 버킷 경로를 복사하고 유지합니다. 접두사 로 시작하는 S3 버킷 경로AmazonSageMakerClusterInstanceRolePolicy만 허용하는 로 IAM역할: SageMaker HyperPod 연결된 를 선택해야 sagemaker- 하므로 로 시작하는 S3 버킷 경로를 생성해야 합니다sagemaker-. 다음 명령은 모든 파일을 S3 버킷에 업로드하는 예제 명령입니다.

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

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

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

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

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

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