

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

# 훈련 작업 또는 HyperPod 클러스터에 대한 훈련 계획 예약
<a name="reserve-capacity-with-training-plans"></a>

Amazon SageMaker 훈련 계획은 대규모 AI 모델 훈련 워크로드에 GPU 용량 사용을 예약하고 극대화할 수 있는 기능입니다. 이 기능을 사용하면 최신 NVIDIA GPU 기술 및 AWS 훈련 칩을 비롯한 다양한 GPU 가속 컴퓨팅 옵션을 다루는 인기 있는 인스턴스 유형에 액세스할 수 있습니다. SageMaker 훈련 계획을 사용하면 기본 인프라를 관리할 필요 없이 지정된 타임라인 및 예산 내에서 이러한 고성능 컴퓨팅 리소스에 대한 예측 가능한 액세스를 확보할 수 있습니다. 이러한 유연성은 미션 크리티컬 AI 워크로드에 대해 이러한 초과 구독 컴퓨팅 인스턴스를 획득하고 예약해야 하는 문제를 해결하는 조직에 특히 유용합니다.

## SageMaker 훈련 계획이란?
<a name="training-plans-what-is"></a>

SageMaker 훈련 계획을 사용하면 SageMaker 훈련 작업 또는 SageMaker HyperPod 클러스터와 같이 대상으로 하는 리소스 요구 사항에 맞는 컴퓨팅 용량을 예약할 수 있습니다. 이 서비스는 예약, 가속 컴퓨팅 리소스 프로비저닝, 인프라 설정, 워크로드 실행 및 인프라 장애 복구를 자동으로 처리합니다.

SageMaker 훈련 계획은 하나 이상의 예약 용량 블록으로 구성되며, 각 블록은 다음 파라미터로 정의됩니다.
+ 특정 인스턴스 유형
+ 인스턴스 수량
+ 가용 영역
+ 지속 시간
+ 시작 및 종료 시간

**참고**  
훈련 계획은 대상 리소스(SageMaker Training 작업 또는 SageMaker HyperPod)에 고유하며 교환할 수 없습니다.
단일 훈련 계획의 여러 예약 용량 블록은 불연속적일 수 있습니다. 즉, 예약 용량 블록 사이에 간격이 있을 수 있습니다.

## SageMaker 훈련 계획의 이점
<a name="training-plans-benefits"></a>

SageMaker 훈련 계획은 다음과 같은 이점을 제공합니다.
+ **예측 가능한 액세스**: 지정된 기간 내에 기계 학습 워크로드의 GPU 용량을 예약합니다.
+ **비용 관리**: 대규모 훈련 요구 사항을 미리 계획하고 예산을 책정합니다.
+ **자동화된 리소스 관리**: SageMaker 훈련 계획은 인프라의 프로비저닝 및 관리를 처리합니다.
+ **유연성**: SageMaker 훈련 작업 및 SageMaker HyperPod 클러스터를 포함한 다양한 리소스에 대한 훈련 계획을 생성합니다.
+ **내결함성**: SageMaker AI 훈련 작업을 위한 가용 영역 간 인프라 장애 및 워크로드 마이그레이션에서 자동 복구의 이점을 누릴 수 있습니다.

## SageMaker 훈련 계획 사전 예약 및 유연한 시작 시간
<a name="training-plan-reservation-timing"></a>

