아마존 SageMaker HyperPod CLI와 SDK로 초거대 AI 클러스터를 손쉽게 관리하는 방법
머신러닝과 인공지능 모델의 규모가 커짐에 따라, 학습과 추론을 위한 인프라도 더욱 복잡해지고 있습니다. 그러나 모든 데이터 사이언티스트나 ML 개발자가 고성능 분산 시스템을 전문적으로 다룰 필요는 없습니다. AWS는 이를 쉽게 만들기 위해 Amazon SageMaker HyperPod 에 강력한 CLI(command line interface)와 SDK를 도입하였습니다. 이를 통해 클러스터 생성, 관리, 업데이트, 삭제를 손쉽게 수행하고, 자동화할 수 있는 방법까지 제공합니다.
SageMaker HyperPod란?
SageMaker HyperPod는 대규모 AI 모델의 분산 학습 및 추론 환경을 손쉽게 운영할 수 있도록 지원하는 고성능 분산 인프라입니다. Amazon EKS(Amazon Elastic Kubernetes Service) 기반으로 작동하며, 사용자는 복잡한 클러스터 설정을 직접 다룰 필요 없이 CLI 또는 SDK를 통해 클러스터를 생성하고 유지할 수 있습니다.
HyperPod CLI와 SDK의 주요 특징 및 구성
HyperPod CLI는 SageMaker HyperPod SDK 위에 구축된 명령형 도구로써 간단한 명령만으로도 클러스터 생성을 비롯한 다양한 작업을 자동화할 수 있습니다. CLI와 SDK는 다층 구조 아키텍처를 기반으로 하며, 사용자 친화적인 방식으로 내부 리소스를 구성, 설정, 제어할 수 있도록 설계되었습니다.

CLI 명령어의 구성도 직관적이며 다음과 같은 명령어들을 포함하고 있습니다:
- 클러스터 생성: hyp create
- 설정 초기화: hyp init cluster-stack
- 설정 변경: hyp configure
- 클러스터 삭제: hyp delete
- 클러스터 연결: hyp set-cluster-context
- 리소스 모니터링: hyp list, hyp describe 등
활용 가이드: 실제 예제로 보는 HyperPod 클러스터 활용법
- CLI 설치 및 초기 설정
먼저, 실습 전에 아래 환경이 준비되어야 합니다:
- AWS 계정 및 SageMaker HyperPod, S3, FSx for Lustre에 대한 액세스
- 사전 정의된 AWS 서비스 할당량 확보
- Linux 혹은 macOS 기반 운영 체제를 사용하는 컴퓨팅 환경
- Python 3.8 이상 설치
- AWS CLI 설정 완료
설치 명령어는 아래와 같습니다:
pip install sagemaker-hyperpod
설치가 완료되었다면, 아래 명령어로 CLI가 성공적으로 설치되었는지 확인할 수 있습니다:
hyp
- 클러스터 생성 단계
우선 config.yaml 파일 생성을 위해 CLI scaffold를 초기화합니다:
hyp init cluster-stack
이후, 해당 YAML 파일에서 클러스터 설정을 직접 수정하거나 CLI를 통해 아래와 같이 구성 값을 설정할 수 있습니다:
hyp configure –kubernetes-version 1.33
hyp configure –instance-group-settings "[{‘InstanceCount’: 2, …}]"
모든 설정이 완료되면, 설정 파일을 검증합니다:
hyp validate
검증이 완료되면 클러스터 생성 명령어를 통해 CloudFormation을 통한 실제 자원 생성을 트리거합니다:
hyp create –region us-east-1
모든 설정이 완료되면 CLI는 클러스터 자원 생성이 시작되었으며 생성된 Stack ID를 출력합니다.
- 클러스터 생성 모니터링 및 상태 확인
진행 중인 클러스터 스택의 상태를 확인하려면 다음 명령어를 사용합니다:
hyp list cluster-stack –status "['CREATE_COMPLETE']"
각 클러스터의 상세정보를 확인하고 싶다면 다음 명령을 사용합니다:
hyp describe cluster-stack <스택명>
이를 통해 생성된 EKS, FSx, S3 등의 스택이 정상적으로 배포되었는지 확인할 수 있습니다.
- 클러스터 연결 및 활용
생성된 클러스터에 연결하여 실제 자원을 제어하거나 훈련/추론 작업을 배포하려면 아래 명령어를 실행합니다:
hyp set-cluster-context –cluster-name <클러스터명> –region <리전>
해당 명령어를 실행하면 로컬 머신의 kubeconfig 파일이 자동 설정되어 kubectl 명령어로도 클러스터 자원을 제어할 수 있게 됩니다.
- 배포 후 클러스터 수정 및 삭제
기존 클러스터의 인스턴스 그룹을 확장하거나 수정하고 싶다면 다음과 같은 명령을 사용할 수 있습니다:
hyp update cluster –cluster-name <클러스터명>
–region <리전>
–instance-groups '[{…}]'
클러스터 삭제는 다음과 같은 명령어로 가능합니다. 삭제는 복구 불가능하므로 주의가 필요합니다:
hyp delete cluster-stack <스택명> –region <리전>
- SDK를 통한 자동화 및 통합 개발
CLI는 빠른 실험 및 반복을 위한 도구로 적절하다면, 더 복잡한 워크플로우 자동화나 애플리케이션 내 통합을 위해서는 Python 기반의 SageMaker HyperPod SDK를 사용하는 것이 강력합니다.
CLI는 반복 작업 자동화나 CI/CD 통합에 유용하며, SDK는 다양한 AWS 서비스 통합이나 자체 애플리케이션에 HyperPod 기능을 삽입할 수 있도록 보다 높은 수준의 제어권을 제공합니다.
결론: HyperPod CLI와 SDK의 도입 효과
SageMaker HyperPod CLI와 SDK는 ML 엔지니어와 데이터 과학자에게 다음과 같은 활용성과 가치를 제공합니다:
- 복잡한 클러스터 인프라를 추상화하여 손쉽게 설정하고 배포할 수 있도록 지원
- 자동화 및 인프라 코드화(IaC)를 통한 반복성 확보
- 모듈화된 구조 및 CloudFormation 기반으로 확장성과 가시성을 강화
- 실험적이든 운영적이든 다양한 사용 사례와 조직 구조에 맞춰 유연하게 규모 확장이 가능
대규모 AI 모델의 실험과 배포가 일상화되는 지금, 이러한 도구는 효율성과 안정성, 확장성을 갖춘 ML 플랫폼 구축을 가능하게 합니다.
더 심화된 훈련 및 배포 사용법이 궁금하다면 다음 포스트도 참고해보세요.
https://aws.amazon.com/blogs/machine-learning/train-and-deploy-models-on-amazon-sagemaker-hyperpod-using-the-new-hyperpod-cli-and-sdk/
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기
