

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

# HyperPod에서 모델 배포를 위한 태스크 거버넌스
<a name="sagemaker-hyperpod-model-deployment-task-gov"></a>

이 섹션에서는 실시간 추론 워크로드에 맞게 공유 Amazon SageMaker HyperPod EKS 클러스터를 최적화하는 방법을 다룹니다. 할당량 관리, 우선순위 예약, 리소스 공유 정책 등 Kueue의 태스크 거버넌스 기능을 구성하여 추론 워크로드가 트래픽 급증 중에 필요한 GPU 리소스를 확보하는 동시에 팀의 훈련, 평가 및 테스트 활동에 공정한 할당을 유지하는 방법을 알아봅니다. 태스크 거버넌스에 대한 보다 일반적인 내용은 [SageMaker HyperPod 태스크 거버넌스](sagemaker-hyperpod-eks-operate-console-ui-governance.md) 섹션을 참조하세요.

## 추론 워크로드 관리 작동 방식
<a name="sagemaker-hyperpod-model-deployment-task-gov-how"></a>

공유 HyperPod EKS 클러스터에서 실시간 추론 트래픽 급증을 효과적으로 관리하려면 Kueue의 기존 기능을 사용하여 다음 태스크 거버넌스 전략을 구현합니다.

**우선순위 클래스 구성**

다른 작업 유형보다 먼저 추론 포드가 허용되고 예약되도록 가중치가 높은 추론 워크로드(예: 100)에 대한 전용 우선순위 클래스를 정의합니다. 이 구성을 통해 추론 워크로드는 클러스터 로드 중에 우선순위가 낮은 작업을 선점할 수 있으며, 이는 트래픽 급증 시 지연 시간이 짧아야 한다는 요구 사항을 충족하는 데 매우 중요합니다.

**할당량 크기 조정 및 할당**

팀의 `ClusterQueue`에 충분한 GPU 리소스를 예약하여 예상되는 추론 급증을 처리합니다. 추론 트래픽이 적은 기간에는 사용하지 않는 할당량 리소스를 다른 팀의 작업에 일시적으로 할당할 수 있습니다. 추론 수요가 증가하면 이러한 차입한 리소스를 회수하여 보류 중인 추론 포드를 우선시할 수 있습니다. 자세한 내용은 [Cluster Queue](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/)를 참조하세요.

**리소스 공유 전략**

요구 사항에 따라 두 가지 할당량 공유 접근 방식 중에서 선택합니다.

1. **엄격한 리소스 제어:** 워크로드에 예약 GPU 용량을 항상 사용할 수 있도록 할당량 대여 및 차입을 비활성화합니다. 이 접근 방식을 사용하려면 피크 수요를 독립적으로 처리할 수 있을 만큼 큰 크기의 할당량이 필요하며 트래픽이 적은 기간에는 유휴 노드가 발생할 수 있습니다.

1. **유연한 리소스 공유:** 필요한 경우 다른 팀의 유휴 리소스를 활용할 수 있도록 할당량 차입을 활성화합니다. 차입한 포드는 선점 대상으로 표시되며 대여해 주는 팀이 용량을 회수하면 제거될 수 있습니다.

**팀 내 선점**

동일한 할당량으로 혼합 워크로드(평가, 훈련 및 추론)를 실행할 때 팀 내 선점 기능을 활성화합니다. 이를 통해 Kueue는 팀 내에서 우선순위가 낮은 작업을 선점하여 우선순위가 높은 추론 포드를 수용할 수 있으므로 외부 할당량 차입에 의존하지 않고도 실시간 추론을 실행할 수 있습니다. 자세한 내용은 [Preemption](https://kueue.sigs.k8s.io/docs/concepts/preemption/)을 참조하세요.

## 샘플 추론 워크로드 설정
<a name="sagemaker-hyperpod-model-deployment-task-gov-example"></a>

다음 예시는 Kueue가 공유 Amazon SageMaker HyperPod 클러스터에서 GPU 리소스를 관리하는 방법을 보여줍니다.

**클러스터 구성 및 정책 설정**  
클러스터가 다음과 같이 구성되어 있습니다.
+ **팀 A**: 10개의 P4 GPU 할당량
+ **팀 B**: 20개의 P4 GPU 할당량
+ **정적 프로비저닝**: 오토 스케일링 없음
+ **총 용량**: 30개의 P4 GPU

공유 GPU 풀은 다음 우선순위 정책을 사용합니다.

1. **실시간 추론**: 우선순위 100

1. **훈련**: 우선순위 75

1. **평가**: 우선순위 50

Kueue는 선점 및 할당량 차입이 활성화된 상태에서 팀 할당량 및 우선순위 클래스를 적용합니다.

**초기 상태: 정상 클러스터 사용률**  
정상 작업의 경우:
+ 팀 A는 10개의 모든 P4 GPU에서 훈련 및 평가 작업을 실행합니다.
+ 팀 B는 20개의 GPU 할당량 내에서 실시간 추론(P4 10개) 및 평가(P4 10개)를 실행합니다.
+ 모든 작업이 허용되고 실행 중인 상태로 클러스터가 완전히 활용됩니다.

**추론 급증: 팀 B에 추가 GPU 필요**  
팀 B에 트래픽 급증이 발생하면 추가 추론 포드에 5개의 추가 P4 GPU가 필요합니다. Kueue는 새 포드가 다음과 같음을 감지합니다.
+ 팀 B의 네임스페이스 내에 있음
+ 우선순위 100(실시간 추론)
+ 할당량 제약으로 인해 허용 보류 중

**Kueue의 응답 프로세스는 다음 두 가지 옵션 중에서 선택합니다.**  
**옵션 1: 할당량 차입** - 팀 A가 10개의 P4 중 6개만 사용하는 경우 Kueue는 팀 B의 유휴 P4 4개를 사용하도록 허용할 수 있습니다. 그러나 차입한 리소스는 선점 대상입니다. 팀 A가 작업을 제출하여 전체 할당량에 도달하면 Kueue는 팀 B의 차입한 추론 포드를 제거합니다.

**옵션 2: 자체 선점(권장)** - 팀 B는 우선순위가 낮은 평가 작업(우선순위 50)을 실행합니다. 우선순위가 높은 추론 포드가 대기 중이면 Kueue는 팀 B의 할당량 내에서 평가 작업을 선점하고 추론 포드를 허용합니다. 이 접근 방식은 외부의 제거 위험 없이 안전한 리소스 할당을 제공합니다.

Kueue는 3단계 프로세스를 따라 리소스를 할당합니다.

1. **할당량 확인**

   질문: 팀 B에 미사용 할당량이 있나요?
   + 예 → 포드 허용
   + 아니요 → 2단계로 이동

1. **팀 B 내 자체 선점**

   질문: 우선순위가 낮은 팀 B 작업을 선점할 수 있나요?
   + 예 → 평가 작업 선점(우선순위 50), 사용 가능한 P4 5개, 추론 포드 허용
   + 아니요 → 3단계로 이동

   이 접근 방식은 워크로드를 팀 B의 보장된 할당량 내에 유지하여 외부의 제거 위험을 방지합니다.

1. **다른 팀에서 차입**

   질문: 다른 팀의 유휴 차입 할당량이 있나요?
   + 예 → 차입한 할당량 사용 허용(선점 대상으로 표시됨)
   + 아니요 → 포드가 `NotAdmitted` 상태로 유지됨