SageMaker AI 콘솔을 사용하여 SageMaker HyperPod 시작하기 - Amazon SageMaker AI

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

SageMaker AI 콘솔을 사용하여 SageMaker HyperPod 시작하기

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

클러스터 생성

SageMaker HyperPod 클러스터 페이지로 이동하여 Slurm 오케스트레이션을 선택하려면 다음 단계를 따르세요.

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

  2. 왼쪽 탐색 창에서 HyperPod 클러스터를 선택한 다음 클러스터 관리를 선택합니다.

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

  4. HyperPod 클러스터 생성 드롭다운에서 Slurm에서 오케스트레이션을 선택합니다.

  5. Slurm 클러스터 생성 페이지에는 두 가지 옵션이 표시됩니다. 필요에 가장 적합한 옵션을 선택합니다.

    1. 빠른 설정 - 기본 설정을 즉시 시작하려면 빠른 설정을 선택합니다. 이 옵션을 사용하면 SageMaker AI는 클러스터를 생성하는 과정에서 VPC, 서브넷, 보안 그룹, Amazon S3 버킷, IAM 역할 및 FSx for Lustre와 같은 새 리소스를 생성합니다.

    2. 사용자 지정 설정 - 기존 AWS 리소스와 통합하거나 특정 네트워킹, 보안 또는 스토리지 요구 사항이 있는 경우 사용자 지정 설정을 선택합니다. 이 옵션을 사용하면 기존 리소스를 사용하거나 새 리소스를 생성하도록 선택할 수 있으며 필요에 가장 적합한 구성을 사용자 지정할 수 있습니다.

빠른 설정

빠른 설정 섹션에서 다음 단계에 따라 Slurm 오케스트레이션을 사용하여 HyperPod 클러스터를 생성합니다.

새 클러스터의 이름을 지정합니다. 클러스터가 생성된 후에는 이름을 변경할 수 없습니다.

인스턴스 그룹을 추가하려면 그룹 추가를 선택합니다. 각 인스턴스 그룹을 다르게 구성할 수 있으며 다양한 인스턴스 유형을 가진 여러 인스턴스 그룹으로 구성된 이종 클러스터를 생성할 수 있습니다. 클러스터를 배포하려면 인스턴스 그룹을 하나 이상 추가해야 합니다.

중요

한 번에 하나의 인스턴스 그룹을 추가할 수 있습니다. 여러 인스턴스 그룹을 생성하려면 각 인스턴스 그룹에 대해 프로세스를 반복합니다.

다음 단계에 따라 인스턴스 그룹을 추가합니다.

  1. 인스턴스 그룹 유형에서 인스턴스 그룹의 유형을 선택합니다. 이 자습서에서는의 경우 컨트롤러(헤드),의 경우 my-controller-group 로그인my-login-group,의 경우 컴퓨팅(작업자)을 선택합니다worker-group-1.

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

  3. 인스턴스 용량에서 온디맨드 용량 또는 훈련 계획을 선택하여 컴퓨팅 리소스를 예약합니다.

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

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

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

  6. 대상 가용 영역에서 인스턴스를 프로비저닝할 가용 영역을 선택합니다. 가용 영역은 가속화된 컴퓨팅 용량의 위치와 일치해야 합니다.

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

  8. 인스턴스 그룹 추가를 선택합니다.

이 섹션에는 클러스터 생성 프로세스 중에 생성될 모든 새 AWS 리소스를 포함하여 클러스터 생성에 대한 모든 기본 설정이 나열됩니다. 기본 설정을 검토합니다.

사용자 지정 설정

사용자 지정 설정 섹션에서 다음 단계에 따라 Slurm 오케스트레이션을 사용하여 HyperPod 클러스터를 생성합니다.

새 클러스터의 이름을 지정합니다. 클러스터가 생성된 후에는 이름을 변경할 수 없습니다.

인스턴스 복구에서 자동 - 권장 또는 없음을 선택합니다.

클러스터 생성을 위한 네트워크 설정을 구성합니다. 클러스터가 생성된 후에는 이러한 설정을 변경할 수 없습니다.

  1. VPC의 경우 SageMaker AI에 VPC에 대한 액세스 권한을 부여하는 VPC가 이미 있는 경우 자체 VPC를 선택합니다. 새 VPC를 생성하려면 Amazon Virtual Private Cloud 사용 설명서VPC 생성의 지침을 따르세요. 기본 SageMaker AI VPC를 사용하려면 없음으로 둘 수 있습니다.

  2. VPC IPv4 CIDR 블록에 VPC의 시작 IP를 입력합니다.

  3. 가용 영역에서 HyperPod가 클러스터에 대한 서브넷을 생성할 가용 영역(AZ)을 선택합니다. 가속화된 컴퓨팅 용량의 위치와 일치하는 AZs를 선택합니다.

  4. 보안 그룹의 경우 보안 그룹을 생성하거나 VPC 내에서 리소스 간 통신을 허용하는 규칙으로 구성된 보안 그룹을 최대 5개까지 선택합니다.