SageMaker 훈련 계획을 사용하면 유연한 시작 시간과 기간으로 컴퓨팅 용량을 미리 예약할 수 있습니다.
+ **사전 예약**: 시작 날짜로부터 최대 8주(56일) 전에 훈련 계획을 예약할 수 있습니다.
+ **최소 리드 타임**: SageMaker 훈련 계획 오퍼링은 예약 후 30분 이내에 시작할 수 있으며 가용성에 따라 달라질 수 있습니다.
**참고**  
30분 이내에 액세스할 수 있는 계획을 검색하고 구매할 수 있습니다. 적시에 활성화하려면 원하는 시작 시간 최소 5분 전에 결제 트랜잭션이 성공적으로 완료되어야 합니다. 예를 들어 계획이 오후 2시에 시작되도록 하려면 늦어도 오후 1시 30분까지 막바지 검색을 수행하고 오후 1시 55분까지 구매를 완료해야 오후 2시까지 계획이 준비되도록 할 수 있습니다.
+ **예약 기간 및 인스턴스 수량**: SageMaker 훈련 계획을 사용하면 특정 기간 및 수량 옵션으로 인스턴스를 예약할 수 있습니다. 지정된 AWS 리전, 기간 및 수량 옵션에서 사용 가능한 인스턴스 유형은 섹션을 참조하세요[지원되는 인스턴스 유형 AWS 리전및 요금](#training-plans-supported-instances-and-regions).
+ **종료 시간**: 훈련 계획은 항상 예약 마지막 날 오전 11시 30분(UTC)에 종료됩니다.
+ **훈련 계획 종료**: 훈련 작업을 대상 리소스로 사용하고 예약 용량에 30분이 남아 있는 경우 SageMaker 훈련 계획은 다음 예약 용량이 활성화될 때까지 해당 블록 내에서 실행 중인 인스턴스를 종료하는 프로세스를 시작합니다. 최종 예약 용량 블록 종료 시간 30분 전까지 훈련 계획에 대한 전체 액세스 권한이 유지됩니다.

  대상 리소스가 SageMaker HyperPod 클러스터인 경우 이 시간 제한은 1시간입니다.

## SageMaker 훈련 계획 사용자 워크플로
<a name="training-plans-workflow"></a>

SageMaker 훈련 계획은 다음 단계를 거칩니다.

관리자의 단계:

1. **검색 및 검토**: 인스턴스 유형, 개수, 시작 시간, 기간 등 컴퓨팅 요구 사항에 맞는 사용 가능한 계획 오퍼링을 찾습니다.

1. **계획 생성**: 선택한 계획 오퍼링의 ID를 사용하여 필요에 맞는 훈련 계획을 예약합니다.

1. **결제 및 예약**: 선결제 성공 시 계획 상태는 `Scheduled`가 됩니다.

계획 사용자/ML 엔지니어의 단계:

1. **리소스 할당**: 계획을 사용하여 SageMaker AI 훈련 작업을 대기열에 추가하거나 SageMaker HyperPod 클러스터 인스턴스 그룹에 할당합니다.

1. **활성화**: 계획 시작 날짜가 되면 `Active`가 됩니다. 사용 가능한 예약 용량에 따라 SageMaker 훈련 계획은 훈련 작업을 자동으로 시작하거나 인스턴스 그룹을 프로비저닝합니다.

**참고**  
훈련 계획의 상태는 예약 용량 기간이 시작될 때 `Scheduled`에서 `Active`로 전환되고, 다음 예약 용량 기간이 시작될 때까지 기다릴 때 다시 `Scheduled`로 전환됩니다.

다음 다이어그램은 SageMaker 훈련 계획이 서로 다른 [target resources](#training-plans-target-resources)와 상호 작용하는 방식에 대한 포괄적인 개요를 제공하여 SageMaker 훈련 작업과 SageMaker HyperPod 클러스터 모두에 대한 계획의 수명 주기와 리소스 할당에서의 역할을 보여줍니다.
+ **SageMaker Training 작업에 대한 훈련 계획**: 첫 번째 다이어그램은 훈련 계획과 SageMaker Training 작업 간의 상호 작용에 대한 엔드투엔드 워크플로를 보여줍니다.  
![\[결제, 훈련 계획을 사용한 용량 예약, SageMaker Training 작업. 관리자 및 ML 엔지니어가 관리하는 훈련 계획 수명 주기 및 훈련 작업 상태에 대한 그림입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-training-plan-for-training-jobs.png)
+ **SageMaker HyperPod 클러스터에 대한 훈련 계획**: 두 번째 다이어그램은 훈련 계획과 SageMaker HyperPod 인스턴스 그룹 간의 상호 작용에 대한 엔드투엔드 워크플로를 보여줍니다.  
![\[결제, 훈련 계획을 사용한 용량 예약, 인스턴스 그룹 관리 워크플로입니다. 관리자 및 ML 엔지니어가 관리하는 훈련 계획 수명 주기 및 인스턴스 그룹 상태를 보여 줍니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-training-plan-for-hyperpod.png)

## 지원되는 인스턴스 유형 AWS 리전및 요금
<a name="training-plans-supported-instances-and-regions"></a>

훈련 계획은 다음과 같은 특정 고성능 인스턴스 유형에 대한 예약을 지원하며, 각 인스턴스 유형은 일부 AWS 리전에서 사용할 수 있습니다.
+ **ml.p4d.24xlarge**
+ **ml.p5.48xlarge**
+ **ml.p5e.48xlarge**
+ **ml.p5en.48xlarge**
+ **ml.trn1.32xlarge**
+ **ml.trn2.48xlarge**
+ **ml.p6-b200.48xlarge**
+ **ml.c6i-32xlargesc**

**UltraServers**
+ **ml.p6e-gb200.36xlarge**
+ **ml.p6e-gb200.72xlarge**

**참고**  
인스턴스 유형의 가용성은 시간이 지남에 따라 변경될 수 있습니다. 리전에 따라 사용 가능한 인스턴스 유형과 해당 요금에 대한 최신 정보는 [SageMaker 요금](https://aws.amazon.com/sagemaker-ai/pricing/)을 참조하세요. **온디맨드 요금** 아래의 **Amazon SageMaker HyperPod 유연한 훈련 계획** 섹션으로 스크롤합니다. 리전을 선택하여 사용 가능한 인스턴스 유형 목록을 봅니다.

여러 리전에서의 가용성을 통해 데이터 레지던시 요구 사항 및 다른 AWS 서비스에 대한 근접성과 같은 요소를 고려하여 워크로드에 가장 적합한 위치를 선택할 수 있습니다.

**중요**  
SageMaker 훈련 계획을 사용하여 다음과 같은 예약 기간 및 인스턴스 수량 옵션으로 인스턴스를 예약할 수 있습니다.  
예약 기간은 1일에서 182일까지 1일 단위로 제공됩니다.
예약 인스턴스 수량 옵션은 1, 2, 4, 8, 16, 32 또는 64개입니다.
Training 작업 또는 HyperPod 서비스 할당량이 인스턴스 유형당 계획에 지정된 인스턴스 수를 초과하는 최대 인스턴스 수를 허용하는지 확인합니다. 현재 할당량을 보거나 할당량 증가를 요청하려면 [AWS 관리 콘솔을 사용하여 SageMaker 훈련 계획 할당량 보기](training-plan-quotas.md) 섹션을 참조하세요.

## SageMaker AI의 UltraServers
<a name="training-plans-ultraservers"></a>

SageMaker AI의 UltraServers는 고대역폭 네트워크 도메인을 통해 상호 연결된 인스턴스 세트를 제공합니다. 예를 들어 P6e-GB200 UltraServer는 하나의 NVIDIA NVLink 도메인에서 최대 18개의 `p6e-gb200.36xlarge` 인스턴스를 연결합니다. 인스턴스당 4개의 NVIDIA Blackwell GPU를 사용하는 각 P6e-GB200 UltraServer는 72개의 GPU를 지원하므로 SageMaker AI에서 고성능으로 최대 규모의 AI 워크로드를 실행할 수 있습니다.

SageMaker AI와 함께 UltraServers 사용하면 SageMaker AI의 관리형 인프라, 기본 제공 장애 복원력 기능, 통합 모니터링 기능, 다른 SageMaker AI 및 AWS 서비스와의 기본 통합과 결합된 성능을 얻을 수 있습니다. 이 통합 덕분에 사용자는 모델 개발 및 배포에 집중할 수 있으며, SageMaker AI가 AI 인프라 관리의 차별화되지 않은 과중한 작업을 처리합니다.

**참고**  
UltraServers는 미국 동부(버지니아 북부) 리전의 확장인 댈러스 로컬 영역(us-east-1-dfw-2a)에서만 사용할 수 있습니다. 자세한 내용은 시작하기를 참조[하세요 AWS 로컬 영역.](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)

### 고려 사항
<a name="training-plans-ultraservers-considerations"></a>

SageMaker AI와 함께 UltraServers를 사용할 때는 다음 사항을 고려하세요.
+ [SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod.html) 및 [SageMaker 훈련 작업](https://docs.aws.amazon.com/sagemaker/latest/dg/train-model.html) 모두에 UltraServers를 사용할 수 있습니다.
+ UltraServers는 전체 유닛으로만 구매할 수 있습니다. 인스턴스 및 요금 정보에 대한 자세한 내용은 [Amazon SageMaker AI Pricing](https://aws.amazon.com/sagemaker-ai/pricing/)의 Amazon SageMaker HyperPod 유연한 훈련 계획을 참조하세요.
+ HyperPod와 함께 UltraServers를 사용하는 경우 HyperPod는 리소스 할당에 도움이 되도록 리소스에 토폴로지 레이블을 자동으로 추가합니다. 자세한 내용은 [Using topology-aware scheduling in Amazon SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-topology.html)를 참조하세요.
+ SageMaker AI 및 UltraServers는 선제적 검사, 자동 장애 감지 및 완화를 포함하여 워크로드의 복원력을 향상하는 다양한 기능을 제공합니다. 문제가 무엇인지에 따라 SageMaker AI는 인스턴스 재시작, 장애가 발생한 인스턴스를 예비 인스턴스로 교체, 장애가 발생한 UltraServers 교체와 같은 작업을 실행하여 워크로드를 복구하는 작업을 실행할 수 있습니다.
+ 복원력을 높이기 위해 UltraServer 내에서 예비 인스턴스로 사용할 인스턴스를 구성할 수 있습니다. UltraServer 내에 예비 인스턴스를 두면 SageMaker AI가 작업에 미치는 영향을 최소화하면서 인스턴스 장애에 신속하게 대응할 수 있습니다. UltraServer당 하나의 예비 인스턴스를 두는 것이 좋습니다. 예비 인스턴스를 예약할 필요는 없지만, 이로 인해 지원 옵션이 지연되고 장애 복구 속도가 느려질 수 있습니다. UltraServers를 전체 유닛으로 구매하므로 예약하는 예비 인스턴스 수는 요금에 영향을 주지 않습니다.
+ UltraServer 내의 상태 및 인스턴스를 보려면 [ ListTrainingPlans](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html) API 작업 또는 AWS 콘솔을 사용하여 훈련 계획을 확인합니다. 이러한 도구를 사용하면 사용 가능한 총 인스턴스 수, 현재 사용 중인 인스턴스 수, 비정상 인스턴스 수, 구성된 예비 부품 수 및 기타 정보를 볼 수 있습니다. 가능한 상태는 `ok`, `impaired`, `insufficient-data`입니다.

## SageMaker 훈련 계획 검색 동작
<a name="training-plans-search-behavior"></a>

훈련 계획 오퍼링을 검색할 때 SageMaker 훈련 계획은 수요가 많고 예약 용량 블록이 부족한 경우에도 다음 접근 방식을 사용하여 사용자의 리소스 가용성과 유연성을 극대화합니다.
+ **초기 연속 검색**: SageMaker 훈련 계획은 먼저 대상 리소스, 요청된 인스턴스 유형, 인스턴스 수를 포함하여 다른 지정된 기준은 모두 충족하면서 시작 및 종료 날짜 내에서 지정된 기간에 부합하는 하나의 연속 예약 용량 블록을 찾으려고 시도합니다.
+ **2블록 검색**: SageMaker 훈련 계획은 모든 기준을 충족하는 단일 연속 예약 용량 블록을 사용할 수 없는 경우 '용량 없음'이라는 결과를 반환하지 않습니다. 대신 두 개의 개별 예약 용량 블록을 사용하여 요청을 자동으로 이행하려고 시도하여 총 기간을 두 개의 시간 세그먼트로 분할합니다.

  이 2블록 접근 방식은 리소스 할당의 유연성을 높여주므로 다른 방법으로는 사용할 수 없는 수요가 많은 인스턴스를 보호할 수 있습니다.

**참고**  
SageMaker 훈련 계획은 1개 또는 2개의 세그먼트로 구성된 최대 3개의 오퍼링을 반환합니다. 예를 들어 48시간짜리 계획의 경우 SageMaker 훈련 계획은 24시간 블록 2개, 연속 48시간 블록 1개, 기간이 균등하지 않은 블록 2개로 구성된 계획을 제공할 수 있습니다.

## 고려 사항
<a name="training-plans-considerations"></a>

**중요**  
구매하고 나면 훈련 계획을 수정할 수 없습니다.
훈련 계획은 AWS 계정 간에 또는 조직 내에서 공유할 수 AWS 없습니다.
+ 훈련 계획 오퍼링을 검색할 때 SageMaker 훈련 계획은 [target resources](#training-plans-target-resources)를 기반으로 검색 전략을 조정합니다.

  **SageMaker HyperPod 클러스터의 경우**:
  + 오퍼링은 단일 가용 영역(AZ)으로 제한됩니다.
  + 따라서 클러스터 내에서 일관된 네트워크 성능과 데이터 로컬성이 보장됩니다.

  **SageMaker Training 훈련 작업의 경우**:
  + 오퍼링이 여러 가용 영역을 아우를 수 있습니다.
  + 이는 계획 오퍼링에 불연속 예약 용량이 여러 개 포함된 경우에 특히 관련이 있습니다.
  + 예를 들어, 계획에서 한 예약 용량 블록에는 AZ-A의 용량이 포함되고 다른 예약 용량 블록에는 AZ-B의 용량이 포함될 수 있습니다. SageMaker 훈련 계획은 리소스 가용성에 따라 가용 영역(AZ) 간에 워크로드를 자동으로 이동할 수 있습니다.

    훈련 작업에 대한 이 다중 AZ 접근 방식은 리소스 할당의 유연성을 높여 워크로드에 적합한 용량을 찾을 가능성을 높입니다. 그러나 예약 기간의 부분에 따라 작업이 서로 다른 AZ에서 실행될 수 있다는 점에 유의해야 합니다.
+ 2블록 오퍼링과 함께 제공되는 경우 사용자는 이 분할 할당이 워크로드 요구 사항을 충족하는지 신중하게 고려해야 합니다. 예약의 불연속적 특성을 수용하기 위해 작업 예약 또는 워크로드 배포를 조정해야 할 수 있습니다.

# SageMaker 훈련 계획용 IAM
<a name="training-plan-iam-permissions"></a>

SageMaker 훈련 계획에는 다음과 같은 두 가지 역할에 대한 특정 권한이 필요합니다.

1. **계획 생성자 역할**: *계획 생성자* 역할을 할당받은 사용자는 훈련 계획 오퍼링을 검색하고, 새 훈련 계획을 생성하고, 훈련 계획을 나열하고 설명할 수 있는 권한이 필요합니다.

1. **계획 사용자 역할**: *계획 사용자 역할*을 맡은 사용자는 SageMaker 훈련 작업에서 또는 SageMaker HyperPod 클러스터를 생성하고 업데이트할 때 훈련 계획을 사용할 수 있는 권한이 필요합니다.

SageMaker 훈련 계획을 사용하기 전에 액세스 방법에 따라 권한을 업데이트합니다.
+  AWS Management Console 또는 SageMaker SDKs 사용자의 경우: 콘솔 사용자 또는 API 사용자에 대해 구성된 IAM 역할의 권한을 업데이트합니다.
+  AWS CLI 사용자: AWS CLI 프로필이 적절한 자격 증명 및 권한으로 올바르게 구성되어 있는지 확인합니다.
+ JupyterLab과 같은 Studio 애플리케이션 사용자의 경우 애플리케이션에서 사용하는 스페이스와 연결된 실행 역할에 대한 권한을 설정합니다.

관리형 정책 또는 보다 세분화된 개별 권한을 사용하여 이러한 권한을 설정할 수 있습니다.

역할의 권한 정책을 업데이트하는 방법에 대한 자세한 내용은 [역할 권한 업데이트](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html)를 참조하세요. 실행 역할을 찾고 업데이트하는 방법에 대한 자세한 내용은 [실행 역할을 가져옵니다.](sagemaker-roles.md#sagemaker-roles-get-execution-role) 섹션을 참조하세요.

**참고**  
관리자는 훈련 계획을 생성하는 권한이 필요한 사용자가 누구인지 신중하게 고려하고 그에 따라 권한을 할당해야 합니다.

## 관리형 정책
<a name="training-plan-managed-policies"></a>
+ 계획 생성자의 경우: [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerTrainingPlanCreateAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerTrainingPlanCreateAccess.html)는 훈련 계획을 생성하고 관리할 수 있는 액세스 권한을 제공합니다.
+ 계획 사용자의 경우: [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)에는 훈련 계획을 사용할 수 있는 권한이 포함되어 있습니다.

**참고**  
`AmazonSageMakerFullAccess` 관리형 정책은 주로 실험 목적으로 사용이 쉬운 정책으로 설계되었습니다. 훈련 계획 사용을 포함하여 SageMaker AI 기능에 대한 광범위한 액세스를 제공하지만 다음 사항에 유의해야 합니다.  
이 정책은 광범위한 권한으로 인해 프로덕션 환경에는 권장되지 않습니다.
`CreateTrainingPlan`은 선결제가 필요한 관리 작업으로 간주되므로 훈련 계획을 생성할 수 있는 권한은 포함되지 않습니다.
프로덕션 사용 사례의 경우 각 역할에 필요한 특정 권한만 부여하여 최소 권한 원칙을 준수하는 사용자 지정 정책을 생성하는 것이 좋습니다.

## 개별 권한
<a name="training-plan-individual-permissions"></a>

다음 목록은 사용자가 SageMaker 훈련 계획으로 수행해야 하는 특정 작업을 기반으로 역할의 IAM 정책 문에서 설정해야 하는 세분화된 권한을 자세히 설명합니다.

### 훈련 계획 권한 목록
<a name="training-plan-individual-permissions-list"></a>
+ `SearchTrainingPlanOfferings`: 이 권한을 통해 사용자는 사용 가능한 훈련 계획 오퍼링을 검색할 수 있습니다.

  ```
  {
    "Sid": "SearchTrainingPlanOfferingsPermissions",
    "Effect": "Allow",
    "Action": [
      "sagemaker:SearchTrainingPlanOfferings"
    ],
    "Resource": "*"
  }
  ```
+ `CreateTrainingPlan`: 이 권한을 통해 사용자는 새 훈련 계획을 생성할 수 있습니다.
**참고**  
또한 `CreateReservedCapacity` 및 `AddTags`에 대한 권한을 포함하고 `training-plan` 및 `reserved-capacity` 리소스 유형을 둘 다 지정해야 합니다.

  ```
  {
    "Sid": "CreateTrainingPlanPermissions",
    "Effect": "Allow",
    "Action": [
      "sagemaker:CreateTrainingPlan",
      "sagemaker:CreateReservedCapacity",
      "sagemaker:AddTags"
    ],
    "Resource": [
      "arn:aws:sagemaker:*:*:training-plan/*",
      "arn:aws:sagemaker:*:*:reserved-capacity/*"
    ]
  }
  ```
+ `DescribeTrainingPlan`: 이 권한을 통해 사용자는 기존 훈련 계획의 세부 정보를 볼 수 있습니다.

  ```
  {
    "Sid": "DescribeTrainingPlanPermissions",
    "Effect": "Allow",
    "Action": [
      "sagemaker:DescribeTrainingPlan"
    ],
    "Resource": [
      "arn:aws:sagemaker:::training-plan/*"
    ]
  }
  ```
+ `ListTrainingPlans`:이 권한을 통해 사용자는 AWS 계정의 모든 훈련 계획을 나열할 수 있습니다.

  ```
  {
    "Sid": "ListTrainingPlansPermissions",
    "Effect": "Allow",
    "Action": [
      "sagemaker:ListTrainingPlans"
    ],
    "Resource": "*"
  }
  ```

### 사용자 유형당 개별 권한
<a name="training-plan-permissions-per-user-type"></a>

이 섹션에서는 [SageMaker 훈련 계획용 IAM](#training-plan-iam-permissions) 섹션에서 언급한 대로 각 역할에 필요한 개별 권한을 자세히 설명합니다.

계획 생성자의 경우 다음 권한이 필요합니다.
+ `sagemaker:SearchTrainingPlanOfferings`
+ `sagemaker:CreateTrainingPlan`
+ `sagemaker:CreateReservedCapacity`
+ `sagemaker:AddTags`
+ `sagemaker:DescribeTrainingPlan`
+ `sagemaker:ListTrainingPlans`

계획 사용자에게는 다음 권한이 필요합니다.
+ `sagemaker:CreateTrainingJob`(SageMaker Training 훈련 작업의 경우)
+ `sagemaker:CreateCluster` 및 `sagemaker:UpdateCluster`(SageMaker HyperPod의 경우)
+ `training-plan` 및 `reserved-capacity` 리소스에 대한 액세스. SageMaker 훈련 계획에 대한 IAM 정책을 구성할 때 `training-plan` 및 `reserved-capacity` 리소스 모두에 대한 권한을 포함합니다. 이러한 리소스는 SageMaker 훈련 작업과 SageMaker HyperPod 클러스터 모두에 필요합니다. 이렇게 하면 IAM 역할이 SageMaker 훈련 계획 리소스와 상호 작용하고 예약 용량을 관리할 수 있습니다.
  + SageMaker 훈련 작업의 경우 정책에 `"arn:aws:sagemaker:::training-plan/"` 및 `"arn:aws:sagemaker:::reserved-capacity/"` 리소스 ARN이 포함되어 있는지 확인합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingJob"
      ],
      "Resource": [
        "arn:aws:sagemaker:us-east-2:111122223333:training-job/",
        "arn:aws:sagemaker:us-east-2:111122223333:training-plan/",
        "arn:aws:sagemaker:us-east-2:111122223333:reserved-capacity/*"
      ]
    }
  ]
}
```

------

마찬가지로 SageMaker HyperPod 구성의 경우 클러스터별 리소스 외에도 위와 동일한 ARN을 포함합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateCluster",
        "sagemaker:UpdateCluster"
      ],
      "Resource": [
        "arn:aws:sagemaker:us-east-2:111122223333:cluster/",
        "arn:aws:sagemaker:us-east-2:111122223333:training-plan/",
        "arn:aws:sagemaker:us-east-2:111122223333:reserved-capacity/*"
      ]
    }
  ]
}
```

------

# 훈련 계획 생성
<a name="training-plan-creation"></a>

SageMaker 훈련 계획 기능을 사용하여 컴퓨팅 용량을 예약하려면 다음 단계를 따르세요.

1. **대상 리소스 식별:** 먼저 SageMaker 훈련 작업과 SageMaker HyperPod 클러스터 중 어느 것에 용량이 필요한지를 결정합니다.

1. **용량 요구 사항 지정:** 용량 요구 사항을 자세히 정의합니다. 여기에는 워크로드에 적합한 인스턴스 유형 선택, 필요한 인스턴스 수 결정, 사용 기간 지정이 포함됩니다. 지정된 AWS 리전, 기간 및 수량 옵션에서 지원되는 인스턴스 유형에 대한 자세한 내용은 섹션을 참조하세요[지원되는 인스턴스 유형 AWS 리전및 요금](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).

1. **사용 가능한 훈련 계획 오퍼링 검색:** 요구 사항을 지정한 후 SageMaker 훈련 계획의 검색 기능을 사용하여 하나 이상의 세그먼트에서 사용 가능한 훈련 계획 오퍼링을 찾습니다. 각 오퍼링에는 시작 시간, 예약 용량의 특정 가용 영역, 예약 가격과 같은 세부 정보가 포함됩니다. 비용 효과, 지리적 선호 사항, 지정된 요구 사항 충족 여부와 같은 요소를 고려하여 이러한 오퍼링을 검토합니다.

   적합한 계획을 사용할 수 없는 경우 검색 기준을 조정하고 새 오퍼링 세트를 찾습니다.

1. **적절한 오퍼링을 기반으로 훈련 계획 생성:** 적절한 오퍼링을 찾은 후 훈련 계획 생성을 진행합니다. 이 프로세스에는 결정한 오퍼링을 선택하고 예약을 시작하는 작업이 포함됩니다.
   + 훈련 계획 예약은 인보이스를 생성합니다.
   + 총 금액에 대한 결제는 이행 프로세스의 일부로 수금됩니다. 결제가 완료되면 SageMaker 훈련 작업을 예약하거나 HyperPod 클러스터를 생성할 준비가 된 것입니다.

   SageMaker 훈련 작업에 훈련 계획을 사용하는 방법에 대한 자세한 내용은 [SageMaker 훈련 작업에 대한 훈련 계획 사용률](training-plan-utilization-for-training-jobs.md) 섹션을 참조하세요.

    HyperPod 클러스터에 대한 훈련 계획을 사용하는 방법에 대한 자세한 내용은 [Amazon SageMaker HyperPod 클러스터의 훈련 계획 사용률](training-plan-utilization-for-hyperpod.md) 섹션을 참조하세요.

SageMaker AI 콘솔 또는 프로그래밍 방법을 사용하여 훈련 계획을 생성할 수 있습니다. SageMaker AI 콘솔은 옵션을 포괄적으로 볼 수 있는 시각적 그래픽 인터페이스를 제공하는 반면, AWS CLI 또는 SageMaker SDKs를 사용하여 프로그래밍 방식으로 생성하여 훈련 계획 API와 직접 상호 작용할 수 있습니다.

단계별 콘솔 지침 및 자세한 API 참조는 이 안내서의 각 섹션을 참조하세요.

**Topics**
+ [SageMaker AI 콘솔을 사용한 SageMaker 훈련 계획 생성](training-plan-creation-using-console.md)
+ [SageMaker API를 사용한 SageMaker 훈련 계획 생성 또는 AWS CLI](training-plan-creation-using-api-cli-sdk.md)

# SageMaker AI 콘솔을 사용한 SageMaker 훈련 계획 생성
<a name="training-plan-creation-using-console"></a>

SageMaker 훈련 계획은 SageMaker AI 콘솔 UI를 통해 훈련 계획을 생성하는 편리한 방법을 제공하므로 사용자는 기계 학습 훈련 리소스를 쉽게 예약할 수 있습니다. 이 가이드에서는 SageMaker AI 콘솔을 사용하여 SageMaker 훈련 작업 및 SageMaker HyperPod 클러스터에 대한 훈련 계획을 생성하는 프로세스를 안내합니다. 다음 단계에 따라 훈련 계획 오퍼링을 검색하고, 사용 가능한 옵션을 검토하고, 필요에 가장 적합한 계획을 구매합니다.

UI를 사용하여 시각적으로 훈련 계획을 생성하는 방법:

1. 먼저 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 창 메뉴에서 **훈련 계획**을 선택합니다.

1. 메인 콘텐츠 영역에서 **훈련 계획 생성** 버튼을 선택하여 사용자 지정 훈련 일정을 설정하는 프로세스를 시작합니다.

![\[훈련 계획 페이지를 보여주는 SageMaker AI 콘솔입니다. 인터페이스에는 계획을 요청, 모니터링 및 사용하는 단계를 포함하여 훈련 계획의 작동 방식에 대한 정보가 표시됩니다. 왼쪽 탐색 창에는 '훈련 계획' 옵션이 강조 표시되어 있고 메인 콘텐츠 영역에 '훈련 계획 생성' 버튼이 표시되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-console.png)


그런 다음, 컴퓨팅 요구 사항에 맞는 계획 오퍼링을 검색합니다.

**Topics**
+ [훈련 계획 오퍼링 검색](search-training-plan-offerings.md)
+ [최상의 훈련 계획 예약](choose-best-training-plan.md)
+ [훈련 계획 나열](list-training-plans.md)
+ [훈련 계획 세부 정보 보기](training-plan-details.md)

# 훈련 계획 오퍼링 검색
<a name="search-training-plan-offerings"></a>

SageMaker AI 콘솔의 왼쪽 창에서 **훈련 계획**을 선택한 다음 **훈련 계획 생성**을 선택하면 **훈련 계획 찾기** 양식이 열립니다. 이 양식을 사용하면 요구 사항을 지정하고 적절한 훈련 계획 오퍼링을 검색할 수 있습니다.

다음 단계에 따라 양식을 작성합니다.

1. **대상** 식별: 훈련 계획은 대상 리소스에 따라 다릅니다. 계획을 사용하여 SageMaker 훈련 작업을 실행할지 또는 SageMaker HyperPod 클러스터를 실행할지 지정합니다.

1. **컴퓨팅 유형**의 경우 **인스턴스** 또는 **UltraServer** 중에서 선택할 수 있습니다. UltraServer는 지연 시간이 짧은 고대역폭 액셀러레이터 인터커넥트를 사용하여 여러 Amazon EC2 인스턴스를 연결합니다. 자세한 내용은 [Amazon EC2 UltraServers](https://aws.amazon.com/ec2/ultraservers/)를 참조하세요. SageMaker AI와 함께 UltraServers를 사용하는 방법에 대한 자세한 내용은 [SageMaker AI의 UltraServers](reserve-capacity-with-training-plans.md#training-plans-ultraservers) 섹션을 참조하세요.

1. 원하는 **인스턴스 유형** 및 **인스턴스 수** 선택: 지정된 AWS 리전, 기간 및 수량 옵션에서 사용 가능한 인스턴스 유형은 섹션을 참조하세요[지원되는 인스턴스 유형 AWS 리전및 요금](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions).

1. 시간 파라미터 정의: 원하는 시작 및 종료 날짜를 선택하고 이 기간 내에서 계획 기간을 지정합니다.

1. **훈련 계획 찾기**를 선택합니다.

![\[훈련 계획 오퍼링 검색 페이지를 보여주는 SageMaker AI 콘솔입니다. 인터페이스에는 계획의 대상 리소스(훈련 작업 또는 HyperPod 클러스터)를 선택하고, 인스턴스 유형 및 개수를 지정하고, 시작 및 종료 날짜를 설정하고, 입력 기간을 설정하는 옵션이 표시되어 있습니다. 훈련 계획 찾기 버튼은 양식 하단에 보입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-search-training-plan-offerings.png)


SageMaker 훈련 계획은 용량 요구 사항에 맞는 오퍼링을 검색합니다. 지정된 기간 내에 적합한 오퍼링이 발견되면 페이지 하단에 표시됩니다. 각 훈련 계획 오퍼링에는 다음 세부 정보가 포함됩니다.
+ 총 계획 기간
+ 시작 및 종료 날짜
+ 총 선결제 가격: 

  가격 위로 마우스를 가져가면 인스턴스 시간당 요금, 인스턴스 수 및 총 시간에 대한 세부 분석을 볼 수 있습니다.
+ 계획 세그먼트의 총 개수

세그먼트 세부 정보 링크를 클릭하면 세그먼트별 세부 정보가 포함된 모달 뷰가 열립니다.
+ 지속 시간
+ 시작 및 종료 날짜
+ 가용 영역

![\[SageMaker AI 콘솔은 계획 요구 사항에 대한 입력 필드가 있는 훈련 계획 오퍼링 검색 페이지와 기간, 가격 및 가용성 상태가 각기 다른 검색된 계획 세 개의 세부 정보가 표시된 사용 가능한 계획 섹션을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-available-offerings.png)


적합한 계획이 없거나 사용 가능한 계획이 요구 사항을 충족하지 않는 경우 **훈련 계획 요구 사항** 양식의 파라미터를 수정하여 검색 기준을 조정합니다. 적합한 오퍼링을 찾으면 선택하고 **다음**을 선택하여 계획 예약 페이지로 계속 진행합니다. 이 페이지에서 계획의 이름을 지정한 다음 예약을 완료하기 전에 선택을 검토하고 확인할 수 있습니다.

**참고**  
`Immediately available`이라고 표시된 계획은 예약된 시작 시간 최소 5분 전에 결제가 완료되면 30분 이내에 시작됩니다.

# 최상의 훈련 계획 예약
<a name="choose-best-training-plan"></a>

훈련 계획을 검색하여 용량 요구 사항과 예산에 맞는 오퍼링이 반환되었습니다.

1. 계획의 이름을 입력한 후 **다음**을 선택합니다.

1. 구매 주문을 검토한 후 **제출**합니다.
**중요**  
구매하고 나면 훈련 계획을 수정할 수 없습니다.
훈련 계획은 AWS 계정 간에 또는 조직 내에서 공유할 수 AWS 없습니다.

   주문을 제출한 후
   + 처음에 훈련 계획은 훈련 계획 목록에 `Pending`으로 표시됩니다.
   + 주문 접수 시 인보이스가 자동으로 생성됩니다.
   + 이행 프로세스 중에 총 결제 금액이 징수됩니다.
   + 결제가 성공적으로 처리되면 계획 상태가 `Scheduled`로 변경되고 계획을 사용할 수 있게 됩니다.

![\[훈련 계획에 대한 '검토 및 구매' 페이지를 보여주는 SageMaker AI 콘솔입니다. 페이지에 훈련 계획 세부 정보, 세그먼트 정보, 가격, 계획 이름 및 태그가 표시되어 있습니다. 계획을 편집 또는 취소하거나 뒤로 이동하거나 생성하는 옵션을 사용할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-review-and-purchase-training-plan.png)


# 훈련 계획 나열
<a name="list-training-plans"></a>

훈련 계획을 보는 방법:

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 창 메뉴에서 **훈련 계획**을 선택합니다. 여기에는 이름, 상태, 대상 리소스 유형 및 기타 주요 세부 정보를 포함한 모든 훈련 계획의 목록이 표시됩니다.

   계획을 구매하면 이 목록으로 이동합니다. 새로 생성된 계획은 결제가 완료될 때까지 `Pending` 상태로 표시됩니다. 상태는 일반적으로 결제 처리 후 몇 분 이내에 업데이트됩니다.

![\[훈련 계획 목록 페이지가 표시된 SageMaker AI 콘솔입니다. 페이지에 이름, 상태, 총 인스턴스 수, 사용 중인 인스턴스 수, 영역, 시작 날짜 및 종료 날짜와 같은 세부 정보가 나와 있는 훈련 계획이 나열된 테이블이 포함되어 있습니다. 새 훈련 계획을 생성하는 버튼이 보입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-list-training-plans.png)


# 훈련 계획 세부 정보 보기
<a name="training-plan-details"></a>

훈련 계획 목록에서 계획의 이름을 따라 세부 정보를 확인합니다. 구체적으로, 현재 용량 사용량을 확인하고 계획의 세부 정보 페이지에 워크로드를 나열할 수 있습니다.

세부 정보 페이지에는 다음이 표시됩니다.
+ 훈련 계획 개요: 상태, 대상, 인스턴스 유형 및 기간
+ 세그먼트 세부 정보, 요금, 계획 이름 및 태그에 대한 확장 가능한 섹션
+ 용량 사용률:
  + 합계: 이 훈련 계획에 예약된 총 인스턴스 수입니다.
  + 사용 중: 이 훈련 계획에서 현재 사용 중인 인스턴스 수입니다.
  + 사용 가능한 인스턴스: 이 훈련 계획에 현재 사용할 수 있는 인스턴스 수입니다.

페이지 하단의 링크를 사용하면 대상 리소스에 따라 이 계획과 연결된 훈련 작업 또는 SageMaker HyperPod 클러스터 인스턴스 그룹 목록을 볼 수 있습니다.

![\[훈련 계획의 세부 정보를 표시하는 SageMaker AI 콘솔 페이지입니다. 페이지에 기본 계획 정보, 상태 및 인스턴스 세부 정보가 표시되어 있습니다. 다음은 추가 세부 정보를 위해 확장 가능한 섹션입니다. 하단의 용량 사용률 섹션에는 계획의 총 인스턴스 수, 사용 중인 인스턴스 수 및 사용 가능한 인스턴스 수가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-view-training-plan.png)


# SageMaker API를 사용한 SageMaker 훈련 계획 생성 또는 AWS CLI
<a name="training-plan-creation-using-api-cli-sdk"></a>

SageMaker 훈련 계획은 API를 통한 훈련 계획의 프로그래밍 방식 생성을 지원합니다. AWS CLI 또는 SageMaker SDKs.

SageMaker 훈련 계획의 API 작업은 프로그래밍 방식으로 훈련 계획을 관리하기 위한 포괄적인 워크플로를 제공합니다.
+ **`SearchTrainingPlanOfferings`:** 인스턴스 유형, 개수 및 원하는 기간과 같은 파라미터를 지정하여 사용자가 사용 가능한 컴퓨팅 리소스를 쿼리하고 검색할 수 있도록 합니다. API는 사용자의 요구 사항에 가장 적합한 훈련 계획 오퍼링의 순위 목록을 반환합니다.
+ **`CreateTrainingPlan`:** 특정 훈련 계획 오퍼링을 예약하여 고유한 훈련 계획 ARN을 사용하여 잠재적 컴퓨팅 용량을 예약 용량으로 변환할 수 있도록 합니다.
+ **`ListTrainingPlans`:** 선택적 필터링 및 정렬 기능을 사용하여 사용자 AWS 계정의 모든 기존 훈련 계획을 검색하고 검토하는 방법을 제공합니다.
+ **`DescribeTrainingPlan`:** `Pending`에서 `Active`, `Expired`로 이어지는 수명 주기 단계를 포함하여 특정 훈련 계획에 대한 자세한 인사이트를 제공합니다.
+ **`ExtendTrainingPlan`:** 확장 상품을 구매하여 기존 훈련 계획을 확장합니다. 자세한 내용은 [훈련 계획 확장](training-plan-extension.md) 단원을 참조하십시오.
+ **`DescribeTrainingPlanExtensionHistory`:** 훈련 계획의 확장 기록을 검색합니다. 자세한 내용은 [훈련 계획 확장](training-plan-extension.md) 단원을 참조하십시오.

**Topics**
+ [훈련 계획 오퍼링 검색](search-training-plan-offerings-api-cli-sdk.md)
+ [최상의 훈련 계획 예약](choose-best-training-plan-using-api-cli-sdk.md)
+ [훈련 계획 나열](list-training-plans-using-api-cli-sdk.md)
+ [훈련 계획 세부 정보 보기](training-plan-details-using-api-cli-sdk.md)

# 훈련 계획 오퍼링 검색
<a name="search-training-plan-offerings-api-cli-sdk"></a>

훈련 계획을 생성하려면 먼저 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) API 작업을 직접적으로 호출하고 계획 요구 사항(예: 인스턴스 유형, 개수 및 원하는 기간)을 입력 파라미터로 전달합니다. 훈련 계획은 대상 리소스에 따라 다릅니다. 계획을 사용할 대상 리소스를 지정해야 합니다(`training-job` 또는 `hyperpod-cluster`). API는 요구 사항에 맞는 사용 가능한 제품 목록을 반환합니다. 적합한 오퍼링을 찾을 수 없는 경우 요구 사항을 조정하고 다시 검색해야 할 수 있습니다.

이 API 직접 호출은 용량 요구 사항에 가장 적합한 훈련 계획 오퍼링을 검색합니다. 응답에 반환된 각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanOffering.html)는 고유한 오퍼링 ID로 식별됩니다. 목록의 첫 번째 오퍼링은 요구 사항에 가장 적합한 오퍼링입니다. 지정된 날짜 내에 적절한 훈련 계획이 없는 경우 목록이 비어 있습니다. 검색 기준을 조정하고 새로운 오퍼링 세트를 찾으세요.
+ 예약 기간은 1일에서 182일까지 1일 단위로 제공됩니다.
+ 예약 인스턴스 수량 옵션은 1, 2, 4, 8, 16, 32 또는 64개입니다.

SageMaker 훈련 계획에서 지원하는 사용 가능한 인스턴스 목록에 대한 자세한 내용은 [지원되는 인스턴스 유형 AWS 리전및 요금](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions) 섹션을 참조하세요.

다음 예제에서는 AWS CLI 명령을 사용하여 지정된 인스턴스 유형, 개수 및 시간 정보가 있는 훈련 계획 상품을 요청합니다.

```
# List training plan offerings with instance type, instance count, duration in hours, start time after, and end time before.
aws sagemaker search-training-plan-offerings \
--target-resources "training-job" \
--instance-type "ml.p4d.24xlarge" \
--instance-count 1 \
--duration-hours 15 \
--start-time-after "1737484800"
--end-time-before "1737657600"
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답은 지정된 용량 요구 사항에 부합하며 사용 가능한 여러 훈련 계획 오퍼링에 대한 정보를 제공합니다. 여기에는 기간, 선결제 요금, 시작/종료 시간이 서로 다른 세 가지 오퍼링이 포함되며, 모두 동일한 인스턴스 유형을 사용하고 훈련 작업을 대상으로 합니다.

```
{
    "TrainingPlanOfferings": [
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 15,
            "DurationMinutes": 51,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 15,
                    "DurationMinutes": 51,
                    "StartTime": "2025-01-21T11:39:00-08:00",
                    "EndTime": "2025-01-22T03:30:00-08:00"
                }
            ]
        },
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 39,
            "DurationMinutes": 51,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 39,
                    "DurationMinutes": 51,
                    "StartTime": "2025-01-21T11:39:00-08:00",
                    "EndTime": "2025-01-23T03:30:00-08:00"
                }
            ]
        },
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-01-21T11:08:27.704000-08:00",
            "DurationHours": 24,
            "DurationMinutes": 0,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "InstanceType": "ml.p4d.24xlarge",
                    "InstanceCount": 1,
                    "AvailabilityZone": "us-west-2a",
                    "DurationHours": 24,
                    "DurationMinutes": 0,
                    "StartTime": "2025-01-22T03:30:00-08:00",
                    "EndTime": "2025-01-23T03:30:00-08:00"
                }
            ]
        }
    ]
}
```

다음은를 사용하여 UltraServers가 포함된 훈련 계획 상품을 AWS CLI 검색하는 방법에 대한 샘플 명령입니다.

```
aws sagemaker search-training-plan-offerings \
--ultra-server-type ml.c6i-32xlargesc \
--ultra-server-count 1 \
--duration-hours 24 \
--target-resources hyperpod-cluster
--start-time-after "1737484800" \
--end-time-before "1737657600"
```

```
{
    "TrainingPlanOfferings": [
        {
            "TrainingPlanOfferingId": "tpo-SHA-256-hash-value",
            "TargetResources": [
                "training-job"
            ],
            "RequestedStartTimeAfter": "2025-07-21T16:59:25.760000+00:00",
            "DurationHours": 24,
            "DurationMinutes": 0,
            "UpfrontFee": "0.24",
            "CurrencyCode": "USD",
            "ReservedCapacityOfferings": [
                {
                    "ReservedCapacityType": "UltraServer",
                    "UltraServerType": "ml.u-p6e-gb200x72",
                    "UltraServerCount": 1,
                    "InstanceType": "ml.p6e-gb200.36xlarge",
                    "InstanceCount": 18,
                    "AvailabilityZone": "us-east-2a",
                    "DurationHours": 24,
                    "DurationMinutes": 0,
                    "StartTime": "2025-07-22T11:30:00+00:00",
                    "EndTime": "2025-07-23T11:30:00+00:00"
                }
            ]
        }
    ]
}
```

다음 섹션에서는 `SearchTrainingPlanOfferings` API의 필수 및 선택적 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="search-training-plan-options-required-params"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) API를 직접적으로 호출하여 요구 사항을 충족하는 훈련 계획 오퍼링을 나열할 때 다음 값을 제공해야 합니다.
+ `TargetResources`: 계획이 사용될 대상 리소스(`training-job` 또는 `hyperpod-cluster`)입니다. 기본값은 `training-job`입니다. 훈련 계획은 대상 리소스에 따라 다릅니다.
  + SageMaker 훈련 작업을 위해 설계된 훈련 계획은 훈련 작업을 예약하고 실행하는 데만 사용할 수 있습니다.
  + HyperPod 클러스터에 대한 훈련 계획은 클러스터의 인스턴스 그룹에 컴퓨팅 리소스를 제공하는 데만 사용할 수 있습니다.
+ `InstanceType`: 프로비저닝할 인스턴스의 유형입니다. `InstanceType`은 지원되는 유형이어야 합니다.

  SageMaker 훈련 계획에서 지원하는 사용 가능한 인스턴스 목록에 대한 자세한 내용은 [지원되는 인스턴스 유형 AWS 리전및 요금](reserve-capacity-with-training-plans.md#training-plans-supported-instances-and-regions) 섹션을 참조하세요.
+ `InstanceCount`: 프로비저닝할 인스턴스의 수입니다. 인스턴스 수가 1보다 크면 2의 거듭제곱이어야 합니다.
+ `DurationHour`: 요청된 계획의 총 지속 기간(시간)입니다. `DurationHour`는 24의 가장 가까운 배수로 반올림됩니다.

## 선택적 파라미터
<a name="search-training-plan-options-optional-params"></a>

다음 섹션에서는 `SearchTrainingPlanOfferings` API 요청에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다.
+ `StartTimeAfter`: 계획의 요청된 시작 시간을 지정합니다. `StartTimeAfter`는 `timestamp` 또는 미래의 `ISO 8601 date/time` 값이어야 합니다.
+ `EndTimeBefore`: 계획의 요청된 종료 시간을 `timestamp` 또는 `ISO 8601 date/time` 형식으로 지정합니다. `EndTimeBefore`는 시작 시간 최소 24시간 이후여야 합니다.
+ `UltraServerType`: 검색할 UltraServer 유형을 지정합니다. UltraServers에 대한 자세한 내용은 [SageMaker AI의 UltraServers](reserve-capacity-with-training-plans.md#training-plans-ultraservers) 섹션을 참조하세요.
+ `UltraServerCount`: 검색할 UltraServers 수를 지정합니다.

# 최상의 훈련 계획 예약
<a name="choose-best-training-plan-using-api-cli-sdk"></a>

요구 사항에 가장 적합한 사용 가능한 훈련 계획 오퍼링을 검토한 후 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html) API 작업을 직접적으로 호출하여 특정 계획을 예약할 수 있습니다. 생성되면 계획은 처음에 `Pending` 상태가 되고 예약 프로세스가 완료될 때까지 그대로 유지됩니다. API 직접 호출에 대한 응답은 훈련 계획 Amazon 리소스 이름(ARN)을 반환합니다. 나중에 추적 및 모니터링할 수 있도록 이 ARN을 기록해 두세요. 훈련 계획 예약은 백엔드에서 비동기적으로 이행됩니다. 총 금액에 대한 결제는 이행 프로세스의 일부로 자동으로 수금됩니다. 결제 트랜잭션이 완료되고 요청된 예약 용량이 확보되면 훈련 계획이 `Scheduled` 상태로 설정되고 예약할 준비가 됩니다.

**중요**  
구매하고 나면 훈련 계획을 수정할 수 없습니다.
훈련 계획은 AWS 계정 간에 또는 조직 내에서 공유할 수 AWS 없습니다.

다음 예제에서는 AWS CLI 명령을 사용하여 특정 훈련 계획을 요청하고 계획 ID를 파라미터로 전달합니다.

```
aws sagemaker create-training-plan \
--training-plan-offering-id "tpo-SHA-256-hash-value" \
--training-plan-name "name" \
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답에는 성공적으로 생성된 훈련 계획의 Amazon 리소스 이름(ARN)이 포함됩니다.

**참고**  
훈련 계획은 이행 프로세스가 완료될 때까지 `Pending` 상태를 유지합니다.

```
{
   "TrainingPlanArn":"arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning"
}
```

다음 섹션에서는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html) API의 필수 및 선택적 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="choose-best-training-plan-using-api-cli-sdk-required-params"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html) API를 직접적으로 호출하여 특정 훈련 계획을 예약할 때 다음 값을 제공해야 합니다.
+ `TrainingPlanOfferingId`: 선택한 계획의 ID입니다. `SearchTrainingPlanOfferings` API 직접 호출의 응답으로 계획 오퍼링의 ID를 가져올 수 있습니다. 형식은 `pto-*`로 시작해야 합니다.
+ `TrainingPlanName`: 생성 중인 계획의 이름입니다.

