SageMaker HyperPod 콘솔 UI 사용 - Amazon SageMaker AI

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

SageMaker HyperPod 콘솔 UI 사용

SageMaker HyperPod 콘솔 UI를 사용하여 첫 번째 SageMaker HyperPod 클러스터를 생성합니다.

Slurm을 사용하여 첫 번째 SageMaker HyperPod 클러스터 생성

다음 자습서에서는 SageMaker AI 콘솔 UI를 통해 새 SageMaker HyperPod 클러스터를 생성하고 Slurm으로 설정하는 방법을 보여줍니다. 자습서를 따라 세 개의 Slurm 노드인 my-controller-group, my-login-groupworker-group-1이 있는 HyperPod 클러스터를 생성합니다.

  1. https://console.aws.amazon.com/sagemaker/ Amazon SageMaker AI 콘솔을 엽니다.

  2. 좌측 탐색 창에서 HyperPod 클러스터를 선택합니다.

  3. SageMaker HyperPod 클러스터 페이지에서 클러스터 생성을 선택합니다.

  4. 1단계: 클러스터 설정에서 새 클러스터의 이름을 지정합니다. 태그 섹션을 건너뜁니다.

  5. 2단계: 인스턴스 그룹에서 인스턴스 그룹을 추가합니다. 각 인스턴스 그룹을 다르게 구성할 수 있으며 다양한 인스턴스 유형을 가진 여러 인스턴스 그룹으로 구성된 이종 클러스터를 생성할 수 있습니다. 클러스터 생성 중에 인스턴스 그룹에서 수명 주기 구성 스크립트를 실행하려면 Awsome Distributed Training GitHub 리포지토리 에 제공된 샘플 수명 주기 스크립트를 사용하는 것으로 시작할 수 있습니다.

    1. 인스턴스 그룹 이름에 인스턴스 그룹의 이름을 지정합니다. 이 자습서에서는 my-controller-group, my-login-groupworker-group-1라는 인스턴스 그룹을 세 개 생성합니다.

    2. 인스턴스 유형 선택에서 인스턴스 그룹의 인스턴스를 선택합니다. 이 자습서에서는 my-controller-group에 대해 ml.c5.xlarge, my-login-group에 대해 ml.m5.4xlarge, worker-group-1ml.trn1.32xlarge를 선택합니다.

      계정에 충분한 할당량이 있는 인스턴스 유형을 선택하거나 SageMaker HyperPod 할당량에서 다음을 수행하여 추가 할당량을 요청해야 합니다.

    3. 수량에서 클러스터 사용에 대한 인스턴스 할당량을 초과하지 않는 정수를 지정합니다. 이 자습서에서는 세 그룹 모두에 대해 1을 입력합니다.

    4. 수명 주기 스크립트 파일의 S3 경로에 수명 주기 스크립트가 저장되는 Amazon S3 경로를 입력합니다. 수명 주기 스크립트가 없는 경우 다음 하위 단계를 수행하여 SageMaker HyperPod 서비스 팀이 제공하는 기본 수명 주기 스크립트를 사용합니다.

      1. Awsome Distributed Training GitHub 리포지토리를 복제합니다.

        git clone https://github.com/aws-samples/awsome-distributed-training/
      2. 1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config에서 기본 수명 주기 스크립트 세트를 찾을 수 있습니다. 수명 주기 스크립트에 대한 자세한 내용은 수명 주기 스크립트를 사용하여 SageMaker HyperPod 클러스터 사용자 지정 섹션을 참조하세요.

      3. Slurm 구성 파일을 작성하고 provisioning_params.json으로 저장합니다. 파일에서 기본 Slurm 구성 파라미터를 지정하여 SageMaker HyperPod 클러스터 인스턴스 그룹에 Slurm 노드를 올바르게 할당합니다. 예를 들어, provisioning_params.json은 이전 5a, 5b 및 5c단계를 통해 구성된 HyperPod 클러스터 인스턴스 그룹을 기반으로 하는 다음과 유사해야 합니다.

        { "version": "1.0.0", "workload_manager": "slurm", "controller_group": "my-controller-group", "login_group": "my-login-group", "worker_groups": [ { "instance_group_name": "worker-group-1", "partition_name": "partition-1" } ] }
      4. Amazon S3 버킷에 스크립트를 업로드합니다. 양식이 s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src인 경로로 S3 버킷을 생성합니다. Amazon S3 버킷을 사용하여 이 버킷을 생성할 수 있습니다.

        참고

        AmazonSageMakerClusterInstanceRolePolicy가 있는 SageMaker HyperPod의 IAM 역할는 보안 주체만 이 특정 접두사를 사용하여 S3 버킷에 액세스할 수 있도록 허용하므로 S3 버킷 경로에 sagemaker- 접두사를 지정해야 합니다.

    5. 생성 시 수명 주기 스크립트에 대한 디렉터리 경로의 경우 수명 주기 스크립트 파일에 대한 S3 경로 아래에 수명 주기 스크립트의 파일 이름을 입력합니다.

    6. IAM 역할의 경우 SageMaker HyperPod의 IAM 역할 섹션에서 AmazonSageMakerClusterInstanceRolePolicy를 사용하여 생성한 IAM 역할을 선택합니다.

    7. 고급 구성에서 다음과 같은 선택적 구성을 설정할 수 있습니다.

      1. (선택 사항) 코어당 스레드의 경우 다중 스레드 비활성화에는 1, 다중 스레드 활성화에는 2를 지정합니다. 멀티스레딩을 지원하는 인스턴스 유형을 찾으려면 Amazon Elastic Compute Cloud 사용 설명서인스턴스 유형당 CPU 코어 및 CPU 코어당 스레드의 참조 테이블을 참조하세요.

      2. (선택 사항) 추가 인스턴스 스토리지 구성의 경우 1~16384 사이의 정수를 지정하여 추가 EBS(Elastic Block Store) 볼륨의 크기를 기가바이트(GB) 단위로 설정합니다. EBS 볼륨은 인스턴스 그룹의 각 인스턴스에 연결됩니다. 추가 EBS 볼륨의 기본 탑재 경로는 /opt/sagemaker입니다. 클러스터가 성공적으로 생성된 후 클러스터 인스턴스(노드)에 SSH를 넣고 df -h 명령을 실행하여 EBS 볼륨이 올바르게 마운트되었는지 확인할 수 있습니다. 추가 EBS 볼륨을 연결하면 Amazon Elastic Block Store 사용 설명서Amazon EBS 볼륨 섹션에 설명된 대로 안정적이고 인스턴스가 아니며 독립적으로 지속되는 스토리지가 제공됩니다.

  6. 3단계: 고급 구성에서 클러스터 내부 및 외부에서 네트워크 설정을 설정합니다. SageMaker AI에 VPC에 대한 액세스 권한을 부여하는 VPC가 이미 있는 경우 자체 VPC를 선택합니다. VPC가 없지만 새 VPC를 생성하려는 경우 Amazon Virtual Private Cloud 사용 설명서VPC 생성의 지침을 따르세요. 기본 SageMaker AI VPC를 사용하기 위해 VPC가 없는 상태로 둘 수 있습니다.

  7. 4단계: 검토 및 생성에서 1~3단계에서 설정한 구성을 검토하고 클러스터 생성 요청 제출을 완료합니다.

  8. 새 클러스터는 SageMaker HyperPod 콘솔의 기본 창의 클러스터 아래에 나타나야 합니다. 상태 열에서 표시되는 상태를 확인할 수도 있습니다.

  9. 클러스터 상태가 InService로 전환되면 클러스터 노드에 로그인을 시작할 수 있습니다. 클러스터 노드에 액세스하고 ML 워크로드 실행을 시작하려면 SageMaker HyperPod 클러스터의 작업 섹션을 참조하세요.

