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 On-demand Pembuatan cluster 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 API
Daftar berikut adalah set lengkap SageMaker HyperPod API 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 |
| API-driven konfigurasi | 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 |
API-driven Konfigurasi slurm (Disarankan)
Dengan API-driven konfigurasi, 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 -
Built-in validasi — API memvalidasi topologi Slurm sebelum pembuatan cluster
-
Deteksi drift - Mendeteksi perubahan yang tidak sah
slurm.conf -
Per-instance-group penyimpanan - Konfigurasikan sistem file FSx yang berbeda untuk grup instance yang berbeda
-
FSx untuk dukungan OpenZFS — Mount OpenZFS filesystem selain FSx for Lustre
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. Jenis 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 |
Konfigurasi fsX melalui InstanceStorageConfigs
Dengan API-driven konfigurasi, Anda dapat mengonfigurasi sistem file FSx 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). Sistem file FSx berada di VPC Anda, dan VPC yang dikelola platform tidak dapat menjangkau mereka. -
Setidaknya satu grup instance harus memiliki
SlurmConfigNodeType: Controller.
FsxLustreConfig
Konfigurasikan pemasangan sistem file FSx for Lustre untuk grup instans.
"InstanceStorageConfigs": [ { "FsxLustreConfig": { "DnsName": "string", "MountPath": "string", "MountName": "string" } } ]
Parameter:
-
DnsName– Wajib. Nama DNS dari FSx for Lustre filesystem. Contoh:fs-0abc123def456789.fsx.us-west-2.amazonaws.com -
MountPath– Opsional. Jalur pemasangan lokal pada instance. Default:/fsx -
MountName– Wajib. Nama mount dari sistem file FSx for Lustre. Anda dapat menemukannya di konsol Amazon FSx atau dengan menjalankannya.aws fsx describe-file-systems
FsxOpenZfsConfig
Konfigurasikan fsX untuk pemasangan sistem file OpenZFS untuk grup instans.
"InstanceStorageConfigs": [ { "FsxOpenZfsConfig": { "DnsName": "string", "MountPath": "string" } } ]
Parameter:
-
DnsName– Wajib. Nama DNS dari FSx untuk sistem file 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
Perubahan konfigurasi fsX hanya berlaku selama penyediaan node. Node yang ada mempertahankan konfigurasi FSx aslinya. Untuk menerapkan konfigurasi FSx baru ke semua node, turunkan grup instance ke 0, lalu skala cadangan.
Contoh API-driven konfigurasi lengkap
Contoh berikut menunjukkan CreateCluster permintaan lengkap menggunakan konfigurasi API-driven Slurm:
{ "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 API-driven konfigurasi, lihatMenyesuaikan 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 API-driven konfigurasi 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 DNS FSx. -
fsx_mountname– Opsional. Jika Anda ingin mengatur node Slurm Anda di HyperPod cluster untuk berkomunikasi dengan Amazon FSx, tentukan nama mount fsX.
Perbandingan: API-driven vs. konfigurasi lama
| Fitur | API-driven (Direkomendasikan) | Warisan (provisioning_parameters.json) |
| Lokasi konfigurasi | CreateCluster Permintaan API | Berkas S3 |
| FSx for Lustre | Ya - Per grup instans | Ya — Cluster-wide hanya |
| FSx untuk OpenZFS | Ya - Per grup instans | Tidak - Tidak didukung |
| Built-in validasi | 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 melalui DLAMI, lihat. Catatan 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 untuk SageMaker API, lihat Tindakan, sumber daya, dan kunci 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.