

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

# MIG를 사용한 작업 제출
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission"></a>

**Topics**
+ [Kubernetes YAML 사용](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-kubectl)
+ [HyperPod CLI 사용](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-cli)
+ [MIG를 사용한 모델 배포](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment)
+ [HyperPod CLI 사용](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli)

## Kubernetes YAML 사용
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-kubectl"></a>

```
apiVersion: batch/v1
kind: Job
metadata:
  name: mig-job
  namespace: default
spec:
  template:
    spec:
      containers:
      - name: pytorch
        image: pytorch/pytorch:latest
        resources:
          requests:
            nvidia.com/mig-1g.5gb: 1
            cpu: "100m"
            memory: "128Mi"
          limits:
            nvidia.com/mig-1g.5gb: 1
      restartPolicy: Never
```

## HyperPod CLI 사용
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-cli"></a>

HyperPod CLI를 사용하여 MIG를 지원하는 JumpStart 모델을 배포합니다. 다음 예제에서는 GPU 파티셔닝을 위한 새로운 CLI 파라미터를 보여줍니다.

```
# Deploy JumpStart model with MIG
hyp create hyp-jumpstart-endpoint \
  --model-id deepseek-llm-r1-distill-qwen-1-5b \
  --instance-type ml.p5.48xlarge \
  --accelerator-partition-type mig-2g.10gb \
  --accelerator-partition-validation True \
  --endpoint-name my-endpoint \
  --tls-certificate-output-s3-uri s3://certificate-bucket/ \
  --namespace default
```

## MIG를 사용한 모델 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment"></a>

HyperPod 추론을 사용하면 Studio Classic `kubectl` 및 HyperPod CLI를 통해 MIG 프로파일에 모델을 배포할 수 있습니다. 에 JumpStart 모델을 배포하기 위해 `kubectl` CRDs에는 모델을 원하는 MIG 프로필에 배포하기 `spec.server.acceleratorPartitionType` 위해 라는 필드가 있습니다. 검증을 실행하여 CRD에서 선택한 MIG 프로파일에 모델을 배포할 수 있는지 확인합니다. MIG 검증 검사를 비활성화하려면를 `spec.server.validations.acceleratorPartitionValidation`에 사용합니다`False`.

### JumpStart 모델
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-jumpstart"></a>

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name: deepseek-model
  namespace: default
spec:
  sageMakerEndpoint:
    name: deepseek-endpoint
  model:
    modelHubName: SageMakerPublicHub
    modelId: deepseek-llm-r1-distill-qwen-1-5b
  server:
    acceleratorPartitionType: mig-7g.40gb
    instanceType: ml.p4d.24xlarge
```

### InferenceEndpointConfig를 사용하여 Amazon S3에서 모델 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-s3"></a>

InferenceEndpointConfig를 사용하면 Amazon S3에서 사용자 지정 모델을 배포할 수 있습니다. MIG에 모델을 배포하려면 `requests` 및에서 MIG 프로파일을 `spec.worker.resources` 언급합니다`limits`. 아래 간단한 배포를 참조하세요.

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: custom-model
  namespace: default
spec:
  replicas: 1
  modelName: my-model
  endpointName: my-endpoint
  instanceType: ml.p4d.24xlarge
  modelSourceConfig:
    modelSourceType: s3
    s3Storage:
      bucketName: my-model-bucket
      region: us-east-2
    modelLocation: model-path
  worker:
    resources:
      requests:
        nvidia.com/mig-3g.20gb: 1
        cpu: "5600m"
        memory: "10Gi"
      limits:
        nvidia.com/mig-3g.20gb: 1
```

### InferenceEndpointConfig를 사용하여 FSx for Lustre에서 모델 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-fsx"></a>

InferenceEndpointConfig를 사용하면 FSx for Lustre에서 사용자 지정 모델을 배포할 수 있습니다. MIG에 모델을 배포하려면 `requests` 및에서 MIG 프로파일을 `spec.worker.resources` 언급합니다`limits`. 아래 간단한 배포를 참조하세요.

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: custom-model
  namespace: default
spec:
  replicas: 1
  modelName: my-model
  endpointName: my-endpoint
  instanceType: ml.p4d.24xlarge
  modelSourceConfig:
    modelSourceType: fsx
    fsxStorage:
      fileSystemId: fs-xxxxx
    modelLocation: location-on-fsx
  worker:
    resources:
      requests:
        nvidia.com/mig-3g.20gb: 1
        cpu: "5600m"
        memory: "10Gi"
      limits:
        nvidia.com/mig-3g.20gb: 1