# 훈련 계획 나열
<a name="list-training-plans-using-api-cli-sdk"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingPlans.html) API를 호출하여 AWS 계정 및 리전에서 생성된 모든 훈련 계획을 나열할 수 있습니다.

다음 예제에서는 AWS CLI 명령을 사용하여 훈련 계획 목록을 검색합니다.

```
aws sagemaker list-training-plans \
--start-time-after "2024-09-26T00:00:01.000Z"
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답은 성공적으로 생성되고 예약된 하나의 훈련 계획에 대한 세부 정보를 제공합니다.

```
{
   "[TrainingPlanSummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanSummary.html)": [ 
      { 
         "AvailableInstanceCount": 2,
         "CurrencyCode": "USD",
         "DurationHours": 48,
         "DurationMinutes": 0,
         "EndTime": "2024-09-28T04:30:00-07:00",
         "InUseInstanceCount": 2,
         "[ReservedCapacitySummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ReservedCapacitySummary.html)": [ 
            { 
               "AvailabilityZone": "string",
               "DurationHours": 48,
               "DurationMinutes": 0,
               "EndTime": "2024-09-28T04:30:00-07:00",
               "InstanceType": "ml.p5.48xlarge",
               "ReservedCapacityArn": "arn:aws:sagemaker:us-east-1:123456789123:reserved-capacity/large-models-fine-tuning-rc1",
               "StartTime": "2024-09-26T04:30:00-07:00",
               "Status": "Scheduled",
               "TotalInstanceCount": 4,
               "UltraServerCount": 4,
               "UltraServerType": "ml.p6e-gb200.36xlarge"
            }
         ],
         "StartTime": "2024-09-26T04:30:00-07:00",
         "Status": "Scheduled",
         "StatusMessage": "Payment confirmed, training plan scheduled."
         "TargetResources": [ "training-job" ],
         "TotalInstanceCount": 4,
         "TotalUltraServerCount": 4,
         "TrainingPlanArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning",
         "TrainingPlanName": "large-models-fine-tuning",
         "UpfrontFee": "xxxx.xx"
      }
   ]
}
```

다음 섹션에서는 `ListTrainingPlans` API 요청에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다.

## 선택적 파라미터
<a name="list-training-plans-optional-params"></a>

다음 섹션에서는 `ListTrainingPlans` API 요청에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다.
+ `StartTimeAfter`: 나열된 계획의 실제 시간 범위의 시작 시간으로, `timestamp` 또는 `ISO 8601 date/time`으로 지정됩니다.
+ `StartTimeBefore`: 나열된 계획의 실제 시간 범위의 종료 시간으로, `timestamp` 또는 `ISO 8601 date/time`으로 지정됩니다.
+ `Filters`: 최대 5개의 이름-값 페어로 결과를 필터링하는 데 사용되는 기준입니다. 여기서 '이름'은 [TrainingPlanSummary](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingPlanSummary.html)의 필드 이름이고 '값'은 필터에 고려할 값입니다. 예: `Name=Status,Value=Active`.

다음 예제에서는 AWS CLI 명령을 사용하여 위에서 설명한 선택적 파라미터 중 일부를 사용하여 훈련 계획 목록을 검색합니다.

```
aws sagemaker list-training-plans --max-results 10 --sort-by StartTime --sort-order Descending --start-time-after 13000000 --filters Name=Status,Value=Active
```

# 훈련 계획 세부 정보 보기
<a name="training-plan-details-using-api-cli-sdk"></a>

훈련 계획의 상태를 모니터링하거나 세부 정보를 가져오려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html) API를 사용할 수 있습니다. API 응답에는 훈련 계획의 현재 상태를 반영하는 `Status` 필드가 포함됩니다.
+ 계획 구매가 실패하면 상태가 `Failed`로 설정됩니다.
+ 결제가 성공하면 계획의 시작 날짜에 따라 상태가 `Pending`에서 `Scheduled`로 전환됩니다.
+ 계획 시작 날짜가 되면 상태가 `Active`로 변경됩니다.
+ 여러 개의 불연속 예약 용량이 있는 계획의 경우, 활성 기간이 아닐 때는 상태가 다음 예약 용량의 시작 날짜까지 `Scheduled`로 되돌아갑니다.
+ 계획 종료 날짜 이후에는 상태가 `Expired`가 됩니다.

상태가 `Scheduled`이면 SageMaker 훈련 작업 또는 HyperPod 클러스터 워크로드에 대한 계획에 예약 용량을 활용할 수 있습니다.

**참고**  
계획과 연결된 훈련 작업은 계획이 `Active`가 될 때까지 `Pending` 상태로 유지됩니다.
컴퓨팅 용량에 대한 훈련 계획을 사용하는 HyperPod 클러스터의 경우 인스턴스 그룹 상태는 생성되면 `InService`로 표시됩니다.

다음 예제에서는 AWS CLI 명령을 사용하여 교육 계획의 세부 정보를 이름으로 검색합니다.

```
aws sagemaker describe-training-plan \
--training-plan-name "name"
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 이 응답은 성공적으로 생성된 훈련 계획에 대한 세부 정보를 제공합니다.

