이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
Amazon EKS에서 AI/ML 워크로드용 가속 컴퓨팅 관리
작은 정보
향후 예정된 Amazon EKS AI/ML 워크숍에 등록
이 섹션에서는 Amazon EKS를 사용하여 AI/ML 훈련 및 추론 워크로드를 위한 EC2 가속 컴퓨팅 인스턴스를 구매하고 프로비저닝하는 방법을 다룹니다. 대규모 모델을 훈련하든, 실시간 추론을 실행하든, 생성형 AI 애플리케이션을 배포하든, 적절한 NVIDIA GPU 또는 AWS Trainium 용량은 워크로드 성능을 확보하기 위한 기반입니다.
EC2 인스턴스 유형 중에서 선택
사용 가능한 Amazon EC2 가속 컴퓨팅 인스턴스에 대한 자세한 내용은 Amazon EC2 가속 컴퓨팅 인스턴스 사양을 참조하세요. 여기에는 P 패밀리 및 G 패밀리의 NVIDIA GPU 인스턴스와 AWS에서 설계한 액셀러레이터 Trainium 및 Inferentia가 포함됩니다.
EC2 구매 옵션 이해
워크로드에 필요한 가속 인스턴스를 파악했다면 다음 단계는 이러한 가속 인스턴스 유형을 획득하는 데 사용할 수 있는 구매 옵션을 이해하는 것입니다. AWS에서는 온디맨드 인스턴스, 스팟 인스턴스, ML용 용량 블록, 온디맨드 용량 예약(ODCR)의 4가지 컴퓨팅 용량 구매 옵션을 제공합니다. 각 옵션은 다양한 워크로드 패턴, 비용 프로필 및 가용성 요구 사항을 지원합니다. Amazon EC2 인스턴스 구매 옵션 설명서에서는 각 옵션의 작동 방식, 요금 모델 및 사용 시기에 대해 설명합니다.
-
온디맨드 인스턴스: 약정 없이 초 단위로 비용을 지불하며 용량이 존재할 경우 즉시 사용할 수 있습니다. 개발, 프로토타이핑, 예측할 수 없는 추론 규모 조정, 중단 위험 없이 즉각적인 컴퓨팅이 필요한 워크로드에 가장 적합합니다.
-
스팟 인스턴스: 2분 중단 통지와 함께 여유 EC2 용량을 사용하여 온디맨드 대비 최대 90%의 비용을 절감할 수 있습니다. 하이퍼파라미터 튜닝, 주기적 체크포인트를 사용한 분산 훈련, 배치 및 오프라인 추론, 데이터 전처리 파이프라인 등 내구성 있는 스토리지로 체크포인트가 저장되는 내결함성 워크로드에 가장 적합합니다.
-
ML용 용량 블록: 최대 8주 전부터 고정 기간(24시간, 최대 6개월) 동안 P 패밀리 및 Trainium 인스턴스를 예약합니다. 계획된 대규모 훈련 실행, 시간 제약이 있는 미세 조정 실험, GPU 클러스터에 대한 예측 가능한 액세스가 필요한 알려진 타임라인이 있는 연구 프로젝트에 용량 블록을 사용합니다.
-
온디맨드 용량 예약(ODCR): 장기 약정 없이 특정 가용 영역에서 가속화된 용량을 예약합니다. 용량 사용 여부에 관계없이 표준 온디맨드 요금이 청구됩니다. 일정 지연 또는 용량 부족이 허용되지 않는 프로덕션 추론, SLA 준수가 필요한 서비스, 비즈니스 크리티컬 애플리케이션에 가장 적합합니다. 용량 블록과 달리 ODCR은 P 패밀리 인스턴스와 G 패밀리 인스턴스를 모두 지원합니다.
구매 옵션을 워크로드 요구 사항에 일치시킵니다.
이제 가속 인스턴스 유형 및 구매 옵션을 이해했으므로 다음 단계는 워크로드별 요구 사항과 적합한 구매 옵션을 일치시키는 것입니다. 인스턴스 유형, 리전, 타이밍 전반에서 유연성이 뛰어난 워크로드는 더 다양한 구매 옵션과 더 낮은 요금을 적용받을 수 있습니다.
다음과 같은 요인을 기반으로 결정합니다.
-
전략적 중요도 및 SLA 약정
-
수요 예측 가능성 및 일정 유연성
-
사전에 예약 용량을 약정할 의지
-
인스턴스 유형, 리전, 타이밍의 유연성
-
중단 허용 수준과 비용 절감
실제로 팀은 여러 구매 옵션을 결합하여 워크로드 포트폴리오 전반에서 비용, 가용성, 신뢰성의 균형을 맞추는 하이브리드 접근 방식을 채택합니다. AWS에서 GPU 용량을 확보하는 방법
EC2 서비스 할당량 확인
EKS 클러스터에서 용량 구매 옵션을 구현하기 전에 AWS 계정에 사용하려는 GPU 인스턴스 패밀리에 대한 충분한 vCPU 할당량이 있는지 확인합니다. 적절한 할당량이 없으면 Karpenter NodePool, EKS Auto Mode 프로비저닝 및 EKS 노드 그룹은 선택한 구매 옵션에 관계없이 가속 컴퓨팅 노드를 시작하지 못합니다.
AWS는 인스턴스 패밀리 및 구매 모델별로 다른 vCPU 할당량을 적용합니다. Amazon EC2 인스턴스 유형 할당량을 검토하여 가속 컴퓨팅 인스턴스의 기본 할당량을 이해합니다.
이러한 할당량은 인스턴스 수가 아닌 vCPU 수를 기준으로 합니다. 예를 들어 10개의 p6-b300.48xlarge 인스턴스를 시작하려면 1,920개의 vCPU(10 × 192)가 필요합니다. 새 계정의 경우 기본 GPU 할당량이 0으로 설정되는 경우가 많으므로 인스턴스 배포를 시도하기 전에 할당량 증가를 요청합니다.
용량 블록 예약을 생성하거나 온디맨드 인스턴스를 시작하거나 스팟 요청을 제출할 때 할당량 제한이 발생하는 경우 AWS Support 또는 AWS 계정 팀에 연락하여 요구 사항을 논의하고 요구 사항에 가장 적합한 가속화된 컴퓨팅 용량을 확보하기 위한 옵션을 탐색하세요.
Amazon EKS에서 EC2 구매 옵션 사용
EC2 가속 컴퓨팅 구매 옵션을 선택한 후 용량을 사용하도록 Amazon EKS 클러스터를 구성합니다. Amazon EKS는 제어와 자동화 간의 균형이 각기 다른 세 가지 프로비저닝 방법을 제공합니다.
-
Amazon EKS Auto Mode: 노드를 자동으로 프로비저닝, 규모 조정, 패치하는 AWS 관리형 컴퓨팅입니다. 프로비저닝에 내장 Karpenter를 사용하며 NVIDIA 드라이버 및 디바이스 플러그인이 포함된 Bottlerocket 운영 체제를 사용합니다. 운영 오버헤드를 최소화하는 관리형 인프라를 원하는 경우에 가장 적합합니다. 정적 및 동적 용량 프로비저닝을 모두 지원합니다.
-
Karpenter(자체 관리형): Amazon EKS 클러스터에 설치하고 운영하는 오픈 소스 업스트림 프로젝트입니다. EKS Auto Mode와 동일한 프로비저닝 모델을 제공하며 운영 체제, AMI, 커널 튜닝 및 노드 수명 주기를 완벽하게 제어할 수 있습니다. EKS Auto Mode에서 기본 제공하지 않는 요구 사항이 있는 플랫폼 팀에 가장 적합합니다.
-
노드 그룹(관리형 및 자체 관리형): EC2 Auto Scaling 그룹(ASG)으로 지원되며, 용량은 EC2 시작 템플릿을 통해 미리 정의됩니다. 기존 EKS 관리형 또는 자체 관리형 노드 그룹이 있는 플랫폼 팀 그리고 정적 가속 컴퓨팅 공간이 알려져 있어 크기 조정을 예측 가능한 훈련 워크로드에 가장 적합합니다.
아래 페이지에서는 각 프로비저닝 옵션을 자세히 설명합니다.
혼합 전략: 구매 옵션 결합
단일 Amazon EKS 클러스터 내에서 여러 용량 구매 옵션을 결합하는 것이 일반적입니다. 이 접근 방식은 다양한 워크로드를 가장 적절한 용량 소스로 라우팅하여 비용, 가용성, 신뢰성을 동시에 최적화합니다. 고객은 세 가지 EKS 컴퓨팅 관리 접근 방식(EKS Auto Mode, Karpenter 또는 노드 그룹)을 사용하여 이 하이브리드 전략을 구현하거나 동일한 클러스터 내에서 결합합니다.
EKS Auto Mode 및 Karpenter는 항상 예약 용량(ODCR 및 용량 블록)을 먼저 프로비저닝한 다음 스팟 또는 온디맨드를 프로비저닝합니다. 예약 용량에서 중요한 워크로드를 예약하고 스팟 또는 온디맨드 인스턴스에서 유연한 워크로드를 예약하여 이 인스턴스 프로비저닝 우선순위를 결합할 수 있습니다. Kubernetes 네이티브 스케줄링 프리미티브를 통해 워크로드 라우팅을 제어합니다. nodeSelector는 특정 용량 유형을 대상으로 하며, 테인트 및 톨러레이션은 NVIDIA GPU 또는 AWS Trainium 노드를 격리하고, topologySpreadConstraints는 고가용성을 위해 가용 영역 전체에 워크로드를 분산합니다.
잘 설계된 Amazon EKS 클러스터는 가속 컴퓨팅 NodePool 또는 노드 그룹을 용량 전략에 가장 적합한 워크로드 패턴에 맞춰 예약 및 버스트라는 두 가지 범주로 구성합니다. 아래에 예제가 설명되어 있습니다.
-
예약 용량:
gpu-reservedNodePool 또는 노드 그룹은 SLA 준수가 필요한 서비스와 계획된 컴퓨팅 집약적 작업을 위해 예약 용량(ODCR 및 용량 블록)에서 프로덕션 추론 및 예약된 대규모 훈련을 실행합니다. 이 NodePool 또는 노드 그룹은 실시간 추론 엔드포인트, 프로덕션 모델 서비스, 예측 가능한 성능으로 상시 가동 GPU 가용성이 필요한 비즈니스 크리티컬 애플리케이션 등의 추론 및 프로덕션 워크로드를 처리합니다. 또한 계획된 분산 훈련, 대규모 미세 조정 실험, 시간 제약이 있는 연구 프로젝트, 시작 시점 및 기간을 미리 알고 있는 워크로드 등 예약된 컴퓨팅 집약적 작업을 지원합니다. -
버스트 용량:
gpu-burstNodePool 또는 노드 그룹은 실험, 임시 워크로드, 배치 처리를 처리합니다. 온디맨드 폴백을 사용하여 스팟 인스턴스를 기본 용량 유형으로 사용합니다. 이 조합은 내결함성 워크로드의 비용 절감을 극대화하고 스팟을 사용할 수 없을 때 용량을 확보합니다. 이 NodePool 또는 노드 그룹은 배치 오프라인 추론, 데이터 전처리 파이프라인, 모델 평가 작업, 개발 및 프로토타이핑, 예측할 수 없는 추론 규모 조정, 단기 디버깅 세션, 체크포인팅을 구현하고 스팟 중단을 처리할 수 있거나 예약이 필요하지 않지만 예약 기간을 기다릴 수 없는 워크로드를 처리합니다. 이 NodePool 또는 노드 그룹의 워크로드는 2분 스팟 중단 기간 내에 노드 손실을 처리하기 위해 체크포인팅 및 정상 종료를 구현합니다.
nodeSelector를 사용하여 워크로드에 대해 원하는 용량 유형을 지정합니다. karpenter.sh/capacity-type: [spot, on-demand, reserved]. 가중치 기반 프로비저닝은 모든 용량 풀에서 클러스터 규모를 효율적으로 조정합니다. 이 아키텍처를 사용하면 비용을 최적화하면서 단일 Amazon EKS 클러스터 내에서 실험용 노트북부터 프로덕션 추론에 이르기까지 다양한 AI/ML 워크로드를 실행할 수 있습니다.