인스턴스 그룹을 추가하려면 그룹 추가를 선택합니다. 각 인스턴스 그룹을 다르게 구성할 수 있으며 다양한 인스턴스 유형을 가진 여러 인스턴스 그룹으로 구성된 이종 클러스터를 생성할 수 있습니다. 클러스터를 배포하려면 인스턴스 그룹을 하나 이상 추가해야 합니다.

중요

한 번에 하나의 인스턴스 그룹을 추가할 수 있습니다. 여러 인스턴스 그룹을 생성하려면 각 인스턴스 그룹에 대해 프로세스를 반복합니다.

다음 단계에 따라 인스턴스 그룹을 추가합니다.

  1. 인스턴스 그룹 유형에서 인스턴스 그룹의 유형을 선택합니다. 이 자습서에서는의 경우 컨트롤러(헤드),의 경우 my-controller-group 로그인my-login-group,의 경우 컴퓨팅(작업자)을 선택합니다worker-group-1.

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

  3. 인스턴스 용량에서 온디맨드 용량 또는 훈련 계획을 선택하여 컴퓨팅 리소스를 예약합니다.

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

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

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

  6. 대상 가용 영역에서 인스턴스를 프로비저닝할 가용 영역을 선택합니다. 가용 영역은 가속화된 컴퓨팅 용량의 위치와 일치해야 합니다.

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

  8. 인스턴스 그룹 추가를 선택합니다.

Amazon S3 버킷에 저장될 기본 수명 주기 스크립트 또는 사용자 지정 수명 주기 스크립트를 사용하도록 선택할 수 있습니다. Awesome Distributed Training GitHub 리포지토리에서 기본 수명 주기 스크립트를 볼 수 있습니다. 수명 주기 스크립트에 대한 자세한 내용은 섹션을 참조하세요수명 주기 스크립트를 사용하여 SageMaker HyperPod 클러스터 사용자 지정.

  1. 수명 주기 스크립트에서 기본 또는 사용자 지정 수명 주기 스크립트를 사용하도록 선택합니다.

  2. 수명 주기 스크립트용 S3 버킷의 경우 새 버킷을 생성하거나 기존 버킷을 사용하여 수명 주기 스크립트를 저장하도록 선택합니다.

HyperPod가 사용자를 대신하여 필요한 AWS 리소스를 실행하고 액세스할 수 있도록 허용하는 IAM 역할을 선택하거나 생성합니다.

HyperPod 클러스터에 프로비저닝되도록 FSx for Lustre 파일 시스템을 구성합니다.

  1. 파일 시스템에서 기존 FSx for Lustre 파일 시스템을 선택하여 새 FSx for Lustre 파일 시스템을 생성하거나 FSx for Lustre 파일 시스템을 프로비저닝하지 않습니다.

  2. 스토리지 단위당 처리량에서 프로비저닝된 스토리지의 TiB당 사용할 수 있는 처리량을 선택합니다.

  3. 스토리지 용량에 용량 값을 TB 단위로 입력합니다.

  4. 데이터 압축 유형에서 LZ4를 선택하여 데이터 압축을 활성화합니다.

  5. Lustre 버전의 경우 새 파일 시스템에 권장되는 값을 확인합니다.

태그 - 선택 사항 경우 키 및 값 페어를 새 클러스터에 추가하고 클러스터를 AWS 리소스로 관리합니다. 자세한 내용은 AWS 리소스 태그 지정 섹션을 참조하세요.

리소스 배포

빠른 설정 또는 사용자 지정 설정을 사용하여 클러스터 구성을 완료한 후 다음 옵션을 선택하여 리소스 프로비저닝 및 클러스터 생성을 시작합니다.

  • Submit-SageMaker AI는 기본 구성 리소스를 프로비저닝하고 클러스터를 생성하기 시작합니다.

  • CloudFormation 템플릿 파라미터 다운로드 - 구성 파라미터 JSON 파일을 다운로드하고 AWS CLI 명령을 실행하여 CloudFormation 스택을 배포하여 구성 리소스를 프로비저닝하고 클러스터를 생성합니다. 필요한 경우 다운로드한 파라미터 JSON 파일을 편집할 수 있습니다. 이 옵션을 선택하는 경우의 추가 지침을 참조하세요AWS CloudFormation 템플릿을 사용하여 SageMaker HyperPod 클러스터 생성.

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

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

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

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

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