```
      { 
         "AvailableInstanceCount": 2,
         "CurrencyCode": "USD",
         "DurationHours": 48,
         "DurationMinutes": 0,
         "EndTime": "2024-09-28T04:30:00-07:00",
         "InUseInstanceCount": 2,
         "[ReservedCapacitySummaries](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ReservedCapacitySummary.html)": [ 
            { 
               "AvailabilityZone": "string",
               "DurationHours": 48,
               "DurationMinutes": 0,
               "EndTime": "2024-09-28T04:30:00-07:00",
               "InstanceType": "ml.p5.48xlarge",
               "ReservedCapacityArn": "arn:aws:sagemaker:us-east-1:123456789123:reserved-capacity/large-models-fine-tuning-rc1",
               "StartTime": "2024-09-26T04:30:00-07:00",
               "Status": "Scheduled",
               "TotalInstanceCount": 4,
               "UltraServerCount": 4,
               "UltraServerType": "ml.p6e-gb200.36xlarge"
            }
         ],
         "StartTime": "2024-09-26T04:30:00-07:00",
         "Status": "Scheduled",
         "StatusMessage": "Payment confirmed, training plan scheduled."
         "TargetResources": [ "training-job" ],
         "TotalInstanceCount": 4,
         "TotalUltraServerCount": 4,
         "TrainingPlanArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/large-models-fine-tuning",
         "TrainingPlanName": "large-models-fine-tuning",
         "UpfrontFee": "xxxx.xx"
      }
```

