메뉴 닫기

토폴로지 인지형 생성형 AI 스케줄링을 위한 SageMaker HyperPod Task Governance 가이드

아마존 SageMaker HyperPod Task Governance를 활용한 토폴로지 인지형 워크로드 스케줄링 가이드

최근 생성형 인공지능(Generative AI)의 트레이닝 효율성과 지연 시간(latency)을 최적화하는 것이 점점 더 중요한 과제로 떠오르고 있습니다. 특히 LLM(대규모 언어 모델)과 같은 분산 학습에서는 다수의 GPU 인스턴스 간 연산과 데이터 교환이 빈번하게 발생하기에 신속하고 효율적인 작업 배치가 매우 중요합니다.

이 글에서는 Amazon SageMaker의 HyperPod Task Governance 기능을 기반으로, Amazon EC2의 네트워크 토폴로지 기반 워크로드 스케줄링 방법과 활용 전략을 상세히 정리합니다. 이 솔루션은 AWS EKS 클러스터 환경에서 생성형 AI 워크로드를 최적화하는 데 유용합니다.

SageMaker HyperPod Task Governance란?
SageMaker HyperPod Task Governance는 Amazon EKS 기반의 SageMaker HyperPod 클러스터에서 효율적인 리소스 배분과 작업 우선순위 기반 스케줄링을 가능하게 해줍니다. 이를 통해 GPU 인스턴스를 통해 트레이닝 작업을 수행하는 조직이나 팀은 리소스를 보다 효율적으로 사용하고 프로젝트의 시장 출시 시점을 앞당기며, 리소스 충돌이나 재계획의 부담에서 벗어날 수 있습니다.

생성형 AI의 EC2 토폴로지 중요성
생성형 AI의 학습 과정에서 EC2 인스턴스 간 네트워크 대역폭과 지연 시간은 모델의 성능과 학습 시간에 직접적인 영향을 미칩니다. 물리적 인프라 내의 인스턴스 배치에 따라 다양한 수준의 레이턴시가 발생하며, 네트워크 상에서 가까운 인스턴스끼리 배치될수록 통신 효율은 그만큼 높아집니다.

Amazon EC2에서는 계층형 네트워크 노드 구조(예: 계층 1, 2, 3)를 제공합니다. 같은 계층 3에 속한 인스턴스는 최소한의 네트워크 홉으로 통신하므로, 최적 배치를 통해 레이턴시를 줄일 수 있습니다.

토폴로지 인지형 스케줄링의 동작 방식
SageMaker HyperPod는 다음과 같은 과정을 통해 토폴로지를 인식한 작업 스케줄링을 지원합니다:

  1. 클러스터 노드의 토폴로지 정보 확인
    다음 명령어로 각 노드의 토폴로지 정보를 계층별로 확인할 수 있습니다.

kubectl get nodes -L topology.k8s.aws/network-node-layer-1
kubectl get nodes -L topology.k8s.aws/network-node-layer-2
kubectl get nodes -L topology.k8s.aws/network-node-layer-3

  1. 노드 시각화 스크립트 실행
    GitHub 리포를 통해 배포된 스크립트를 활용하면 계층별 노드 구조를 흐름도 형태로 시각화할 수 있습니다.

git clone https://github.com/aws-samples/awsome-distributed-training.git
cd awsome-distributed-training/1.architectures/7.sagemaker-hyperpod-eks/task-governance
chmod +x visualize_topology.sh
bash visualize_topology.sh

출력된 결과는 Mermaid.js 등으로 분석하거나 직관적인 클러스터 구성도를 파악하는 데 유용합니다.

SageMaker HyperPod 클러스터의 네트워크 토폴로지 예시 이미지

작업 제출 방식
작업을 클러스터에 제출할 때에는 다음 두 가지 방식으로 토폴로지를 설정할 수 있습니다.

  1. Kubernetes 매니페스트 파일 수정
    pod에 다음과 같은 annotation을 추가하여 특정 네트워크 계층에 할당되도록 지정할 수 있습니다.
  • 필수 토폴로지: kueue.x-k8s.io/podset-required-topology
  • 선호 토폴로지: kueue.x-k8s.io/podset-preferred-topology

예시:

annotations:
  kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"

  1. SageMaker HyperPod CLI 활용
    두 번째 방법으로는 SageMaker HyperPod CLI를 사용하여 작업을 생성하는 방식입니다. 다음과 같은 명령어로 토폴로지 인식 설정을 포함한 작업을 제출할 수 있습니다.

hyp create hyp-pytorch-job
–job-name test-pytorch-job-cli
–image XXXXXXXXXXXX.dkr.ecr.us-west-2.amazonaws.com/ptjob:mnist
–pull-policy "Always"
–tasks-per-node 1
–preferred-topology topology.k8s.aws/network-node-layer-3

활용 시나리오 정리

  • 하위 계층(Node Layer 3)의 공통 노드를 공유하는 인스턴스에 작업을 집중 배치함으로써 end-to-end 레이턴시 감소
  • 다중 팀 환경에서 리소스 간섭 없이 효율적 워크로드 운영
  • 생성형 AI 트레이닝 작업의 운영 민첩성 향상 및 안정성 강화

결론
Amazon SageMaker HyperPod의 Task Governance 및 토폴로지 인지형 스케줄링 기능은 생성형 AI 구축과 같은 고사양 트레이닝 환경에서 리소스 활용도와 지연 시간을 근본적으로 개선해줍니다. Kubernetes 수준의 배치 자동화는 AI 프로젝트 초기 기획 단계부터 실제 운영 변화까지 다양한 단계에서 큰 가치를 제공합니다.

이 기능을 도입하여 조직의 AI 프로젝트 성능과 서비스 출시 속도를 한층 높여보시기 바랍니다.

https://aws.amazon.com/blogs/machine-learning/schedule-topology-aware-workloads-using-amazon-sagemaker-hyperpod-task-governance/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너