

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

# SageMaker HyperPod CLI를 사용하여 작업 실행
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli"></a>

작업을 실행하려면 EKS 클러스터에 Kubeflow 훈련 연산자를 설치했는지 확인합니다. 자세한 내용은 [헬름을 사용하여 Amazon EKS 클러스터에 패키지 설치](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md) 섹션을 참조하세요.

`hyperpod get-cluster` 명령을 실행하여 사용 가능한 HyperPod 클러스터 목록을 가져옵니다.

```
hyperpod get-clusters
```

`hyperpod connect-cluster`를 실행하여 HyperPod 클러스터를 오케스트레이션하는 EKS 클러스터를 사용하여 SageMaker HyperPod CLI를 구성합니다.

```
hyperpod connect-cluster --cluster-name <hyperpod-cluster-name>
```

작업을 실행하여 `hyperpod start-job` 명령을 실행합니다. 다음 명령은 필수 옵션이 있는 명령을 보여줍니다.

```
hyperpod start-job \
    --job-name <job-name>
    --image <docker-image-uri>
    --entry-script <entrypoint-script>
    --instance-type <ml.instance.type>
    --node-count <integer>
```

이 `hyperpod start-job` 명령에는 작업 자동 재개 및 작업 예약과 같은 다양한 옵션도 함께 제공됩니다.

## 작업 자동 재개 활성화
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-enable-auto-resume"></a>

`hyperpod start-job` 명령에는 작업 자동 재개를 지정하는 다음 옵션도 있습니다. SageMaker HyperPod 노드 복원력 기능을 사용하여 작업 자동 재개를 활성화하려면 `restart-policy` 옵션의 값을 `OnFailure`로 설정해야 합니다. 작업은 `kubeflow` 네임스페이스 또는 접두사가 `hyperpod`인 네임스페이스에서 실행되어야 합니다.
+ [--auto-resume <bool>] \$1Optional, 실패 후 작업 자동 재개를 활성화하면 기본값은 false입니다
+ [--max-retry <int>] \$1Optional, auto-resume이 true인 경우 max-retry 기본값은 지정되지 않은 경우 1입니다
+ [--restart-policy <enum>] \$1Optional, PyTorchJob 재시작 정책. 허용 가능한 값은 `Always`, `OnFailure`, `Never` 또는 `ExitCode`입니다. 기본값은 `OnFailure`입니다.

```
hyperpod start-job \
    ... // required options \
    --auto-resume true \
    --max-retry 3 \
    --restart-policy OnFailure
```

## 예약 옵션을 사용하여 작업 실행
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-scheduling"></a>

`hyperpod start-job` 명령에는 대기열 메커니즘을 사용하여 작업을 설정하는 다음 옵션이 있습니다.

**참고**  
EKS 클러스터에 [Kueue](https://kueue.sigs.k8s.io/docs/overview/)를 설치해야 합니다. 설치하지 않은 경우 [SageMaker HyperPod 태스크 거버넌스 설정](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md)의 지침을 따르세요.
+ [--scheduler-type <enum>] \$1Optional, 스케줄러 유형을 지정합니다. 기본값은 `Kueue`입니다.
+ [--queue-name <string>] \$1Optional, 작업과 함께 제출하려는 [로컬 대기열](https://kueue.sigs.k8s.io/docs/concepts/local_queue/) 또는 [클러스터 대기열](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/)의 이름을 지정합니다. 대기열은 클러스터 관리자가 `CreateComputeQuota`를 사용하여 생성해야 합니다.
+ [--priority <string>] \$1Optional, 클러스터 관리자가 생성해야 하는 [워크로드 우선순위 클래스](https://kueue.sigs.k8s.io/docs/concepts/workload_priority_class/)의 이름을 지정합니다.

```
hyperpod start-job \
    ... // required options
    --scheduler-type Kueue \
    --queue-name high-priority-queue \
    --priority high
```

## 구성 파일에서 작업 실행
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-from-config"></a>

또는 작업에 필요한 모든 파라미터가 포함된 작업 구성 파일을 생성한 다음 --config-file 옵션을 사용하여 이 구성 파일을 `hyperpod start-job` 명령에 전달할 수 있습니다. 이 경우

1. 필요한 파라미터를 사용하여 작업 구성 파일을 생성합니다. [기본 구성 파일](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-run-jobs-hyperpod-cli.html#sagemaker-hyperpod-eks-hyperpod-cli-from-config)은 SageMaker HyperPod CLI GitHub 리포지토리의 작업 구성 파일을 참조하세요.

1. 다음과 같이 구성 파일을 사용하여 작업을 시작합니다.

   ```
   hyperpod start-job --config-file /path/to/test_job.yaml
   ```

**작은 정보**  
`hyperpod start-job` 명령의 전체 파라미터 목록은 SageMaker HyperPod CLI GitHub 리포지토리의 `README.md`에서 [작업 제출](https://github.com/aws/sagemaker-hyperpod-cli?tab=readme-ov-file#submitting-a-job) 섹션을 참조하세요.