다음 섹션에서는 `DescribeTrainingPlan` API 작업에 대한 필수 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="training-plan-details-required-params"></a>
+ `TrainingPlanName`: 설명하려는 훈련 계획의 이름입니다.

# 훈련 계획 확장
<a name="training-plan-extension"></a>

SageMaker 훈련 계획을 사용하면 기존 훈련 계획을 확장하여 워크로드 중단을 방지할 수 있습니다. 훈련 계획이 만료에 가까워지면 SageMaker AI 콘솔을 통해 직접 확장하거나 API 또는를 사용하여 프로그래밍 방식으로 확장할 수 있습니다 AWS CLI. 따라서 새 계획을 생성하고 새 훈련 계획 ARN으로 워크로드를 재구성할 필요가 없습니다.

훈련 계획 확장을 사용하면 계획이 확장되면 실행 중인 SageMaker 훈련 작업 또는 SageMaker HyperPod 클러스터가 중단 없이 계속 원활하게 작동합니다. 확장 계획은 새 종료 날짜를 반영하며 훈련 계획의 모든 확장 기록을 검색할 수 있습니다.

**중요**  
인스턴스를 추가하거나 제거하기 위해 확장을 취소하거나 수정할 수 없습니다.

## 주요 기능
<a name="training-plan-extension-features"></a>
+ 콘솔 또는 API를 통해 훈련 계획 확장
+ 계획을 1일 단위로 최대 14일까지 연장하거나 7일 단위로 최대 182일까지 연장합니다.
+ 원하는 횟수만큼 계획 확장
+ 콘솔 또는 API를 통해 훈련 계획의 확장 기록 보기/목록 조회
+ 재구성 없이 SageMaker AI에서 워크로드를 원활하게 계속 실행

## 사전 조건
<a name="training-plan-extension-prerequisites"></a>