```

### Studio Classic UI 사용
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio"></a>

#### MIG를 사용하여 JumpStart 모델 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-deploy"></a>

1. **Studio Classic**을 열고 **JumpStart**로 이동합니다.

1. 원하는 모델을 찾아보거나 검색합니다(예: "DeepSeek", "Llama" 등).

1. 모델 카드를 클릭하고 **배포**를 선택합니다.

1. 배포 구성에서:
   + **HyperPod**를 배포 대상으로 선택
   + 드롭다운에서 MIG 지원 클러스터를 선택합니다.
   + **인스턴스 구성**에서
     + 인스턴스 유형 선택(예: `ml.p4d.24xlarge`)
     + 사용 가능한 옵션에서 **GPU 파티션 유형** 선택
     + **인스턴스 수** 및 **Auto Scaling** 설정 구성

1. **배포** 검토 및 클릭

1. **엔드포인트** 섹션에서 배포 진행 상황 모니터링

#### 모델 구성 옵션
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-config"></a>

**엔드포인트 설정:**
+ **엔드포인트 이름** - 배포의 고유 식별자
+ **변형 이름** - 구성 변형(기본값: AllTraffic)
+ **인스턴스 유형** - GPU 파티션(p 시리즈)을 지원해야 합니다.
+ **MIG 프로필** - GPU 파티션
+ **초기 인스턴스 수** - 배포할 인스턴스 수
+ **Auto Scaling** - 트래픽을 기반으로 동적 조정 활성화

**고급 구성:**
+ **모델 데이터 위치** - 사용자 지정 모델의 Amazon S3 경로
+ **컨테이너 이미지** - 사용자 지정 추론 컨테이너(선택 사항)
+ **환경 변수** - 모델별 구성
+ **Amazon VPC 구성** - 네트워크 격리 설정

#### 배포된 모델 모니터링
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-monitor"></a>

1. **Studio Classic** > **배포** > **엔드포인트로 이동합니다.**

1. MIG 지원 엔드포인트 선택

1. 다음을 포함한 지표 보기:
   + **MIG 사용률** - GPU 파티션당 사용량
   + **메모리 소비** - GPU 파티션당
   + **추론 지연 시간** - 요청 처리 시간
   + **처리량** - 초당 요청 수

1. 자동 모니터링을 위한 **Amazon CloudWatch 경보** 설정

1. MIG 사용률을 기반으로 **Auto Scaling 정책** 구성

## HyperPod CLI 사용
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli"></a>

### JumpStart 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli-jumpstart"></a>

HyperPod CLI JumpStart 명령에는 MIG 지원을 위한 두 개의 새로운 필드가 포함되어 있습니다.
+ `--accelerator-partition-type` - MIG 구성을 지정합니다(예: mig-4g.20gb).
+ `--accelerator-partition-validation` - 모델과 MIG 프로파일 간의 호환성을 검증합니다(기본값: true).

```
hyp create hyp-jumpstart-endpoint \
  --version 1.1 \
  --model-id deepseek-llm-r1-distill-qwen-1-5b \
  --instance-type ml.p4d.24xlarge \
  --endpoint-name js-test \
  --accelerator-partition-type "mig-4g.20gb" \
  --accelerator-partition-validation true \
  --tls-certificate-output-s3-uri s3://my-bucket/certs/
```

### 사용자 지정 엔드포인트 배포
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli-custom"></a>

사용자 지정 엔드포인트를 통해 배포하려면 기존 필드 `--resources-requests` 및 `--resources-limits`를 사용하여 MIG 프로파일 기능을 활성화합니다.

```
hyp create hyp-custom-endpoint \
  --namespace default \
  --metadata-name deepseek15b-mig-10-14-v2 \
  --endpoint-name deepseek15b-mig-endpoint \
  --instance-type ml.p4d.24xlarge \
  --model-name deepseek15b-mig \
  --model-source-type s3 \
  --model-location deep-seek-15b \
  --prefetch-enabled true \
  --tls-certificate-output-s3-uri s3://sagemaker-bucket \
  --image-uri lmcache/vllm-openai:v0.3.7 \
  --container-port 8080 \
  --model-volume-mount-path /opt/ml/model \
  --model-volume-mount-name model-weights \
  --s3-bucket-name model-storage-123456789 \
  --s3-region us-east-2 \
  --invocation-endpoint invocations \
  --resources-requests '{"cpu":"5600m","memory":"10Gi","nvidia.com/mig-3g.20gb":"1"}' \
  --resources-limits '{"nvidia.com/mig-3g.20gb":"1"}' \
  --env '{
    "OPTION_ROLLING_BATCH":"vllm",
    "SERVING_CHUNKED_READ_TIMEOUT":"480",
    "DJL_OFFLINE":"true",
    "NUM_SHARD":"1",
    "SAGEMAKER_PROGRAM":"inference.py",
    "SAGEMAKER_SUBMIT_DIRECTORY":"/opt/ml/model/code",
    "MODEL_CACHE_ROOT":"/opt/ml/model",
    "SAGEMAKER_MODEL_SERVER_WORKERS":"1",
    "SAGEMAKER_MODEL_SERVER_TIMEOUT":"3600",
    "OPTION_TRUST_REMOTE_CODE":"true",
    "OPTION_ENABLE_REASONING":"true",
    "OPTION_REASONING_PARSER":"deepseek_r1",
    "SAGEMAKER_CONTAINER_LOG_LEVEL":"20",
    "SAGEMAKER_ENV":"1"
  }'
```