

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan partisi GPU di Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-gpu-partitioning"></a>

Administrator cluster dapat memilih cara memaksimalkan pemanfaatan GPU di seluruh organisasi mereka. Anda dapat mengaktifkan partisi GPU dengan teknologi NVIDIA Multi-Instance GPU (MIG) untuk mempartisi sumber daya GPU menjadi instans yang lebih kecil dan terisolasi untuk pemanfaatan sumber daya yang lebih baik. Kemampuan ini memberikan kemampuan untuk menjalankan beberapa tugas berukuran lebih kecil secara bersamaan pada satu GPU alih-alih mendedikasikan seluruh perangkat keras untuk satu tugas yang seringkali kurang dimanfaatkan. Ini menghilangkan daya komputasi dan memori yang terbuang.

Partisi GPU dengan teknologi MIG mendukung GPUs dan memungkinkan Anda untuk mempartisi satu GPU yang didukung menjadi hingga tujuh partisi GPU terpisah. Setiap partisi GPU memiliki memori khusus, cache, dan sumber daya komputasi, memberikan isolasi yang dapat diprediksi.

## Manfaat
<a name="sagemaker-hyperpod-eks-gpu-partitioning-benefits"></a>
+ **Peningkatan pemanfaatan GPU** - Memaksimalkan efisiensi komputasi dengan mempartisi GPUs berdasarkan persyaratan komputasi dan memori
+ **Isolasi tugas** - Setiap partisi GPU beroperasi secara independen dengan memori khusus, cache, dan sumber daya komputasi
+ **Fleksibilitas tugas** - Mendukung campuran tugas pada satu GPU fisik, semuanya berjalan secara paralel
+ **Manajemen pengaturan yang fleksibel** - Mendukung konfigurasi Kubernetes Do-it-yourself (DIY) menggunakan klien baris perintah Kubernetes`kubectl`, dan solusi terkelola dengan label khusus untuk mengonfigurasi dan menerapkan label Anda yang terkait dengan partisi GPU dengan mudah

## Tipe Instans Yang Didukung
<a name="sagemaker-hyperpod-eks-gpu-partitioning-instance-types"></a>

Partisi GPU dengan teknologi MIG didukung pada jenis instance berikut: HyperPod 