훈련 계획을 확장하기 전에 다음을 확인하세요.
+ 훈련 계획의 상태는 `Active` 또는 여야 합니다`Scheduled`.
+ 계획에 `Payment Pending` 상태의 확장이 없어야 합니다.
+ 플랜이 만료되기 전에 최소 1시간 또는 최대 56일까지 연장을 요청할 수 있습니다.

**Topics**
+ [주요 기능](#training-plan-extension-features)
+ [사전 조건](#training-plan-extension-prerequisites)
+ [SageMaker AI 콘솔을 사용하여 훈련 계획 확장](training-plan-extension-using-console.md)
+ [SageMaker API 또는를 사용하여 훈련 계획 확장 AWS CLI](training-plan-extension-using-api-cli-sdk.md)

# SageMaker AI 콘솔을 사용하여 훈련 계획 확장
<a name="training-plan-extension-using-console"></a>

SageMaker 훈련 계획은 SageMaker AI 콘솔 UI를 통해 기존 훈련 계획을 확장할 수 있는 편리한 방법을 제공합니다. 이 가이드에서는 SageMaker AI 콘솔을 사용하여 SageMaker 훈련 작업 및 SageMaker HyperPod 클러스터에 대한 훈련 계획을 확장하는 프로세스를 안내합니다.

콘솔을 사용하여 훈련 계획을 확장하려면:

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **훈련 계획을** 선택합니다.

1. 목록에서 확장하려는 훈련 계획을 선택합니다.

1. **확장** 버튼을 선택합니다.

1. 원하는 확장 종료일을 입력하고 **검색을** 선택하여 사용 가능한 확장 상품을 찾습니다.

1. 기간, 가용 영역, 선결제 요금, 시작 및 종료 시간과 같은 세부 정보가 포함된 확장 상품 목록을 검토합니다.

1. 요구 사항에 가장 적합한 확장 상품을 선택합니다.

1. 확인 대화 상자에서 확장 세부 정보를 검토한 다음 **제출**을 선택하여 구매를 확인합니다.

익스텐션을 구매한 후 훈련 계획의 종료 날짜가 업데이트되어 새로운 연장 기간을 반영합니다.

## 확장 기록 보기
<a name="training-plan-extension-history-console"></a>

훈련 계획의 확장 기록을 보려면:

1. SageMaker AI 콘솔에서 **훈련 계획** 페이지로 이동합니다.

1. 보려는 훈련 계획을 선택합니다.

1. 훈련 계획 세부 정보 페이지에서 **익스텐션** 섹션을 보고 익스텐션 제공 ID, 시작 및 종료 날짜, 상태, 익스텐션 생성 시기를 포함한 모든 과거 익스텐션을 확인합니다.

## 확장 상태 값
<a name="training-plan-extension-status-values-console"></a>

확장은 다음과 같은 상태 값을 가질 수 있습니다.
+ `Pending`: 확장이 요청되었으며 결제 처리를 기다리고 있습니다.
+ `Active`: 확장을 성공적으로 구매했으며 활성 상태입니다.
+ `Scheduled`: 확장은 향후에 시작될 예정입니다.
+ `Failed`: 확장 구매 실패(예: 결제 문제로 인해).
+ `Expired`: 연장 기간이 종료되었습니다.

# SageMaker API 또는를 사용하여 훈련 계획 확장 AWS CLI
<a name="training-plan-extension-using-api-cli-sdk"></a>

SageMaker 훈련 계획은 API를 통해 프로그래밍 방식으로 훈련 계획을 확장할 수 있도록 지원합니다. AWS CLI 또는 SageMaker SDKs.

훈련 계획 확장에는 다음 API 작업이 포함됩니다.
+ **`SearchTrainingPlanOfferings`:** 훈련 계획 ARN과 원하는 확장 기간을 지정하여 사용 가능한 확장 상품을 검색합니다. API는 `TrainingPlanExtensionOfferings` 필드에 확장 상품을 반환합니다.
+ **`ExtendTrainingPlan`:**를 제공하여 훈련 계획을 확장하기 위해 특정 확장 상품을 구매합니다`TrainingPlanExtensionOfferingId`. 이렇게 하면 추가 컴퓨팅 용량이 예약되고 훈련 계획의 종료 날짜가 업데이트됩니다.
+ **`DescribeTrainingPlanExtensionHistory`:** 상태, 날짜 및 결제 정보가 포함된 모든 과거 익스텐션을 포함하여 훈련 계획의 전체 익스텐션 기록을 봅니다.

**Topics**
+ [확장 상품 검색](search-extension-offerings-api-cli-sdk.md)
+ [익스텐션 구매](extend-training-plan-api-cli-sdk.md)
+ [확장 기록 보기](describe-extension-history-api-cli-sdk.md)

# 확장 상품 검색
<a name="search-extension-offerings-api-cli-sdk"></a>

`TrainingPlanArn` 파라미터와 함께 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) API를 사용하여 훈련 계획에 사용할 수 있는 확장 상품을 찾습니다.

다음 예제에서는 AWS CLI 명령을 사용하여 기존 훈련 계획에 대한 확장 상품을 검색합니다.

```
aws sagemaker search-training-plan-offerings \
--training-plan-arn "arn:aws:sagemaker:us-east-2:123456789012:training-plan/my-training-plan" \
--duration-hours 48
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답에는 지정된 훈련 계획에 사용할 수 있는 확장 상품이 `TrainingPlanExtensionOfferings` 포함되어 있습니다.

```
{
    "TrainingPlanOfferings": [],
    "TrainingPlanExtensionOfferings": [
        {
            "TrainingPlanExtensionOfferingId": "tpeo-SHA-256-hash-value",
            "AvailabilityZone": "us-east-2a",
            "StartDate": "2025-09-23T12:00:00Z",
            "EndDate": "2025-09-25T12:00:00Z",
            "DurationHours": 48,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD"
        }
    ]
}
```

다음 섹션에서는 확장 상품을 검색할 때 `SearchTrainingPlanOfferings` API 작업에 대한 필수 및 선택적 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="search-extension-offerings-required-params"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SearchTrainingPlanOfferings.html) API를 호출하여 확장 상품을 검색할 때 다음 값을 제공해야 합니다.
+ `TrainingPlanArn`: 확장하려는 훈련 계획의 입니다. 는 또는 상태의 기존 훈련 계획을 참조`TrainingPlanArn`해야 합니다`Active``Scheduled`.

## 선택적 파라미터
<a name="search-extension-offerings-optional-params"></a>

다음 섹션에서는 확장 상품을 검색할 때 `SearchTrainingPlanOfferings` API 요청에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다.
+ `DurationHours`: 익스텐션에 대해 원하는 시간 단위 지속 시간입니다. `DurationHours`는 24의 가장 가까운 배수로 반올림됩니다.

# 익스텐션 구매
<a name="extend-training-plan-api-cli-sdk"></a>

익스텐션 상품을 선택한 후 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ExtendTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ExtendTrainingPlan.html) API를 사용하여 익스텐션을 구매합니다.

다음 예제에서는 AWS CLI 명령을 사용하여 훈련 계획을 확장합니다.

```
aws sagemaker extend-training-plan \
--training-plan-extension-offering-id "tpeo-SHA-256-hash-value"
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답에는 훈련 계획의 확장 목록이 포함됩니다.

```
{
    "TrainingPlanExtensions": [
        {
            "TrainingPlanExtensionOfferingId": "tpeo-SHA-256-hash-value",
            "ExtendedAt": "2025-09-17T10:00:00Z",
            "StartDate": "2025-09-23T12:00:00Z",
            "EndDate": "2025-09-25T12:00:00Z",
            "Status": "Pending",
            "PaymentStatus": "Pending",
            "AvailabilityZone": "us-east-2a",
            "DurationHours": 48,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD"
        }
    ]
}
```

다음 섹션에서는 `ExtendTrainingPlan` API 작업에 대한 필수 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="extend-training-plan-required-params"></a>

훈련 계획을 확장하기 위해 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ExtendTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ExtendTrainingPlan.html) API를 호출할 때 다음 값을 제공해야 합니다.
+ `TrainingPlanExtensionOfferingId`: 구매하려는 확장 제안의 ID입니다. `SearchTrainingPlanOfferings` API 호출의 응답`TrainingPlanExtensionOfferings`으로에서이 ID를 검색할 수 있습니다. 형식은 `tpeo-*`로 시작해야 합니다.

# 확장 기록 보기
<a name="describe-extension-history-api-cli-sdk"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlanExtensionHistory.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlanExtensionHistory.html) API를 사용하여 훈련 계획의 전체 확장 기록을 봅니다.

다음 예제에서는 AWS CLI 명령을 사용하여 확장 기록을 검색합니다.

```
aws sagemaker describe-training-plan-extension-history \
--training-plan-arn "arn:aws:sagemaker:us-east-2:123456789012:training-plan/my-training-plan"
```

이 JSON 문서는 SageMaker 훈련 계획 API의 샘플 응답입니다. 응답에는 훈련 계획에 대한 모든 확장의 페이지가 매겨진 목록이 포함됩니다.

```
{
    "TrainingPlanExtensions": [
        {
            "TrainingPlanExtensionOfferingId": "tpeo-SHA-256-hash-value",
            "ExtendedAt": "2025-09-17T10:00:00Z",
            "StartDate": "2025-09-23T12:00:00Z",
            "EndDate": "2025-09-25T12:00:00Z",
            "Status": "Active",
            "PaymentStatus": "Completed",
            "AvailabilityZone": "us-east-2a",
            "DurationHours": 48,
            "UpfrontFee": "xxxx.xx",
            "CurrencyCode": "USD"
        }
    ],
    "NextToken": null
}
```

다음 섹션에서는 `DescribeTrainingPlanExtensionHistory` API의 필수 및 선택적 입력 요청 파라미터를 정의합니다.

## 필수 파라미터
<a name="describe-extension-history-required-params"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlanExtensionHistory.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlanExtensionHistory.html) API를 호출할 때 다음 값을 제공해야 합니다.
+ `TrainingPlanArn`: 확장 기록을 검색할 훈련 계획의 입니다.

## 선택적 파라미터
<a name="describe-extension-history-optional-params"></a>

다음 섹션에서는 `DescribeTrainingPlanExtensionHistory` API 요청에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다.
+ `NextToken`: 이전 응답이 잘린 경우이 토큰을 받게 됩니다. 다음 요청에 사용하여 다음 결과 세트를 수신합니다.
+ `MaxResults`: 응답에서 반환할 최대 확장 수입니다.

## 확장 상태 값
<a name="extension-status-values-api"></a>

확장은 다음과 같은 상태 값을 가질 수 있습니다.
+ `Pending`: 확장이 요청되었으며 결제 처리를 기다리고 있습니다.
+ `Active`: 확장을 성공적으로 구매했으며 활성 상태입니다.
+ `Scheduled`: 확장은 향후에 시작될 예정입니다.
+ `Failed`: 확장 구매 실패(예: 결제 문제로 인해).
+ `Expired`: 연장 기간이 종료되었습니다.

# SageMaker 훈련 작업에 대한 훈련 계획 사용률
<a name="training-plan-utilization-for-training-jobs"></a>

훈련 작업을 생성할 때 원하는 계획을 지정하여 훈련 작업에 SageMaker 훈련 계획을 사용할 수 있습니다.

**참고**  
훈련 계획을 훈련 작업에서 사용하려면 상태가 `Scheduled` 또는 `Active`여야 합니다.

훈련 작업에 필요한 용량을 즉시 사용할 수 없다면 작업은 가용 상태가 되거나 `StoppingCondition`이 충족되거나 작업이 2일 동안 용량에 대해 `Pending` 상태인 경우 중 가장 먼저 도래하는 시점까지 대기합니다. 중지 조건이 충족되면 작업이 중지됩니다. 작업이 2일 동안 보류 중이면 `InsufficientCapacityError`와 함께 종료됩니다.

**중요**  
**예약 용량 종료 프로세스:** 사용자는 예약 용량 종료 시간 30분 전까지 모든 예약 인스턴스에 대한 전체 액세스 권한을 가집니다. 예약 용량에 30분이 남아 있는 경우 SageMaker 훈련 계획은 해당 예약 용량 내에서 실행 중인 인스턴스를 종료하는 프로세스를 시작합니다.  
이러한 종료로 인해 진행 상황이 손실되지 않도록 훈련 작업에 체크포인트를 지정하는 것이 좋습니다.

