

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

# Mengalokasikan kuota komputasi dalam tata kelola tugas Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

Administrator klaster dapat memutuskan bagaimana organisasi menggunakan komputasi yang dibeli. Melakukannya mengurangi pemborosan dan sumber daya yang menganggur. Anda dapat mengalokasikan kuota komputasi sehingga tim dapat meminjam sumber daya yang tidak digunakan satu sama lain. Menghitung alokasi kuota dalam tata kelola HyperPod tugas memungkinkan administrator mengalokasikan sumber daya pada tingkat instans dan pada tingkat sumber daya yang lebih terperinci. Kemampuan ini menyediakan manajemen sumber daya yang fleksibel dan efisien untuk tim dengan memungkinkan kontrol terperinci atas sumber daya komputasi individu alih-alih memerlukan seluruh alokasi instance. Mengalokasikan pada tingkat granular menghilangkan inefisiensi alokasi tingkat instans tradisional. Melalui pendekatan ini, Anda dapat mengoptimalkan pemanfaatan sumber daya dan mengurangi komputasi idle.

Alokasi kuota komputasi mendukung tiga jenis alokasi sumber daya: akselerator, vCPU, dan memori. Akselerator adalah komponen dalam contoh komputer yang dipercepat yang melakukan fungsi, seperti perhitungan angka floating point, pemrosesan grafis, atau pencocokan pola data. Akselerator termasuk GPUs, akselerator Trainium, dan inti neuron. Untuk berbagi GPU multi-tim, tim yang berbeda dapat menerima alokasi GPU spesifik dari jenis instans yang sama, memaksimalkan pemanfaatan perangkat keras akselerator. Untuk beban kerja intensif memori yang memerlukan RAM tambahan untuk preprocessing data atau skenario caching model, Anda dapat mengalokasikan kuota memori di luar rasio default. GPU-to-memory Untuk tugas preprocessing berat CPU yang membutuhkan sumber daya CPU yang substansif di samping pelatihan GPU, Anda dapat mengalokasikan alokasi sumber daya CPU independen.

Setelah Anda memberikan nilai, tata kelola HyperPod tugas menghitung rasio menggunakan rumus **sumber daya yang dialokasikan dibagi dengan jumlah total sumber daya yang tersedia dalam instance**. HyperPod Tata kelola tugas kemudian menggunakan rasio ini untuk menerapkan alokasi default ke sumber daya lain, tetapi Anda dapat mengganti default ini dan menyesuaikannya berdasarkan kasus penggunaan Anda. Berikut ini adalah contoh skenario bagaimana tata kelola HyperPod tugas mengalokasikan sumber daya berdasarkan nilai Anda:
+ **Hanya akselerator yang ditentukan** - tata kelola HyperPod tugas menerapkan rasio default untuk vCPU dan memori berdasarkan nilai akselerator.
+ **Hanya vCPU yang ditentukan** - tata kelola HyperPod tugas menghitung rasio dan menerapkannya ke memori. Akselerator diatur ke 0.
+ **Hanya memori yang ditentukan** - tata kelola HyperPod tugas menghitung rasio dan menerapkannya ke vCPU karena komputasi diperlukan untuk menjalankan beban kerja yang ditentukan memori. Akselerator diatur ke 0.

Untuk mengontrol alokasi kuota secara terprogram, Anda dapat menggunakan [ ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html)objek dan menentukan alokasi Anda dalam bilangan bulat.

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

Untuk melihat semua alokasi yang dialokasikan, termasuk default, gunakan operasi. [ DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) Untuk memperbarui alokasi Anda, gunakan [ UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html)operasi.

Anda juga dapat menggunakan HyperPod CLI untuk mengalokasikan kuota komputasi. Untuk informasi lebih lanjut tentang HyperPod CLI, lihat. [Menjalankan pekerjaan di SageMaker HyperPod cluster yang diatur oleh Amazon EKS](sagemaker-hyperpod-eks-run-jobs.md) Contoh berikut menunjukkan bagaimana mengatur kuota komputasi menggunakan CLI. HyperPod 

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

Untuk mengalokasikan kuota menggunakan AWS konsol, ikuti langkah-langkah ini.

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di bawah HyperPod cluster, pilih **Manajemen cluster**.

1. **Di bawah **Alokasi komputasi**, pilih Buat.**

1. Jika Anda belum memiliki instance, pilih **Tambahkan alokasi** untuk menambahkan instance.

1. Di bawah **Alokasi**, pilih untuk mengalokasikan berdasarkan instans atau sumber daya individu. Jika Anda mengalokasikan berdasarkan sumber daya individu, SageMaker AI secara otomatis menetapkan alokasi ke sumber daya lain dengan rasio yang Anda pilih. Untuk mengganti alokasi berbasis rasio ini, gunakan sakelar yang sesuai untuk mengganti komputasi tersebut.

1. Ulangi langkah 4 dan 5 untuk mengonfigurasi instance tambahan.

Setelah mengalokasikan kuota komputasi, Anda kemudian dapat mengirimkan lowongan kerja melalui CLI atau. HyperPod `kubectl` HyperPodmenjadwalkan beban kerja secara efisien berdasarkan kuota yang tersedia. 

# Mengalokasikan kuota partisi GPU
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

Anda dapat memperpanjang alokasi kuota komputasi untuk mendukung partisi GPU, memungkinkan berbagi sumber daya berbutir halus di tingkat partisi GPU. Saat partisi GPU diaktifkan didukung GPUs di cluster, setiap GPU fisik dapat dipartisi menjadi beberapa terisolasi GPUs dengan alokasi multiprosesor komputasi, memori, dan streaming yang ditentukan. Untuk informasi selengkapnya tentang partisi GPU, lihat. [Menggunakan partisi GPU di Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) Anda dapat mengalokasikan partisi GPU tertentu ke tim, memungkinkan beberapa tim untuk berbagi satu GPU sekaligus mempertahankan isolasi tingkat perangkat keras dan kinerja yang dapat diprediksi.

Misalnya, instance ml.p5.48xlarge dengan 8 H100 GPUs dapat dipartisi menjadi partisi GPU, dan Anda dapat mengalokasikan partisi individual ke tim yang berbeda berdasarkan persyaratan tugas mereka. Saat Anda menentukan alokasi partisi GPU, tata kelola HyperPod tugas menghitung vCPU proporsional dan kuota memori berdasarkan partisi GPU, mirip dengan alokasi tingkat GPU. Pendekatan ini memaksimalkan pemanfaatan GPU dengan menghilangkan kapasitas idle dan memungkinkan pembagian sumber daya yang hemat biaya di beberapa tugas bersamaan pada GPU fisik yang sama.

## Membuat Kuota Komputasi
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## Memverifikasi Sumber Daya Kuota
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```