클러스터를 삭제하고 리소스를 정리합니다.

SageMaker HyperPod 클러스터 생성을 성공적으로 테스트한 후 클러스터를 삭제할 때까지 InService 상태에서 계속 실행됩니다. 온디맨드 요금을 기반으로 지속적인 서비스 요금이 발생하지 않도록 온디맨드 SageMaker AI 인스턴스를 사용하여 생성된 클러스터를 사용하지 않을 때는 삭제하는 것이 좋습니다. 이 자습서에서는 두 인스턴스 그룹으로 구성된 클러스터를 생성했습니다. 이 중 하나는 C5 인스턴스를 사용하므로 SageMaker HyperPod 클러스터 삭제의 지침에 따라 클러스터를 삭제해야 합니다.

그러나 예약된 컴퓨팅 용량이 있는 클러스터를 생성한 경우 클러스터의 상태는 서비스 청구에 영향을 주지 않습니다.

이 자습서에 사용된 S3 버킷에서 수명 주기 스크립트를 정리하려면 클러스터 생성 중에 사용한 S3 버킷으로 이동하여 파일을 완전히 제거합니다.

클러스터에서 워크로드 실행을 테스트한 경우 데이터를 업로드했거나 Amazon FSx for Lustre 및 Amazon Elastic File System과 같은 다른 S3 버킷 또는 파일 시스템 서비스에 아티팩트를 저장했는지 확인합니다. 발생하는 요금을 방지하려면 스토리지 또는 파일 시스템에서 모든 아티팩트와 데이터를 삭제합니다.