## 훈련 작업 체크포인트 지정
<a name="training-jobs-checkpointing"></a>

SageMaker 훈련 작업에 SageMaker 훈련 계획을 사용할 때는 훈련 스크립트에서 체크포인트 지정을 구현해야 합니다. 이렇게 하면 예약 용량이 만료되기 전에 훈련 진행 상황을 저장할 수 있습니다. 예약 용량으로 작업할 때는 체크포인트 지정이 특히 중요합니다. 두 예약 용량 사이에 작업이 중단되거나 훈련 계획이 종료 날짜에 도달하면 마지막으로 저장된 시점부터 훈련을 재개할 수 있기 때문입니다.

`SAGEMAKER_CURRENT_CAPACITY_BLOCK_EXPIRATION_TIMESTAMP` 환경 변수를 사용하여 수행할 수 있습니다. 이 변수는 체크포인트 프로세스를 시작할 시기를 결정하는 데 도움이 됩니다. 이 로직을 훈련 스크립트에 통합하면 모델의 진행 상황을 적절한 간격으로 저장할 수 있습니다.

다음은 Python 훈련 스크립트에서 이 체크포인트 지정 로직을 구현하는 방법의 예입니다.

```
import os
import time
from datetime import datetime, timedelta

def is_close_to_expiration(threshold_minutes=30):
    # Retrieve the expiration timestamp from the environment variable
    expiration_time_str = os.environ.get('SAGEMAKER_CURRENT_CAPACITY_BLOCK_EXPIRATION_TIMESTAMP', '0')
    
    # If the timestamp is not set (default '0'), return False
    if expiration_time_str == '0':
        return False
    
    # Convert the timestamp string (in milliseconds) to a datetime object
    expiration_time = datetime(1970, 1, 1) + timedelta(milliseconds=int(expiration_time_str))
    
    # Calculate the time difference between now and the expiration time
    time_difference = expiration_time - datetime.now()
    
    # Return True if we're within the threshold time of expiration
    return time_difference < timedelta(minutes=threshold_minutes)

def start_checkpointing():
    # Placeholder function for checkpointing logic
    print("Starting checkpointing process...")
    # TODO: Implement actual checkpointing logic here
    # For example:
    # - Save model state
    # - Save optimizer state
    # - Save current epoch and iteration numbers
    # - Save any other relevant training state

# Main training loop
num_epochs = 100
final_checkpointing_done = False
for epoch in range(num_epochs):
    # TODO: Replace this with your actual training code
    # For example:
    # - Load a batch of data
    # - Forward pass
    # - Calculate loss
    # - Backward pass
    # - Update model parameters
    
    # Check if we're close to capacity expiration and haven't done final checkpointing
    if not final_checkpointing_done and is_close_to_expiration():
        start_checkpointing()
        final_checkpointing_done = True
    
    # Simulate some training time (remove this in actual implementation)
    time.sleep(1)
print("Training completed.")
```

**참고**  
훈련 작업 프로비저닝은 선입선출(FIFO)의 순서를 따르지만, 더 큰 작업을 수행할 수 없는 경우 이전에 생성된 더 큰 클러스터 작업보다 나중에 생성된 더 작은 클러스터 작업에 용량이 할당될 수 있습니다.
SageMaker 훈련 관리형 웜 풀은 SageMaker 훈련 계획과 호환됩니다. 클러스터 재사용의 경우 동일한 클러스터를 재사용하려면 후속 `CreateTrainingJob` 요청에서 동일한 `TrainingPlanArn` 값을 제공해야 합니다.

**Topics**
+ [훈련 작업 체크포인트 지정](#training-jobs-checkpointing)
+ [SageMaker AI 콘솔을 사용하여 훈련 작업 생성](use-training-plan-for-training-jobs-using-console.md)
+ [API, AWS CLI SageMaker SDK를 사용하여 훈련 작업 생성](use-training-plan-for-training-jobs-using-api-cli-sdk.md)

# SageMaker AI 콘솔을 사용하여 훈련 작업 생성
<a name="use-training-plan-for-training-jobs-using-console"></a>

SageMaker AI UI를 사용하여 훈련 작업에 SageMaker 훈련 계획을 사용할 수 있습니다. 훈련 작업을 생성할 때 선택한 인스턴스와 리전이 사용 가능한 계획에 부합하는 경우 사용 가능한 계획이 제안됩니다.

SageMaker 콘솔에서 훈련 계획의 예약 용량을 사용하여 훈련 작업을 생성하는 방법:

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **훈련**을 선택한 후 **훈련 작업**을 선택합니다.

1. **훈련 작업 생성** 버튼을 선택합니다.

1. 훈련 작업에 대한 리소스를 구성할 때 **인스턴스 용량** 섹션을 찾습니다. 선택한 인스턴스 유형 및 리전과 일치하는 계획이 있는 경우 여기에 표시됩니다. 컴퓨팅 용량 요구 사항에 맞는 훈련 계획을 선택합니다.

   적합한 계획이 없는 경우 인스턴스 유형 또는 리전을 조정하거나 훈련 계획을 사용하지 않고 진행할 수 있습니다.

1. 훈련 계획을 선택한 후 또는 훈련 계획 없이 진행하기로 선택한 후 나머지 훈련 작업 구성을 완료하고 **훈련 작업 생성**을 선택하여 프로세스를 시작합니다.

![\[새 훈련 작업을 생성하기 위한 SageMaker AI 콘솔 페이지입니다. 페이지에 작업 설정, 알고리즘 옵션, 리소스 구성, 훈련 계획 선택, 중지 조건 등 다양한 구성 옵션이 표시되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-create-training-job.png)


작업을 검토하고 시작합니다. 훈련 계획이 `Active`가 되어 용량이 보류되는 즉시 작업이 실행되기 시작합니다.

# API, AWS CLI SageMaker SDK를 사용하여 훈련 작업 생성
<a name="use-training-plan-for-training-jobs-using-api-cli-sdk"></a>

SageMaker 훈련 작업에 SageMaker 훈련 계획을 사용하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) API 작업을 직접적으로 호출할 때 `ResourceConfig`에서 원하는 계획의 `TrainingPlanArn` 파라미터를 지정합니다. 작업당 정확히 하나의 계획을 사용할 수 있습니다.

**중요**  
`CreateTrainingJob` 요청의 `ResourceConfig` 섹션에 설정된 `InstanceType` 필드는 훈련 계획의 `InstanceType`과 일치해야 합니다.

## CLI를 사용하여 계획에서 훈련 작업 실행
<a name="training-job-cli"></a>

다음 예제에서는 `create-training-job` AWS CLI 명령의 `TrainingPlanArn` 속성을 사용하여 SageMaker 훈련 작업을 생성하고 이를 제공된 훈련 계획과 연결하는 방법을 보여줍니다.

 AWS CLI [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 명령을 사용하여 훈련 작업을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-training-job.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-training-job.html).

```
# Create a training job
aws sagemaker create-training-job \
  --training-job-name training-job-name \
  ...
    
  --resource-config '{
        "InstanceType": "ml.p5.48xlarge",
        "InstanceCount": 8,
        "VolumeSizeInGB": 10,
        "TrainingPlanArn": "training-plan-arn"
        }
    }' \
    ...
```

이 AWS CLI 예제 명령은 SageMaker AI에서 `--resource-config` 인수에 훈련 계획을 전달하는 새 훈련 작업을 생성합니다.

```
aws sagemaker create-training-job \
  --training-job-name job-name \
  --role-arn arn:aws:iam::111122223333:role/DataAndAPIAccessRole \
  --algorithm-specification '{"TrainingInputMode": "File","TrainingImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/algo-image:tag", "ContainerArguments": [" "]}' \
  --input-data-config '[{"ChannelName":"training","DataSource":{"S3DataSource":{"S3DataType":"S3Prefix","S3Uri":"s3://bucketname/input","S3DataDistributionType":"ShardedByS3Key"}}}]' \
  --output-data-config '{"S3OutputPath": "s3://bucketname/output"}' \
  --resource-config '{"VolumeSizeInGB":10,"InstanceCount":4,"InstanceType":"ml.p5.48xlarge", "TrainingPlanArn" : "arn:aws:sagemaker:us-east-1:111122223333:training-plan/plan-name"}' \
  --stopping-condition '{"MaxRuntimeInSeconds": 1800}' \
  --region us-east-1
```

훈련 작업을 생성한 후 `DescribeTrainingJob` API를 직접적으로 호출하여 훈련 계획에 제대로 할당되었는지 확인할 수 있습니다.

```
aws sagemaker describe-training-job --training-job-name training-job-name
```

## SageMaker AI Python SDK를 사용하여 계획에서 훈련 작업 실행
<a name="training-job-sdk"></a>

다른 방법으로, [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/v2.html)를 사용하여 훈련 계획과 연결된 훈련 작업을 생성할 수 있습니다.

Studio의 JupyterLab에서 SageMaker Python SDK를 사용하여 훈련 작업을 생성하는 경우 JupyterLab 애플리케이션을 실행하는 스페이스에서 사용하는 실행 역할에 SageMaker 훈련 계획을 사용하는 데 필요한 권한이 있어야 합니다. SageMaker 훈련 계획을 사용하는 데 필요한 권한에 대한 자세한 내용은 [SageMaker 훈련 계획용 IAM](training-plan-iam-permissions.md) 섹션을 참조하세요.

다음 예시에서는 SageMaker Python SDK를 사용할 때 `Estimator` 객체의 `training_plan` 속성을 사용하여 SageMaker 훈련 작업을 생성하고 제공된 훈련 계획과 연결하는 방법을 보여줍니다.

SageMaker 예측기에 대한 자세한 내용은 [Use a SageMaker estimator to run a training job](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers-adapt-your-own-private-registry-estimator.html)을 참조하세요.

```
import sagemaker
import boto3
from sagemaker import get_execution_role
from sagemaker.estimator import Estimator
from sagemaker.inputs import TrainingInput

# Set up the session and SageMaker client
session = boto3.Session()
region = session.region_name
sagemaker_session = session.client('sagemaker')

# Get the execution role for the training job
role = get_execution_role()

# Define the input data configuration
trainingInput = TrainingInput(
    s3_data='s3://input-path',
    distribution='ShardedByS3Key',
    s3_data_type='S3Prefix'
)

estimator = Estimator(
    entry_point='train.py',
    image_uri="123456789123.dkr.ecr.{}.amazonaws.com/image:tag",
    role=role,
    instance_count=4,
    instance_type='ml.p5.48xlarge',
    training_plan="training-plan-arn",
    volume_size=20,
    max_run=3600,
    sagemaker_session=sagemaker_session,
    output_path="s3://output-path"
)

# Create the training job
estimator.fit(inputs=trainingInput, job_name=job_name)
```

훈련 작업을 생성한 후 `DescribeTrainingJob` API를 직접적으로 호출하여 훈련 계획에 제대로 할당되었는지 확인할 수 있습니다.

```
# Check job details
sagemaker_session.describe_training_job(TrainingJobName=job_name)
```

# Amazon SageMaker HyperPod 클러스터의 훈련 계획 사용률
<a name="training-plan-utilization-for-hyperpod"></a>

Amazon SageMaker HyperPod 클러스터에 SageMaker 훈련 계획을 사용하려면 클러스터를 생성하거나 업데이트할 때 클러스터 인스턴스 수준에서 사용할 훈련 계획을 지정합니다.

**참고**  
훈련 계획을 HyperPod 클러스터에서 사용하려면 상태가 `Scheduled` 또는 `Active`여야 합니다.
클러스터 구성이 훈련 계획에 지정된 가용 영역(AZ)과 일치하는지 확인합니다.  
VPC 설정, 리소스 위치 및 보안 그룹 구성은 SageMaker HyperPod 설명서의 [사용자 지정 Amazon VPC를 사용하여 SageMaker HyperPod 설정](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc) 섹션을 참조하세요.  
Amazon FSx for Lustre로 HyperPod를 설정하는 경우 리전 및 AZ 선택에 대해 알아보고, VPC 구성 요구 사항을 검토하고, [(선택 사항) Amazon FSx for Lustre로 SageMaker HyperPod 설정](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-fsx)의 AZ 조율 모범 사례를 이해합니다.
각 인스턴스 그룹에 대한 계획을 선택할 수 있습니다. 그러나 클러스터의 기본 인스턴스 그룹에 대한 훈련 계획을 사용하지 않는 것이 좋습니다. 프라이머리 노드에는 고정된 기간과 잠재적으로 불연속적인 훈련 계획 용량에 맞지 않는 지속적이고 안정적인 리소스가 필요하기 때문입니다.

**Topics**
+ [SageMaker AI 콘솔을 사용하여 훈련 계획에 SageMaker HyperPod 클러스터 생성](use-training-plan-for-hyperpod-creation-using-console.md)
+ [SageMaker AI 콘솔을 사용하여 훈련 계획에서 SageMaker HyperPod 클러스터 업데이트](use-training-plan-for-hyperpod-update-using-console.md)
+ [SageMaker API를 사용하여 훈련 계획에 SageMaker HyperPod 클러스터를 생성하거나 AWS CLI](use-training-plan-for-hyperpod-creation-using-api-cli-sdk.md)
+ [SageMaker API를 사용하여 훈련 계획에서 SageMaker HyperPod 클러스터를 업데이트하거나 AWS CLI](use-training-plan-for-hyperpod-update-using-api-cli-sdk.md)

# SageMaker AI 콘솔을 사용하여 훈련 계획에 SageMaker HyperPod 클러스터 생성
<a name="use-training-plan-for-hyperpod-creation-using-console"></a>

SageMaker AI 콘솔 UI의 훈련 계획을 사용하여 SageMaker HyperPod 클러스터를 생성하려면 다음 단계를 따르세요.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **Hyperpod**를 선택하고 **클러스터 생성**을 선택합니다.

1. 인스턴스 그룹을 구성할 때 컴퓨팅 용량 요구 사항에 맞는 계획을 선택할 수 있습니다.

![\[SageMaker HyperPod 클러스터 내에서 인스턴스 그룹을 생성하기 위한 모달 창을 보여주는 SageMaker AI 콘솔 인터페이스입니다. 양식에 인스턴스 그룹 이름, 인스턴스 유형, 수량, 인스턴스 용량(온디맨드 및 훈련 계획 옵션 포함), 생성 시 수명 주기 스크립트의 디렉터리 경로에 대한 필드가 포함되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-create-hyperpod-cluster.png)


클러스터를 검토하고 생성합니다. 훈련 계획을 사용하는 인스턴스 그룹은 훈련 계획이 `Active`가 되면 사용 가능한 용량에 따라 지정된 목표 인스턴스 수로 스케일 업됩니다. 각 예약 용량 기간이 종료되기 30분 전에 인스턴스 그룹은 0개의 인스턴스로 스케일 다운을 시작합니다. 이 스케일 다운된 상태는 다음 예약 용량 기간이 시작되거나 계획이 종료될 때까지 지속됩니다. 이 프로세스 전체에서 정상 인스턴스 그룹은 현재 인스턴스 수와 관계없이 처음 생성 후 `InService` 상태를 유지합니다.

# SageMaker AI 콘솔을 사용하여 훈련 계획에서 SageMaker HyperPod 클러스터 업데이트
<a name="use-training-plan-for-hyperpod-update-using-console"></a>

SageMaker AI 콘솔 UI를 사용하여 기존 SageMaker HyperPod 클러스터에 훈련 계획을 업데이트, 제거 또는 추가할 수 있습니다. SageMaker HyperPod 클러스터의 인스턴스 그룹을 업데이트하려면 다음 단계를 따르세요.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **HyperPod**를 선택합니다.

1. 클러스터 이름과 연결된 하이퍼링크를 따라 클러스터의 세부 정보 페이지로 이동합니다.

1. 인스턴스 그룹을 구성할 때 새 컴퓨팅 용량 요구 사항에 맞게 계획을 업데이트할 수 있습니다.

![\[SageMaker HyperPod 클러스터 내에서 인스턴스 그룹을 업데이트하기 위한 모달 창을 보여주는 SageMaker AI 콘솔 인터페이스입니다. 양식에 인스턴스 그룹 이름, 인스턴스 유형, 수량, 인스턴스 용량(온디맨드 및 훈련 계획 옵션 포함), 생성 시 수명 주기 스크립트의 디렉터리 경로에 대한 필드가 포함되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/training-plans/tp-update-hyperpod-clusters.png)


클러스터를 검토하고 업데이트합니다.

# SageMaker API를 사용하여 훈련 계획에 SageMaker HyperPod 클러스터를 생성하거나 AWS CLI
<a name="use-training-plan-for-hyperpod-creation-using-api-cli-sdk"></a>

Amazon SageMaker HyperPod 클러스터에 SageMaker 훈련 계획을 사용하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html) API 작업을 직접적으로 호출할 때 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html)의 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-TrainingPlanArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-TrainingPlanArn) 파라미터에 사용할 훈련 계획의 ARN을 지정합니다.