[Instans **GPU A100 - tipe instance/p4/**https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/instance-types/p4/)
+ **ml.p4d.24xlarge** - 8 NVIDIA A100 (80GB per GPU) GPUs HBM2e 
+ **ml.p4de.24xlarge** - 8 NVIDIA A100 (80GB per GPU) GPUs HBM2e 

[Instans **GPU H100 - jenis-instance/p5/**https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/instance-types/p5/)
+ **ml.p5.48xlarge** - 8 NVIDIA H100 (80GB per GPU) GPUs HBM3 

[Instans **GPU H200 - jenis-instance/p5/**https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/instance-types/p5/)
+ **ml.p5e.48xlarge** - 8 NVIDIA H200 (141GB per GPU) GPUs HBM3e 
+ **ml.p5en.48xlarge** - 8 NVIDIA H200 (141GB per GPU) GPUs HBM3e 

[Instans **GPU B200 - tipe instance/p6/**https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/instance-types/p6/)
+ **ml.p6b.48xlarge - 8 NVIDIA B200** GPUs

## Partisi GPU
<a name="sagemaker-hyperpod-eks-gpu-partitioning-profiles"></a>

Profil NVIDIA MIG menentukan bagaimana GPUs dipartisi. Setiap profil menentukan alokasi komputasi dan memori per instance MIG. Berikut ini adalah profil MIG yang terkait dengan setiap jenis GPU:

**GPU A100 (ml.p4d.24xlarge)**


| Profil | Memori (GB) | Instans per GPU | Total per ml.p4d.24xlarge | 
| --- | --- | --- | --- | 
| `1g.5gb` | 5 | 7 | 56 | 
| `2g.10gb` | 10 | 3 | 24 | 
| `3g.20gb` | 20 | 2 | 16 | 
| `4g.20gb` | 20 | 1 | 8 | 
| `7g.40gb` | 40 | 1 | 8 | 

**GPU H100 (ml.p5.48xbesar)**


| Profil | Memori (GB) | Instans per GPU | Total per ml.p5.48xlarge | 
| --- | --- | --- | --- | 
| `1g.10gb` | 10 | 7 | 56 | 
| `1g.20gb` | 20 | 4 | 32 | 
| `2g.20gb` | 20 | 3 | 24 | 
| `3g.40gb` | 40 | 2 | 16 | 
| `4g.40gb` | 40 | 1 | 8 | 
| `7g.80gb` | 80 | 1 | 8 | 

**GPU H200 (ml.p5e.48xlarge dan ml.p5en.48xlarge)**


| Profil | Memori (GB) | Instans per GPU | Total per ml.p5en.48xlarge | 
| --- | --- | --- | --- | 
| `1g.18gb` | 18 | 7 | 56 | 
| `1g.35gb` | 35 | 4 | 32 | 
| `2g.35gb` | 35 | 3 | 24 | 
| `3g.71gb` | 71 | 2 | 16 | 
| `4g.71gb` | 71 | 1 | 8 | 
| `7g.141gb` | 141 | 1 | 8 | 

**Topics**
+ [Manfaat](#sagemaker-hyperpod-eks-gpu-partitioning-benefits)
+ [Tipe Instans Yang Didukung](#sagemaker-hyperpod-eks-gpu-partitioning-instance-types)
+ [Partisi GPU](#sagemaker-hyperpod-eks-gpu-partitioning-profiles)
+ [Menyiapkan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning-setup.md)
+ [Siklus Hidup dan Label Node](sagemaker-hyperpod-eks-gpu-partitioning-labels.md)
+ [Pengajuan Tugas dengan MIG](sagemaker-hyperpod-eks-gpu-partitioning-task-submission.md)

# Menyiapkan partisi GPU di Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup"></a>

**Topics**
+ [Prasyarat](#sagemaker-hyperpod-eks-gpu-partitioning-setup-prerequisites)
+ [Membuat Cluster dengan Konfigurasi MIG](#sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster)
+ [Menambahkan operator GPU ke cluster yang ada](#sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator)
+ [Memperbarui Konfigurasi MIG](#sagemaker-hyperpod-eks-gpu-partitioning-setup-update)
+ [Memverifikasi Konfigurasi MIG](#sagemaker-hyperpod-eks-gpu-partitioning-setup-verify)
+ [Perintah Umum untuk Debugging Konfigurasi MIG](#sagemaker-hyperpod-eks-gpu-partitioning-setup-debug-commands)
+ [Menggunakan Konsol SageMaker AI](#sagemaker-hyperpod-eks-gpu-partitioning-setup-console)

## Prasyarat
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-prerequisites"></a>
+ HyperPod Cluster Amazon EKS dengan instans GPU yang didukung
+ Operator GPU NVIDIA diinstal
+ Izin IAM yang sesuai untuk manajemen klaster

## Membuat Cluster dengan Konfigurasi MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster"></a>

### Menggunakan AWS CLI
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster-cli"></a>

```
aws sagemaker create-cluster \
  --cluster-name my-mig-cluster \
  --orchestrator 'Eks={ClusterArn=arn:aws:eks:region:account:cluster/cluster-name}' \
  --instance-groups '{
    "InstanceGroupName": "gpu-group",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 1,
    "LifeCycleConfig": {
       "SourceS3Uri": "s3://my-bucket",
       "OnCreate": "on_create_script.sh"
    },
    "KubernetesConfig": {
       "Labels": {
          "nvidia.com/mig.config": "all-1g.5gb"
       }
    },
    "ExecutionRole": "arn:aws:iam::account:role/execution-role",
    "ThreadsPerCore": 1
  }' \
  --vpc-config '{
     "SecurityGroupIds": ["sg-12345"],
     "Subnets": ["subnet-12345"]
  }' \
  --node-provisioning-mode Continuous
```

### Menggunakan CloudFormation
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster-cfn"></a>

```
{
  "ClusterName": "my-mig-cluster",
  "InstanceGroups": [
    {
      "InstanceGroupName": "gpu-group",
      "InstanceType": "ml.p4d.24xlarge",
      "InstanceCount": 1,
      "KubernetesConfig": {
        "Labels": {
          "nvidia.com/mig.config": "all-2g.10gb"
        }
      },
      "ExecutionRole": "arn:aws:iam::account:role/execution-role"
    }
  ],
  "Orchestrator": {
    "Eks": {
      "ClusterArn": "arn:aws:eks:region:account:cluster/cluster-name"
    }
  },
  "NodeProvisioningMode": "Continuous"
}
```

## Menambahkan operator GPU ke cluster yang ada
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator"></a>

### Instal Operator GPU
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-install"></a>

Ganti `{$AWS_REGION}` dengan wilayah cluster Anda (misalnya, us-east-1, us-west-2).

```
helm install gpuo helm_chart/HyperPodHelmChart/charts/gpu-operator \
-f helm_chart/HyperPodHelmChart/charts/gpu-operator/regional-values/values-{$AWS_REGION}.yaml \
-n kube-system
```

### Verifikasi Instalasi (Tunggu 2-3 menit)
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-verify"></a>

Periksa semua pod operator GPU yang sedang berjalan:

```
kubectl get pods -n kube-system | grep -E "(gpu-operator|nvidia-)"
```

**Pod yang diharapkan:**
+ gpu-operator-\$1 - 1 contoh (pengontrol cluster)
+ nvidia-device-plugin-daemonset-\$1 - 1 per node GPU (semua instance GPU)
+ nvidia-mig-manager-\$1 - 1 per node berkemampuan MiG (A100/H100)

### Hapus Plugin Perangkat Lama
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-remove"></a>

Nonaktifkan yang ada nvidia-device-plugin:

```
helm upgrade dependencies helm_chart/HyperPodHelmChart \
--set nvidia-device-plugin.devicePlugin.enabled=false \
-n kube-system
```

### Verifikasi Sumber Daya GPU
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-verify-gpu"></a>

Konfirmasi node menunjukkan kapasitas GPU. Ini harus menampilkan: nvidia.com/gpu: 8 (atau jumlah GPU Anda yang sebenarnya).

```
kubectl describe nodes | grep "nvidia.com/gpu"
```

## Memperbarui Konfigurasi MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update"></a>

**Mempersiapkan Node Sebelum Pembaruan MIG**  
Sebelum memperbarui konfigurasi MIG pada grup instans Anda, Anda harus menyiapkan node untuk mencegah gangguan beban kerja. Ikuti langkah-langkah ini untuk menguras beban kerja dengan aman dari node yang akan dikonfigurasi ulang.

### Langkah 1: Identifikasi Node dalam Grup Instance
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-identify"></a>

Pertama, identifikasi semua node yang termasuk dalam grup instance yang ingin Anda perbarui:

```
# List all nodes in the instance group
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=INSTANCE_GROUP_NAME

# Example:
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=p4d-group
```

Perintah ini mengembalikan daftar semua node dalam kelompok contoh tertentu. Catat setiap nama node untuk langkah-langkah berikut.

### Langkah 2: Cordon dan Tiriskan Setiap Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain"></a>

Untuk setiap node yang diidentifikasi pada Langkah 1, lakukan tindakan berikut:

#### Cordon Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain-cordon"></a>

Cordoning mencegah pod baru dijadwalkan pada node:

```
# Cordon a single node
kubectl cordon NODE_NAME

# Example:
kubectl cordon hyperpod-i-014a41a7001adca60
```

#### Kuras Pod Beban Kerja dari Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain-evict"></a>

Kuras node untuk mengusir semua pod beban kerja sambil mempertahankan pod sistem:

```
# Drain the node (ignore DaemonSets and evict pods)
kubectl drain NODE_NAME \
  --ignore-daemonsets \
  --delete-emptydir-data \
  --force \
  --grace-period=300

# Example:
kubectl drain hyperpod-i-014a41a7001adca60 \
  --ignore-daemonsets \
  --delete-emptydir-data \
  --force \
  --grace-period=300
```

**Opsi Perintah Dijelaskan:**
+ `--ignore-daemonsets`- Memungkinkan operasi pembuangan untuk dilanjutkan bahkan jika DaemonSet polong ada
+ `--delete-emptydir-data`- Menghapus pod menggunakan volume emptyDir (diperlukan agar pengeringan berhasil)
+ `--force`- Memaksa penghapusan pod yang tidak dikelola oleh pengontrol (gunakan dengan hati-hati)
+ `--grace-period=300`- Memberikan pod 5 menit untuk mengakhiri dengan anggun

**penting**  
Operasi pembuangan dapat memakan waktu beberapa menit tergantung pada jumlah polong dan masa tenggang penghentiannya
Pod sistem dalam namespace berikut akan tetap berjalan:`kube-system`,,`cert-manager`,`kubeflow`,`hyperpod-inference-system`,`kube-public`,`mpi-operator`,`gpu-operator`,`aws-hyperpod`, `jupyter-k8s-system``hyperpod-observability`, `kueue-system` dan `keda`
DaemonSet pod akan tetap berada di node (mereka diabaikan oleh desain)

### Langkah 3: Verifikasi Tidak Ada Pod Beban Kerja yang Berjalan
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-verify"></a>

Setelah menguras, verifikasi bahwa tidak ada pod beban kerja yang tersisa di node (tidak termasuk ruang nama sistem):

```
# Check for any remaining pods outside system namespaces
kubectl get pods --all-namespaces --field-selector spec.nodeName=NODE_NAME \
  | grep -v "kube-system" \
  | grep -v "cert-manager" \
  | grep -v "kubeflow" \
  | grep -v "hyperpod-inference-system" \
  | grep -v "kube-public" \
  | grep -v "mpi-operator" \
  | grep -v "gpu-operator" \
  | grep -v "aws-hyperpod" \
  | grep -v "jupyter-k8s-system" \
  | grep -v "hyperpod-observability" \
  | grep -v "kueue-system" \
  | grep -v "keda"

# Example:
kubectl get pods --all-namespaces --field-selector spec.nodeName=hyperpod-i-014a41a7001adca60 \
  | grep -v "kube-system" \
  | grep -v "cert-manager" \
  | grep -v "kubeflow" \
  | grep -v "hyperpod-inference-system" \
  | grep -v "kube-public" \
  | grep -v "mpi-operator" \
  | grep -v "gpu-operator" \
  | grep -v "aws-hyperpod" \
  | grep -v "jupyter-k8s-system" \
  | grep -v "hyperpod-observability" \
  | grep -v "kueue-system" \
  | grep -v "keda"
```

**Output yang Diharapkan:** Jika node dikeringkan dengan benar, perintah ini seharusnya tidak mengembalikan hasil (atau hanya menampilkan baris header). Jika ada pod yang masih berjalan, selidiki mengapa mereka tidak diusir dan hapus secara manual jika perlu.

### Langkah 4: Verifikasi Status Kesiapan Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-readiness"></a>

Sebelum melanjutkan dengan pembaruan MIG, konfirmasikan bahwa semua node ditutup:

```
# Check node status - should show "SchedulingDisabled"
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=INSTANCE_GROUP_NAME
```

Node harus ditampilkan `SchedulingDisabled` di kolom STATUS, menunjukkan bahwa mereka ditutup dan siap untuk pembaruan MIG.

### Memperbarui Profil MIG pada Cluster yang Ada
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-change"></a>

Anda dapat mengubah profil MIG pada cluster yang ada:

```
aws sagemaker update-cluster \
  --cluster-name my-mig-cluster \
  --instance-groups '{
    "InstanceGroupName": "gpu-group",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 1,
    "KubernetesConfig": {
       "Labels": {
          "nvidia.com/mig.config": "all-3g.20gb"
       }
    },
    "ExecutionRole": "arn:aws:iam::account:role/execution-role"
  }'
```

**catatan**  
Jika pekerjaan sudah berjalan pada node, partisi MIG akan gagal. Pengguna akan mendapatkan pesan kesalahan untuk menguras node sebelum mencoba kembali partisi MIG.

## Memverifikasi Konfigurasi MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-verify"></a>

Setelah pembuatan atau pembaruan cluster, verifikasi konfigurasi MIG:

```
# Update kubeconfig
aws eks update-kubeconfig --name your-eks-cluster --region us-east-2

# Check MIG labels
kubectl get node NODE_NAME -o=jsonpath='{.metadata.labels}' | grep mig

# Check available MIG resources
kubectl describe node NODE_NAME | grep -A 10 "Allocatable:"
```

## Perintah Umum untuk Debugging Konfigurasi MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-debug-commands"></a>

Gunakan perintah berikut untuk memecahkan masalah dan memvalidasi konfigurasi MIG di klaster Anda:

```
# Check GPU Operator status
kubectl get pods -n gpu-operator-resources

# View MIG configuration
kubectl exec -n gpu-operator-resources nvidia-driver-XXXXX -- nvidia-smi mig -lgi

# Check device plugin configuration
kubectl logs -n gpu-operator-resources nvidia-device-plugin-XXXXX

# Monitor node events
kubectl get events --field-selector involvedObject.name=NODE_NAME
```

**catatan**  
Ganti `nvidia-driver-XXXXX` dan `nvidia-device-plugin-XXXXX` dengan nama pod yang sebenarnya dari klaster Anda, dan `NODE_NAME` dengan nama node Anda.

## Menggunakan Konsol SageMaker AI
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console"></a>

### Membuat Cluster Baru dengan MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console-create"></a>

1. Arahkan ke **Amazon SageMaker AI** > **HyperPod Clusters** > **Cluster Management > **Create HyperPod ** cluster**

1. Pilih **Diatur oleh EKS**

1. Pilih **Penyiapan khusus** dan verifikasi **Operator GPU** diaktifkan secara default

1. Di bawah Bagian **grup instans**, klik **Tambahkan grup**

1. Konfigurasikan grup instans dan arahkan ke **Konfigurasi Lanjutan** untuk mengaktifkan sakelar **Gunakan partisi GPU** dan pilih konfigurasi **MIG** yang Anda inginkan dari dropdown

1. Klik **Tambahkan grup Instance** dan selesaikan konfigurasi cluster yang tersisa

1. Klik **Kirim** untuk membuat klaster

### Memperbarui Konfigurasi MIG pada Cluster yang Ada
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console-update"></a>

1. Arahkan ke **Amazon SageMaker AI** > **HyperPod Clusters > Cluster** **Management**

1. Pilih klaster yang ada dan klik **Edit** pada grup instans yang ingin Anda ubah

1. Dalam **konfigurasi lanjutan**, alihkan **Gunakan partisi GPU** jika belum diaktifkan dan pilih konfigurasi **MIG** yang berbeda dari dropdown

1. Klik **Simpan perubahan**

# Siklus Hidup dan Label Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels"></a>

Amazon SageMaker HyperPod melakukan pemeriksaan kesehatan mendalam pada instans klaster selama pembuatan dan pembaruan HyperPod cluster sebelum partisi GPU dimulai. HyperPod agen pemantauan kesehatan terus memantau status kesehatan dari instance yang dipartisi GPU.

## Status Konfigurasi MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-states"></a>

Node dengan konfigurasi partisi GPU melewati beberapa status:
+ **Tertunda** - Node sedang dikonfigurasi dengan profil MIG
+ **Mengkonfigurasi** - Operator GPU menerapkan partisi MIG
+ **Sukses** - partisi GPU berhasil diselesaikan
+ **Gagal** - Partisi GPU mengalami kesalahan

## Memantau Status Node
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-monitoring"></a>

```
# Check node health status
kubectl get nodes -l sagemaker.amazonaws.com/node-health-status=Schedulable

# Monitor MIG configuration progress
kubectl get node NODE_NAME -o jsonpath='{.metadata.labels.nvidia\.com/mig\.config\.state}'

# Check for configuration errors
kubectl describe node NODE_NAME | grep -A 5 "Conditions:"
```

## Label dan Taints Kustom
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-custom"></a>

Anda dapat mengelola konfigurasi MIG dengan label dan taint khusus untuk memberi label pada partisi GPU Anda dan menerapkannya di seluruh instance:

```
{
  "KubernetesConfig": {
    "Labels": {
      "nvidia.com/mig.config": "all-2g.10gb",
      "task-type": "inference",
      "environment": "production"
    },
    "Taints": [
      {
        "Key": "gpu-task",
        "Value": "mig-enabled",
        "Effect": "NoSchedule"
      }
    ]
  }
}
```

# Pengajuan Tugas dengan MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission"></a>

**Topics**
+ [Menggunakan Kubernetes YAMM](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-kubectl)
+ [Menggunakan HyperPod CLI](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-cli)
+ [Penerapan Model dengan MIG](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment)
+ [Menggunakan HyperPod CLI](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli)

## Menggunakan Kubernetes YAMM
<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
```

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

Gunakan HyperPod CLI untuk menyebarkan JumpStart model dengan dukungan MIG. Contoh berikut menunjukkan parameter CLI baru untuk partisi GPU:

```
# 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
```

## Penerapan Model dengan MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment"></a>

HyperPod Inferensi memungkinkan penerapan model pada profil MIG melalui Studio Classic, dan `kubectl` CLI. HyperPod Untuk menerapkan JumpStart Model`kubectl`, CRDs minta bidang yang dipanggil `spec.server.acceleratorPartitionType` untuk menyebarkan model ke profil MIG yang diinginkan. Kami menjalankan validasi untuk memastikan model dapat diterapkan pada profil MIG yang dipilih di CRD. Jika Anda ingin menonaktifkan pemeriksaan validasi MIG, gunakan untuk`spec.server.validations.acceleratorPartitionValidation`. `False`

### JumpStart Model
<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
```

### Menerapkan model dari Amazon S3 menggunakan InferenceEndpointConfig
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-s3"></a>

InferenceEndpointConfig memungkinkan Anda untuk menyebarkan model kustom dari Amazon S3. Untuk menerapkan model di MIG, `spec.worker.resources` sebutkan profil MIG di dan. `requests` `limits` Lihat penerapan sederhana di bawah ini:

```
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
```

### Terapkan model dari FSx untuk Lustre menggunakan InferenceEndpointConfig
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-fsx"></a>

InferenceEndpointConfig memungkinkan Anda untuk menerapkan model kustom dari FSx untuk Lustre. Untuk menerapkan model di MIG, `spec.worker.resources` sebutkan profil MIG di dan. `requests` `limits` Lihat penerapan sederhana di bawah ini:

```
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
```

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

#### Menerapkan JumpStart Model dengan MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-deploy"></a>

1. Buka **Studio Classic** dan navigasikan ke **JumpStart**

1. Jelajahi atau cari model yang Anda inginkan (mis., "DeepSeek“, “Llama”, dll.)

1. Klik pada kartu model dan pilih **Deploy**

1. Dalam konfigurasi penerapan:
   + Pilih **HyperPod**sebagai target penyebaran
   + Pilih cluster berkemampuan MiG Anda dari dropdown
   + Di bawah **konfigurasi Instance**:
     + Pilih jenis contoh (mis.,`ml.p4d.24xlarge`)
     + Pilih **Jenis Partisi GPU** dari opsi yang tersedia
     + Konfigurasikan **pengaturan hitungan Instans** dan **penskalaan otomatis**

1. Tinjau dan klik **Deploy**

1. Pantau kemajuan penerapan di bagian **Endpoints**

#### Opsi Konfigurasi Model
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-config"></a>

**Pengaturan titik akhir:**
+ **Nama titik akhir** - Pengidentifikasi unik untuk penerapan Anda
+ **Nama varian** - Varian konfigurasi (default: AllTraffic)
+ **Jenis instans** - Harus mendukung partisi GPU (seri p)
+ **Profil MIG - partisi** GPU
+ **Jumlah instans awal** - Jumlah instance yang akan digunakan
+ **Penskalaan otomatis** - Aktifkan penskalaan dinamis berdasarkan lalu lintas

**Konfigurasi Lanjutan:**
+ **Lokasi data model** - jalur Amazon S3 untuk model khusus
+ **Gambar kontainer** - Wadah inferensi kustom (opsional)
+ **Variabel lingkungan** - Konfigurasi khusus model
+ **Konfigurasi Amazon VPC - Pengaturan** isolasi jaringan

#### Memantau Model yang Diterapkan
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-monitor"></a>

1. **Arahkan ke **Studio Classic** > **Deployment > Endpoints****

1. Pilih titik akhir berkemampuan MiG

1. Lihat metrik termasuk:
   + **Pemanfaatan MIG** - Per penggunaan partisi GPU
   + **Konsumsi memori** - Per partisi GPU
   + **Latensi inferensi** - Minta waktu pemrosesan
   + **Throughput** - Permintaan per detik

1. Siapkan ** CloudWatch alarm Amazon** untuk pemantauan otomatis

1. Konfigurasikan kebijakan **auto-scaling berdasarkan pemanfaatan MIG**

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

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

 JumpStart Perintah HyperPod CLI mencakup dua bidang baru untuk dukungan MIG:
+ `--accelerator-partition-type`- Menentukan konfigurasi MIG (misalnya, mig-4g.20gb)
+ `--accelerator-partition-validation`- Memvalidasi kompatibilitas antara model dan profil MIG (default: 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/
```

### Penerapan Endpoint Kustom
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli-custom"></a>

Untuk menerapkan melalui titik akhir kustom, gunakan bidang yang ada `--resources-requests` dan `--resources-limits` untuk mengaktifkan fungsionalitas profil 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"
  }'
```