Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SageMaker HyperPod referensi
Temukan informasi dan referensi lebih lanjut tentang penggunaan SageMaker HyperPod dalam topik berikut.
Topik
SageMaker HyperPod harga
Topik berikut memberikan informasi tentang SageMaker HyperPod harga. Untuk mengetahui detail lebih lanjut tentang harga per jam untuk menggunakan SageMaker HyperPod instans, lihat juga SageMaker Harga Amazon
Permintaan kapasitas
Anda dapat mengalokasikan kapasitas komputasi sesuai permintaan atau cadangan dengan SageMaker AI untuk digunakan. SageMaker HyperPod Pembuatan cluster on-demand mengalokasikan kapasitas yang tersedia dari kumpulan kapasitas SageMaker AI sesuai permintaan. Atau, Anda dapat meminta kapasitas yang dipesan untuk memastikan akses dengan mengirimkan tiket untuk peningkatan kuota. Permintaan kapasitas masuk diprioritaskan oleh SageMaker AI dan Anda menerima perkiraan waktu untuk alokasi kapasitas.
Layanan penagihan
Ketika Anda menyediakan kapasitas komputasi aktif SageMaker HyperPod, Anda ditagih selama durasi alokasi kapasitas. SageMaker HyperPod tagihan muncul di tagihan ulang tahun Anda dengan item baris untuk jenis alokasi kapasitas (sesuai permintaan, cadangan), jenis instans, dan waktu yang dihabiskan untuk menggunakan instans.
Untuk mengirimkan tiket untuk kenaikan kuota, lihatSageMaker HyperPod kuota.
SageMaker HyperPod APIs
Daftar berikut adalah set lengkap SageMaker HyperPod APIs untuk mengirimkan permintaan tindakan dalam format JSON ke SageMaker AI melalui atau. AWS CLI AWS SDK untuk Python (Boto3)
SageMaker HyperPod Konfigurasi slurm
HyperPod mendukung dua pendekatan untuk mengkonfigurasi Slurm di cluster Anda. Pilih pendekatan yang paling sesuai dengan kebutuhan Anda.
| Pendekatan | Deskripsi | Direkomendasikan Untuk |
| Konfigurasi berbasis API | Tentukan konfigurasi Slurm secara langsung dalam permintaan CreateCluster dan API UpdateCluster | Cluster baru; manajemen yang disederhanakan |
| Konfigurasi lama | Gunakan provisioning_parameters.json file terpisah yang disimpan di Amazon S3 |
Cluster yang ada; kompatibilitas mundur |
Konfigurasi Slurm yang digerakkan API (Disarankan)
Dengan konfigurasi berbasis API, Anda menentukan tipe simpul Slurm, penetapan partisi, dan pemasangan sistem file secara langsung di permintaan dan API. CreateCluster UpdateCluster Pendekatan ini menyediakan:
-
Sumber kebenaran tunggal - Semua konfigurasi dalam permintaan API
-
Tidak ada manajemen file S3 - Tidak perlu membuat atau memelihara
provisioning_parameters.json -
Validasi bawaan - API memvalidasi topologi Slurm sebelum pembuatan cluster
-
Deteksi drift - Mendeteksi perubahan yang tidak sah
slurm.conf -
Per-instance-group penyimpanan - Konfigurasikan FSx sistem file yang berbeda untuk grup instance yang berbeda
-
FSx untuk dukungan OpenZFS - Pasang sistem file OpenZFS selain untuk Lustre FSx
SlurmConfig (per grup instans)
Tambahkan SlurmConfig ke setiap grup instance untuk menentukan tipe simpul Slurm dan penetapan partisi.
"SlurmConfig": { "NodeType": "Controller | Login | Compute", "PartitionNames": ["string"] }
Parameter:
-
NodeType– Wajib. Tipe simpul Slurm untuk grup instance ini. Nilai valid:-
Controller— Simpul pengontrol slurm (kepala). Menjalankanslurmctlddaemon. Tepat satu grup instance harus memiliki tipe node ini. -
Login— Node login untuk akses pengguna. Tidak wajib. Paling banyak satu grup instance dapat memiliki tipe node ini. -
Compute— Node pekerja yang menjalankan pekerjaan. Dapat memiliki beberapa grup instance dengan tipe node ini.
penting
NodeTypetidak dapat diubah. Setelah disetel selama pembuatan cluster, itu tidak dapat diubah. Untuk menggunakan tipe node yang berbeda, buat grup instance baru. -
-
PartitionNames— Bersyarat. Array nama partisi Slurm. Diperlukan untuk tipeComputenode; tidak diperbolehkan untukControlleratau tipeLoginnode. Saat ini mendukung nama partisi tunggal per grup instance.catatan
Semua node secara otomatis ditambahkan ke
devpartisi universal selain partisi yang ditentukan.
Contoh:
{ "InstanceGroupName": "gpu-compute", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 8, "SlurmConfig": { "NodeType": "Compute", "PartitionNames": ["gpu-training"] }, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-bucket/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole" }
Orchestrator.Slurm (tingkat cluster)
Tambahkan Orchestrator.Slurm ke konfigurasi cluster untuk menentukan bagaimana HyperPod mengelola slurm.conf file.
"Orchestrator": { "Slurm": { "SlurmConfigStrategy": "Managed | Overwrite | Merge" } }
Parameter:
-
SlurmConfigStrategy— Diperlukan saatOrchestrator.Slurmdisediakan. Mengontrol bagaimana HyperPod mengelolaslurm.conffile pada node controller. Nilai valid:-
Managed(default) — HyperPod sepenuhnya mengontrol pemetaan partisi-simpul di.slurm.confDeteksi drift diaktifkan: jika arusslurm.confberbeda dari konfigurasi yang diharapkan, UpdateCluster gagal dengan kesalahan. Gunakan strategi ini ketika Anda HyperPod ingin menjadi sumber kebenaran tunggal untuk konfigurasi Slurm. -
Overwrite— HyperPod memaksa konfigurasi API untuk diterapkan, menimpa setiap perubahan manual keslurm.conf. Deteksi drift dinonaktifkan. Gunakan strategi ini untuk memulihkan dari drift atau mengatur ulang cluster ke status yang diketahui. -
Merge— HyperPod mempertahankanslurm.confperubahan manual dan menggabungkannya dengan konfigurasi API. Deteksi drift dinonaktifkan. Gunakan strategi ini jika Anda perlu membuat perubahan konfigurasi Slurm manual yang harus tetap ada di seluruh pembaruan.
-
catatan
Jika Orchestrator.Slurm dihilangkan dari permintaan, perilaku default adalah Managed strategi.
Tip
Anda dapat mengubah SlurmConfigStrategy kapan saja menggunakan UpdateCluster. Tidak ada kunci untuk strategi tertentu.
Contoh:
{ "ClusterName": "my-hyperpod-cluster", "InstanceGroups": [...], "Orchestrator": { "Slurm": { "SlurmConfigStrategy": "Managed" } } }
SlurmConfigStrategy perbandingan
| Strategi | Deteksi Drift | Perubahan Manual | Kasus Penggunaan |
Managed |
Diaktifkan - memblokir pembaruan jika drift terdeteksi | Diblokir | HyperPod dikelola |
Overwrite |
Nonaktif | Ditimpa | Pemulihan dari drift; reset ke status yang diketahui |
Merge |
Nonaktif | Diawetkan | Pengguna tingkat lanjut dengan slurm.conf kebutuhan khusus |
FSx konfigurasi melalui InstanceStorageConfigs
Dengan konfigurasi berbasis API, Anda dapat mengonfigurasi FSx sistem file per grup instans menggunakan. InstanceStorageConfigs Ini memungkinkan grup instance yang berbeda untuk memasang sistem file yang berbeda.
Prasyarat:
-
Cluster Anda harus menggunakan VPC kustom (via
VpcConfig). FSx filesystem berada di VPC Anda, dan VPC yang dikelola platform tidak dapat menjangkau mereka. -
Setidaknya satu grup instance harus memiliki
SlurmConfigNodeType: Controller.
FsxLustreConfig
Konfigurasikan FSx untuk pemasangan sistem file Lustre untuk grup instance.
"InstanceStorageConfigs": [ { "FsxLustreConfig": { "DnsName": "string", "MountPath": "string", "MountName": "string" } } ]
Parameter:
-
DnsName– Wajib. Nama DNS FSx untuk sistem berkas Lustre. Contoh:fs-0abc123def456789.fsx.us-west-2.amazonaws.com -
MountPath– Opsional. Jalur pemasangan lokal pada instance. Default:/fsx -
MountName– Wajib. Nama mount dari filesystem FSx untuk Lustre. Anda dapat menemukannya di FSx konsol Amazon atau dengan menjalankannyaaws fsx describe-file-systems.
FsxOpenZfsConfig
Konfigurasikan FSx untuk pemasangan sistem file OpenZFS untuk grup instance.
"InstanceStorageConfigs": [ { "FsxOpenZfsConfig": { "DnsName": "string", "MountPath": "string" } } ]
Parameter:
-
DnsName– Wajib. Nama DNS untuk sistem file FSx OpenZFS. Contoh:fs-0xyz987654321.fsx.us-west-2.amazonaws.com -
MountPath– Opsional. Jalur pemasangan lokal pada instance. Default:/home
catatan
Setiap grup instance dapat memiliki paling banyak satu FsxLustreConfig dan satuFsxOpenZfsConfig.
Contoh dengan beberapa sistem file:
{ "InstanceGroupName": "gpu-compute", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 4, "SlurmConfig": { "NodeType": "Compute", "PartitionNames": ["gpu-training"] }, "InstanceStorageConfigs": [ { "FsxLustreConfig": { "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com", "MountPath": "/fsx", "MountName": "abcdefgh" } }, { "FsxOpenZfsConfig": { "DnsName": "fs-0xyz987654321.fsx.us-west-2.amazonaws.com", "MountPath": "/shared" } }, { "EbsVolumeConfig": { "VolumeSizeInGB": 500 } } ], "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-bucket/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole" }
penting
FSx perubahan konfigurasi hanya berlaku selama penyediaan node. Node yang ada mempertahankan FSx konfigurasi aslinya. Untuk menerapkan FSx konfigurasi baru ke semua node, turunkan grup instance ke 0, lalu skala cadangan.
Contoh konfigurasi berbasis API lengkap
Contoh berikut menunjukkan CreateCluster permintaan lengkap menggunakan konfigurasi Slurm berbasis API:
{ "ClusterName": "ml-training-cluster", "InstanceGroups": [ { "InstanceGroupName": "controller", "InstanceType": "ml.c5.xlarge", "InstanceCount": 1, "SlurmConfig": { "NodeType": "Controller" }, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole", "ThreadsPerCore": 2 }, { "InstanceGroupName": "login", "InstanceType": "ml.m5.xlarge", "InstanceCount": 1, "SlurmConfig": { "NodeType": "Login" }, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole", "ThreadsPerCore": 2 }, { "InstanceGroupName": "gpu-compute", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 8, "SlurmConfig": { "NodeType": "Compute", "PartitionNames": ["gpu-training"] }, "InstanceStorageConfigs": [ { "FsxLustreConfig": { "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com", "MountPath": "/fsx", "MountName": "abcdefgh" } } ], "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole", "ThreadsPerCore": 2, "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"] }, { "InstanceGroupName": "cpu-compute", "InstanceType": "ml.c5.18xlarge", "InstanceCount": 4, "SlurmConfig": { "NodeType": "Compute", "PartitionNames": ["cpu-preprocessing"] }, "InstanceStorageConfigs": [ { "FsxLustreConfig": { "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com", "MountPath": "/fsx", "MountName": "abcdefgh" } } ], "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole", "ThreadsPerCore": 2 } ], "Orchestrator": { "Slurm": { "SlurmConfigStrategy": "Managed" } }, "VpcConfig": { "SecurityGroupIds": ["sg-0abc123def456789a"], "Subnets": ["subnet-0abc123def456789a", "subnet-0abc123def456789b"] }, "Tags": [ { "Key": "Project", "Value": "ML-Training" } ] }
Untuk mempelajari lebih lanjut tentang menggunakan konfigurasi berbasis API, lihat. Menyesuaikan SageMaker HyperPod cluster menggunakan skrip siklus hidup
Konfigurasi lama: provisioning_parameters.json
catatan
provisioning_parameters.jsonPendekatannya adalah metode lama untuk mengkonfigurasi Slurm on. HyperPod Untuk cluster baru, sebaiknya gunakan pendekatan konfigurasi berbasis API yang dijelaskan di atas. Pendekatan lama tetap didukung penuh untuk kompatibilitas mundur.
Dengan pendekatan lama, Anda membuat file konfigurasi Slurm bernama provisioning_parameters.json dan mengunggahnya ke Amazon S3 sebagai bagian dari skrip siklus hidup Anda. HyperPod membaca file ini selama pembuatan cluster untuk mengkonfigurasi node Slurm.
Formulir konfigurasi untuk provisioning_parameters.json
Kode berikut adalah formulir konfigurasi Slurm yang harus Anda persiapkan untuk mengatur node Slurm dengan benar di cluster Anda. HyperPod Anda harus melengkapi formulir ini dan mengunggahnya sebagai bagian dari serangkaian skrip siklus hidup selama pembuatan klaster. Untuk mempelajari bagaimana formulir ini harus disiapkan di seluruh proses pembuatan HyperPod klaster, lihatMenyesuaikan SageMaker HyperPod cluster menggunakan skrip siklus hidup.
// Save as provisioning_parameters.json. { "version": "1.0.0", "workload_manager": "slurm", "controller_group": "string", "login_group": "string", "worker_groups": [ { "instance_group_name": "string", "partition_name": "string" } ], "fsx_dns_name": "string", "fsx_mountname": "string" }
Parameter:
-
version– Wajib. Ini adalah versi dari bentuk parameter HyperPod penyediaan. Simpan untuk1.0.0. -
workload_manager– Wajib. Ini untuk menentukan manajer beban kerja mana yang akan dikonfigurasi di cluster. HyperPod Simpan untukslurm. -
controller_group– Wajib. Ini untuk menentukan nama grup instance HyperPod cluster yang ingin Anda tetapkan ke node Slurm controller (head). -
login_group– Opsional. Ini untuk menentukan nama grup instance HyperPod cluster yang ingin Anda tetapkan ke node login Slurm. -
worker_groups– Wajib. Ini untuk menyiapkan node Slurm worker (compute) di cluster. HyperPod-
instance_group_name– Wajib. Ini untuk menentukan nama grup HyperPod instance yang ingin Anda tetapkan ke node Slurm worker (compute). -
partition_name– Wajib. Ini untuk menentukan nama partisi ke node.
-
-
fsx_dns_name– Opsional. Jika Anda ingin mengatur node Slurm Anda di HyperPod cluster untuk berkomunikasi dengan Amazon FSx, tentukan nama FSx DNS. -
fsx_mountname– Opsional. Jika Anda ingin mengatur node Slurm di HyperPod cluster untuk berkomunikasi dengan Amazon FSx, tentukan nama FSx mount.
Perbandingan: Konfigurasi berbasis API vs. lama
| Fitur | Didorong API (Direkomendasikan) | Warisan (provisioning_parameters.json) |
| Lokasi konfigurasi | CreateCluster Permintaan API | Berkas S3 |
| FSx untuk Lustre | Ya - Per grup instans | Ya — Cluster-wide saja |
| FSx untuk OpenZFS | Ya - Per grup instans | Tidak - Tidak didukung |
| Validasi bawaan | Ya | Tidak |
| Deteksi penyimpangan | Ya - (Strategi terkelola) | Tidak |
| Manajemen file S3 | Tidak diperlukan | Diperlukan |
| Kompleksitas skrip siklus hidup | Sederhana | Diperlukan pengaturan SLURM penuh |
SageMaker HyperPod DLAMI
SageMaker HyperPod menjalankan DLAMI berdasarkan:
-
AWS Deep Learning Base GPU AMI (Ubuntu 20.04)
untuk orkestrasi dengan Slurm. -
Amazon Linux 2 berbasis AMI untuk orkestrasi dengan Amazon EKS.
SageMaker HyperPod DLAMI dibundel dengan paket tambahan untuk mendukung alat open source seperti Slurm, Kubernetes, dependensi, dan paket perangkat lunak cluster untuk mendukung fitur ketahanan seperti pemeriksaan kesehatan cluster SageMaker HyperPod dan auto-resume. Untuk menindaklanjuti pembaruan HyperPod perangkat lunak yang didistribusikan oleh tim HyperPod layanan DLAMIs, lihatCatatan SageMaker HyperPod rilis Amazon.
SageMaker HyperPod Referensi izin API
penting
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM memungkinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya AI SageMaker.
AWS kebijakan terkelola untuk Amazon SageMaker AIyang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.
Saat menyiapkan kontrol akses untuk memungkinkan menjalankan operasi SageMaker HyperPod API dan menulis kebijakan izin yang dapat dilampirkan ke pengguna IAM untuk administrator cloud, gunakan tabel berikut sebagai referensi.
| Operasi SageMaker API Amazon | Izin yang Diperlukan (Tindakan API) | Sumber Daya |
| CreateCluster | sagemaker:CreateCluster |
arn:aws:sagemaker: |
| DeleteCluster | sagemaker:DeleteCluster |
arn:aws:sagemaker: |
| DescribeCluster | sagemaker:DescribeCluster |
arn:aws:sagemaker: |
| DescribeClusterNode | sagemaker:DescribeClusterNode |
arn:aws:sagemaker: |
| ListClusterNodes | sagemaker:ListClusterNodes |
arn:aws:sagemaker: |
| ListClusters | sagemaker:ListClusters |
arn:aws:sagemaker: |
| UpdateCluster | sagemaker:UpdateCluster |
arn:aws:sagemaker: |
| UpdateClusterSoftware | sagemaker:UpdateClusterSoftware |
arn:aws:sagemaker: |
Untuk daftar lengkap izin dan jenis sumber daya SageMaker APIs, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon SageMaker AI di Referensi Otorisasi AWS Layanan.
SageMaker HyperPod perintah di AWS CLI
Berikut ini adalah AWS CLI perintah SageMaker HyperPod untuk menjalankan operasi HyperPod API inti.
SageMaker HyperPod Modul Python di AWS SDK untuk Python (Boto3)
Berikut ini adalah metode AWS SDK untuk Python (Boto3) klien untuk SageMaker AI untuk menjalankan operasi HyperPod API inti.