계획의 지정된 AZ와 연결된 서브넷이 클러스터 구성의 `VPCConfig`에 포함되어 있는지 확인합니다. [``DescribeTrainingPlan](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html) API 직접 호출의 응답으로 훈련 계획의 `AvailabilityZone`을 가져올 수 있습니다.

다음 샘플은 새 SageMaker HyperPod 클러스터를 생성하고 인스턴스 그룹에 `create-cluster` AWS CLI 명령 `--instance-groups` 속성의 훈련 계획을 제공하는 방법을 보여줍니다.

```
# Create a cluster         
aws sagemaker create-cluster \
  --cluster-name cluster-name \
  --instance-groups '[ \
        { \
            "InstanceCount": 1,\
            "InstanceGroupName": "controller-nodes",\
            "InstanceType": "ml.t3.xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
        },\
        { \
            "InstanceCount": 2, \
            "InstanceGroupName": "worker-nodes",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id}:role/execution_role}",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        }]'
```

를 사용하여 HyperPod 클러스터를 생성하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요[https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html).

클러스터를 생성한 후 `DescribeCluster` API를 직접적으로 호출하여 훈련 계획에서 인스턴스 그룹에 용량이 제대로 할당되었는지 확인할 수 있습니다.

```
aws sagemaker describe-cluster --cluster-name cluster-name
```

# SageMaker API를 사용하여 훈련 계획에서 SageMaker HyperPod 클러스터를 업데이트하거나 AWS CLI
<a name="use-training-plan-for-hyperpod-update-using-api-cli-sdk"></a>

`update-cluster` AWS CLI 명령을 사용하여 기존 클러스터의 인스턴스 그룹을 업데이트하여 훈련 계획을 추가, 업데이트 또는 제거할 수 있습니다. 다음 샘플은 SageMaker HyperPod 클러스터를 업데이트하고 인스턴스 그룹에 새 훈련 계획을 제공하는 방법을 보여줍니다.

```
# Update a cluster
aws sagemaker update-cluster \
  --cluster-name cluster-name \
  --instance-groups '[ \
        { \
            "InstanceCount": 1,\
            "InstanceGroupName": "controller-nodes",\
            "InstanceType": "ml.t3.xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
        },\
        { \
            "InstanceCount": 2, \
            "InstanceGroupName": "worker-nodes",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id}:role/execution_role}",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        },\
        {\
            "InstanceCount": 1,\
            "InstanceGroupName": "worker-nodes-2",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        }\
    ]'
```

# AWS 관리 콘솔을 사용하여 SageMaker 훈련 계획 할당량 보기
<a name="training-plan-quotas"></a>

**중요**  
SageMaker 훈련 계획 요금에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)을 참조하세요. **온디맨드 요금** 아래의 **Amazon SageMaker HyperPod 유연한 훈련 계획** 섹션으로 이동합니다. 사용 가능한 인스턴스 유형과 해당 가격을 보려면 원하는 리전을 선택합니다.
Training 작업 또는 HyperPod 서비스 할당량이 인스턴스 유형당 계획에 지정된 인스턴스 수를 초과하는 최대 인스턴스 수를 허용하는지 확인합니다.

 AWS 관리 콘솔을 사용하여 SageMaker 훈련 계획의 현재 할당량 및 한도를 볼 수 있습니다.

특정 할당량 값을 검색하는 방법:

1. [ Service Quotas Console](https://console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas)을 엽니다.

1. 왼쪽 탐색 창에서 **AWS 서비스**를 선택합니다.

1.  AWS 서비스 목록에서 **Amazon SageMaker AI**를 검색하고 선택합니다.

1. **서비스 할당량** 목록에서 서비스 할당량 이름, 적용된 값(사용 가능한 경우), AWS 기본 할당량 및 할당량 값을 조정할 수 있는지 여부를 확인할 수 있습니다.

특정 할당량을 찾으려면 **서비스 할당량** 목록 상단의 검색 창을 사용하면 됩니다. 검색하려는 할당량의 `Limit Name`을 입력합니다. 예를 들어 리전당 훈련 계획 수에 대한 할당량을 찾으려면 검색 창에 **training-plan-total\$1count**를 입력합니다.

다음 표에는 SageMaker 훈련 계획의 할당량 한도 이름이 요약되어 있습니다.


**SageMaker 훈련 계획 할당량 한도**  

| 제한 이름 | 표시 이름 | 
| --- | --- | 
| training-plan-total\$1count | 리전당 훈련 계획 수 | 
| reserved-capacity-ml-p4d-24xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml.p4d.24xlarge 인스턴스 수 | 
| reserved-capacity-ml-p5-48xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml.p5.48xlarge 인스턴스 수 | 
| reserved-capacity-ml-p5e-48xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml.p5e.48xlarge 인스턴스 수 | 
| reserved-capacity-ml-p5en-48xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml.p5en.48xlarge 인스턴스 수 | 
| reserved-capacity-ml-trn1-32xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml-trn1-32xlarge 인스턴스 수 | 
| reserved-capacity-ml-trn2-48xlarge | 리전별 훈련 계획 전반에서 예약 용량의 ml.trn2.48xlarge 인스턴스 수 | 

SageMaker 훈련 계획에 더 높은 한도가 필요한 경우 할당량 증가를 요청할 수 있습니다. 할당량을 늘릴 수 있는지는 조정 가능 여부에 따라 달라지며, **Service Quotas** 콘솔에서 확인할 수 있습니다.

할당량 증가 요청:

1. **Service Quotas** 콘솔에서 특정 할당량으로 이동합니다.

1. 할당량이 조정 가능한 경우 **조정 가능성** 열에 나열된 값을 기반으로 계정 수준 또는 리소스 수준에서 할당량 증가를 요청할 수 있습니다.

1. **할당량 값 증가**에 새 값을 입력합니다. 새 값은 현재 값보다 커야 합니다.

1. **요청**을 선택합니다.

1. 할당량 증가 요청은의 검토 및 승인을 받아야 합니다 AWS. 콘솔에서 보류 중이거나 최근에 해결된 요청을 보려면 서비스 세부 정보 페이지에서 **요청 기록** 탭으로 이동하거나 탐색 창에서 **대시보드**를 선택합니다. 보류 중인 요청의 경우, 요청 상태를 선택하여 요청 접수증을 엽니다. 요청의 초기 상태는 `Pending`입니다. 상태가 로 변경되면 AWS Support에 사례 번호가 `Quota requested`표시됩니다. 이 사례 번호를 선택하여 요청의 티켓을 엽니다.

할당량 증가 요청에 대해 종합적으로 알아보려면 *AWS Service Quotas 사용 설명서*의 [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)를 참조하세요.

# 릴리스 노트
<a name="training-plan-release-notes"></a>

SageMaker 훈련 계획에 대한 최신 업데이트를 추적하려면 다음 릴리스 정보를 참조하세요.

## Amazon SageMaker 훈련 계획 릴리스 정보: 2024년 12월 4일
<a name="training-plan-release-notes-20241204"></a>

**새로운 기능**
+  AWS re:Invent 2024에서 Amazon SageMaker 훈련 계획을 시작했습니다.