Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menginstal operator pelatihan
Lihat bagian berikut untuk mempelajari cara menginstal operator pelatihan.
Prasyarat
Sebelum Anda menggunakan operator HyperPod pelatihan, Anda harus telah menyelesaikan prasyarat berikut:
-
Menginstal AMI terbaru di HyperPod cluster Anda. Untuk informasi selengkapnya, lihat SageMaker HyperPod Rilis AMI untuk Amazon EKS.
-
Siapkan EKS Pod Identity Agent menggunakan konsol. Jika Anda ingin menggunakan AWS CLI, gunakan perintah berikut:
aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-name eks-pod-identity-agent \ --regionWilayah AWS -
(Opsional) Jika Anda menjalankan node HyperPod cluster di VPC pribadi, Anda harus menyiapkan titik akhir PrivateLinks VPC untuk Amazon AI API (
com.amazonaws.) dan layanan SageMaker Amazon EKS Auth (com.amazonaws.aws-region.sagemaker.apiaws-region.eks-auth). Anda juga harus memastikan bahwa node cluster Anda berjalan dengan subnet yang berada dalam grup keamanan yang memungkinkan lalu lintas merutekan melalui titik akhir VPC untuk berkomunikasi dengan SageMaker AI dan Amazon EKS. Jika ini tidak diatur dengan benar, penginstalan add-on bisa gagal. Untuk mempelajari selengkapnya tentang menyiapkan titik akhir VPC, lihat Membuat titik akhir VPC.
Menginstal operator pelatihan
Anda sekarang dapat menginstal operator HyperPod pelatihan melalui konsol SageMaker AI, konsol Amazon EKS, atau dengan Metode konsol menawarkan pengalaman yang disederhanakan yang membantu Anda menginstal operator. AWS CLI Ini AWS CLI menawarkan pendekatan terprogram yang memungkinkan Anda menyesuaikan lebih banyak instalasi Anda.
Di antara dua pengalaman konsol, SageMaker AI menyediakan instalasi satu klik yang menciptakan peran eksekusi IAM, membuat asosiasi identitas pod, dan menginstal operator. Instalasi konsol Amazon EKS serupa, tetapi metode ini tidak secara otomatis membuat peran eksekusi IAM. Selama proses ini, Anda dapat memilih untuk membuat peran eksekusi IAM baru dengan informasi yang telah diisi sebelumnya oleh konsol. Secara default, peran yang dibuat ini hanya memiliki akses ke cluster saat ini tempat Anda menginstal operator. Kecuali Anda mengedit izin peran untuk menyertakan kluster lain, jika Anda menghapus dan menginstal ulang operator, Anda harus membuat peran baru.
Jika Anda sudah menginstal operator pelatihan di HyperPod cluster Anda, Anda dapat memperbarui add-on EKS ke versi yang Anda inginkan. Jika Anda ingin menggunakan pelatihan tanpa pemeriksaan atau pelatihan elastis, pertimbangkan hal berikut:
-
Baik pelatihan tanpa pemeriksaan dan pelatihan elastis membutuhkan add-on EKS untuk berada di versi 1.2.0 atau lebih tinggi.
-
Operator SageMaker HyperPod pelatihan Amazon mempertahankan kompatibilitas mundur untuk versi add-on EKS apa pun, sehingga Anda dapat meningkatkan dari versi add-on apa pun ke 1.2.0 atau lebih tinggi.
-
Jika Anda menurunkan versi dari versi 1.2.0 atau versi lebih tinggi ke versi yang lebih rendah, Anda harus terlebih dahulu menghapus pekerjaan yang ada sebelum downgrade dan mengirimkan kembali pekerjaan setelah downgrade selesai.
Operator pelatihan dilengkapi dengan sejumlah opsi dengan nilai default yang mungkin sesuai dengan kasus penggunaan Anda. Kami menyarankan Anda mencoba operator pelatihan dengan nilai default sebelum mengubahnya. Tabel di bawah ini menjelaskan semua parameter dan contoh kapan Anda mungkin ingin mengonfigurasi setiap parameter.
| Parameter | Deskripsi | Default |
|---|---|---|
| hpTrainingControllerManager.manager.resources.requests.cpu | Berapa banyak prosesor yang dialokasikan untuk controller | 1 |
| hpTrainingControllerManager.manager.resources.requests.memory | Berapa banyak memori untuk dialokasikan ke controller | 2Gi |
| hpTrainingControllerManager.manager.resources.limits.cpu | Batas CPU untuk pengontrol | 2 |
| hpTrainingControllerManager.manager.resources.limits.memory | Batas memori untuk pengontrol | 4Gi |
| hpTrainingControllerManajer.nodeSelector | Node selector untuk pod controller | Perilaku default adalah memilih node dengan label sagemaker.amazonaws.com/compute-type: "HyperPod" |
HyperPod agen elastis
Agen HyperPod elastis adalah perpanjangan dari PyTorch's ElasticAgenthyperpodrun untuk membuat peluncur pekerjaan.
catatan
Baik pelatihan tanpa pemeriksaan dan pelatihan elastis mengharuskan Anda menggunakan agen HyperPod elastis versi 1.1.0 atau lebih tinggi.
RUN pip install hyperpod-elastic-agent ENTRYPOINT ["entrypoint.sh"] # entrypoint.sh ... hyperpodrun --nnodes=node_count--nproc-per-node=proc_count\ --rdzv-backend hyperpod \ # Optional --inprocess-restart \ # Optional (in-process fault recovery with checkpointless training) ... # Other torchrun args # pre-traing arg_group --pre-train-script pre.sh --pre-train-args "pre_1 pre_2 pre_3" \ # post-train arg_group --post-train-script post.sh --post-train-args "post_1 post_2 post_3" \training.py--script-args
Anda sekarang dapat mengirimkan pekerjaan dengankubectl.
HyperPod argumen agen elastis
Agen HyperPod elastis mendukung semua argumen asli dan menambahkan beberapa argumen tambahan. Berikut ini adalah semua argumen yang tersedia dalam agen HyperPod elastis. Untuk informasi lebih lanjut tentang Agen PyTorch Elastis, lihat dokumentasi resmi
| Pendapat | Deskripsi | nilai default |
|---|---|---|
| --shutdown-sinyal | Sinyal untuk dikirim ke pekerja untuk shutdown (SIGTERM atau SIGKILL) | “SIGKILL” |
| --shutdown-timeout | Batas waktu dalam hitungan detik antara sinyal shutdown dan sinyal SIGKILL | 15 |
| --server-host | Alamat server agen | “0.0.0.0" |
| --server-port | Port server agen | 8080 |
| --server-log-level | Tingkat log server agen | “Info” |
| --server-shutdown-timeout | Batas waktu shutdown server dalam hitungan detik | 300 |
| --pre-train-script | Jalur ke skrip pra-pelatihan | Tidak ada |
| --pre-train-args | Argumen untuk skrip pra-pelatihan | Tidak ada |
| --post-train-script | Jalur ke skrip pasca-pelatihan | Tidak ada |
| --post-train-args | Argumen untuk skrip pasca-pelatihan | Tidak ada |
| --inprocess-restart | Bendera yang menentukan apakah akan menggunakan fitur inprocess_restart | SALAH |
| --inprocess-timeout | Waktu dalam hitungan detik agen menunggu pekerja mencapai penghalang sinkronisasi sebelum memicu restart tingkat proses. | Tidak ada |
Tata kelola tugas (opsional)
Operator pelatihan terintegrasi dengan tata kelola HyperPod tugas, sistem manajemen yang kuat yang dirancang untuk merampingkan alokasi sumber daya dan memastikan pemanfaatan sumber daya komputasi yang efisien di seluruh tim dan proyek untuk kluster Amazon EKS Anda. Untuk mengatur tata kelola HyperPod tugas, lihatPengaturan untuk tata kelola SageMaker HyperPod tugas.
catatan
Saat menginstal add-on tata kelola HyperPod tugas, Anda harus menggunakan versi v1.3.0-eksbuild.1 atau lebih tinggi.
Saat mengirimkan pekerjaan, pastikan Anda menyertakan nama antrian dan label kelas prioritas dan. hyperpod-ns- team-name-localqueue Misalnya, jika Anda menggunakan Kueue, label Anda menjadi sebagai berikut:priority-class-name-priority
-
kueue.x-k8s.io/antrian nama: hyperpod-ns- -localqueue
team-name -
kueue.x-k8s.io/kelas prioritas: -nama-prioritas
priority-class
Berikut ini adalah contoh dari apa file konfigurasi Anda mungkin terlihat seperti:
apiVersion: sagemaker.amazonaws.com/v1 kind: HyperPodPytorchJob metadata: name: hp-task-governance-sample namespace: hyperpod-ns-team-namelabels: kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue kueue.x-k8s.io/priority-class:priority-class-priority spec: nprocPerNode: "1" runPolicy: cleanPodPolicy: "None" replicaSpecs: - name: pods replicas: 4 spares: 2 template: spec: containers: - name: ptjob image: XXXX imagePullPolicy: Always ports: - containerPort: 8080 resources: requests: cpu: "2"
Kemudian gunakan perintah kubectl berikut untuk menerapkan file YAMM.
kubectl apply -f task-governance-job.yaml
Kueue (opsional)
Meskipun Anda dapat menjalankan pekerjaan secara langsung, organisasi Anda juga dapat mengintegrasikan operator pelatihan dengan Kueue untuk mengalokasikan sumber daya dan menjadwalkan pekerjaan. Ikuti langkah-langkah di bawah ini untuk menginstal Kueue ke dalam cluster Anda HyperPod .
-
Ikuti panduan instalasi di dokumentasi resmi Kueue
. Saat Anda mencapai langkah konfigurasi controller_manager_config.yaml, tambahkan konfigurasi berikut:externalFrameworks: - "HyperPodPytorchJob.v1.sagemaker.amazonaws.com" -
Ikuti langkah-langkah lainnya dalam panduan instalasi resmi. Setelah Anda selesai menginstal Kueue, Anda dapat membuat beberapa antrian sampel dengan perintah.
kubectl apply -f sample-queues.yamlGunakan file YAMB berikut.apiVersion: kueue.x-k8s.io/v1beta1 kind: ClusterQueue metadata: name: cluster-queue spec: namespaceSelector: {} preemption: withinClusterQueue: LowerPriority resourceGroups: - coveredResources: - cpu - nvidia.com/gpu - pods flavors: - name: default-flavor resources: - name: cpu nominalQuota: 16 - name: nvidia.com/gpu nominalQuota: 16 - name: pods nominalQuota: 16 --- apiVersion: kueue.x-k8s.io/v1beta1 kind: LocalQueue metadata: name: user-queue namespace: default spec: clusterQueue: cluster-queue --- apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: default-flavor --- apiVersion: kueue.x-k8s.io/v1beta1 description: High priority kind: WorkloadPriorityClass metadata: name: high-priority-class value: 1000 --- apiVersion: kueue.x-k8s.io/v1beta1 description: Low Priority kind: WorkloadPriorityClass metadata: name: low-priority-class value: 500