Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan AWS CLI
Topik berikut memberikan panduan tentang menulis file SageMaker HyperPod API permintaan dalam JSON format dan menjalankannya menggunakan AWS CLI perintah.
Topik
Buat cluster baru
-
Siapkan skrip konfigurasi siklus hidup dan unggah ke bucket S3, seperti.
s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
Langkah 2 berikut mengasumsikan bahwa ada skrip titik masuk yang dinamaion_create.sh
dalam bucket S3 yang ditentukan.penting
Pastikan Anda mengatur jalur S3 untuk memulai
s3://sagemaker-
. IAMperan untuk SageMaker HyperPodMemilikiAmazonSageMakerClusterInstanceRolePolicy
terlampir terkelola, yang memungkinkan akses ke bucket S3 dengan awalan tertentu.sagemaker-
-
Siapkan file CreateClusterAPIpermintaan dalam JSON format. Anda harus mengonfigurasi grup instance agar sesuai dengan cluster Slurm yang Anda desain dalam
provisioning_params.json
file yang akan digunakan selama pembuatan klaster sebagai bagian dari menjalankan serangkaian skrip siklus hidup. Untuk mempelajari selengkapnya, lihat Kustomisasi SageMaker HyperPod cluster menggunakan skrip siklus hidup. Template berikut memiliki dua grup instance untuk memenuhi persyaratan minimum untuk cluster Slurm: satu node controller (head) dan satu node compute (worker). UntukExecutionRole
, berikan ARN IAM peran yang Anda buat dengan yang dikelolaAmazonSageMakerClusterInstanceRolePolicy
dari bagianIAMperan untuk SageMaker HyperPod.// create_cluster.json
{ "ClusterName": "your-hyperpod-cluster
", "InstanceGroups": [ { "InstanceGroupName": "controller-group
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, { "InstanceGroupName": "worker-group-1
", "InstanceType": "ml.p4d.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
" } ], // Optional "Tags": [ { "Key": "string
", "Value": "string
" } ], // Optional "VpcConfig": { "SecurityGroupIds": [ "string
" ], "Subnets": [ "string
" ] } }Bergantung pada bagaimana Anda mendesain struktur klaster melalui skrip siklus hidup Anda, Anda dapat mengonfigurasi hingga 20 grup instans di bawah parameter.
InstanceGroups
Untuk parameter
Tags
permintaan, Anda dapat menambahkan tag khusus untuk mengelola SageMaker HyperPod cluster sebagai AWS sumber daya. Anda dapat menambahkan tag ke klaster Anda dengan cara yang sama seperti Anda menambahkannya di AWS layanan lain yang mendukung penandaan. Untuk mempelajari selengkapnya tentang menandai AWS sumber daya secara umum, lihat Panduan Pengguna AWS Sumber Daya Tag.Untuk parameter
VpcConfig
permintaan, tentukan informasi yang ingin VPC Anda gunakan. Untuk informasi selengkapnya, lihat Menyiapkan SageMaker HyperPod dengan Amazon VPC. -
Jalankan perintah create-cluster sebagai berikut.
aws sagemaker create-cluster \ --cli-input-json
file://complete/path/to/create_cluster.json
Ini harus mengembalikan ARN cluster baru.
Jelaskan sebuah cluster
Jalankan describe-cluster untuk memeriksa status cluster. Anda dapat menentukan nama ARN atau cluster.
aws sagemaker describe-cluster --cluster-name
your-hyperpod-cluster
Setelah status cluster berubahInService
, lanjutkan ke langkah berikutnya. Dengan menggunakan iniAPI, Anda juga dapat mengambil pesan kegagalan dari menjalankan HyperPod API operasi lain.
Rincian daftar node cluster
Jalankan list-cluster-nodesuntuk memeriksa informasi kunci dari node cluster.
aws sagemaker list-cluster-nodes --cluster-name
your-hyperpod-cluster
Ini mengembalikan respons, dan InstanceId
itulah yang perlu Anda gunakan untuk logging (usingaws ssm
) ke dalamnya.
Jelaskan detail node cluster
Jalankan describe-cluster-nodeuntuk mengambil rincian node cluster. Anda bisa mendapatkan ID node cluster dari list-cluster-nodes output. Anda dapat menentukan nama ARN atau cluster.
aws sagemaker describe-cluster-node \ --cluster-name
your-hyperpod-cluster
\ --node-idi-111222333444555aa
Daftar cluster
Jalankan list-cluster untuk mencantumkan semua cluster di akun Anda.
aws sagemaker list-clusters
Anda juga dapat menambahkan bendera tambahan untuk memfilter daftar cluster ke bawah. Untuk mempelajari lebih lanjut tentang apa yang dijalankan perintah ini pada level rendah dan flag tambahan untuk pemfilteran, lihat referensi. ListClustersAPI
Perbarui konfigurasi cluster
Jalankan update-cluster untuk memperbarui konfigurasi cluster.
-
Buat file
UpdateCluster
permintaan dalam JSON format. Pastikan Anda menentukan nama cluster dan nama grup instance yang tepat untuk diperbarui. Anda dapat mengubah jenis instance, jumlah instance, skrip entrypoint konfigurasi siklus hidup, dan jalur ke skrip.-
Untuk
ClusterName
, tentukan nama cluster yang ingin Anda perbarui. -
Untuk
InstanceGroupName
-
Untuk memperbarui grup instans yang ada, tentukan nama grup instans yang ingin Anda perbarui.
-
Untuk menambahkan grup instans baru, tentukan nama baru yang tidak ada di klaster Anda.
-
-
Untuk
InstanceType
-
Untuk memperbarui grup instans yang ada, Anda harus mencocokkan jenis instans yang awalnya Anda tentukan ke grup.
-
Untuk menambahkan grup instans baru, tentukan jenis instance yang ingin Anda konfigurasikan grup.
-
-
Untuk
InstanceCount
-
Untuk memperbarui grup instans yang ada, tentukan bilangan bulat yang lebih besar dari jumlah instance saat ini. Saat ini, Anda hanya dapat menambah jumlah instance.
-
Untuk menambahkan grup instance baru, tentukan bilangan bulat yang lebih besar atau sama dengan 1.
-
-
Untuk
LifeCycleConfig
, Anda dapat mengubah keduanyaSourceS3Uri
danOnCreat
nilai saat Anda ingin memperbarui grup instance. -
Untuk
ExecutionRole
-
Untuk memperbarui grup instans yang ada, tetap gunakan IAM peran yang sama yang Anda lampirkan selama pembuatan klaster.
-
Untuk menambahkan grup instance baru, tentukan IAM peran yang ingin Anda lampirkan.
-
-
Untuk
TreadsPerCore
-
Untuk memperbarui grup instans yang ada, tetap gunakan nilai yang sama yang Anda tentukan selama pembuatan klaster.
-
Untuk menambahkan grup instans baru, Anda dapat memilih nilai apa pun dari opsi yang diizinkan per jenis instans. Untuk informasi selengkapnya, cari jenis instans dan lihat kolom Tapak per inti yang valid di tabel referensi di CPUinti dan utas per CPU inti per jenis instans di Panduan EC2 Pengguna Amazon.
-
Cuplikan kode berikut adalah template file JSON permintaan yang dapat Anda gunakan. Untuk informasi selengkapnya tentang sintaks permintaan dan parameter iniAPI, lihat UpdateClusterAPIreferensi.
// update_cluster.json { // Required "ClusterName": "
name-of-cluster-to-update
", // Required "InstanceGroups": [ { "InstanceGroupName": "name-of-instance-group-to-update
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, // add more blocks of instance groups as needed { ... } ] } -
-
Jalankan
update-cluster
perintah berikut untuk mengirimkan permintaan.aws sagemaker update-cluster \ --cli-input-json
file://complete/path/to/update_cluster.json
Perbarui perangkat lunak SageMaker HyperPod platform cluster
Jalankan update-cluster-softwareuntuk memperbarui cluster yang ada dengan perangkat lunak dan patch keamanan yang disediakan oleh layanan. SageMaker HyperPod Untuk--cluster-name
, tentukan nama atau cluster ARN yang akan diperbarui.
penting
Perhatikan bahwa Anda harus mencadangkan pekerjaan Anda sebelum menjalankan iniAPI. Proses patching menggantikan volume root dengan yang diperbaruiAMI, yang berarti bahwa data Anda sebelumnya yang disimpan dalam volume root instance akan hilang. Pastikan Anda mencadangkan data dari volume root instans ke Amazon S3 atau Amazon FSx for Lustre. Untuk informasi selengkapnya, lihat Gunakan skrip cadangan yang disediakan oleh SageMaker HyperPod.
aws sagemaker update-cluster-software --cluster-name
your-hyperpod-cluster
Perintah ini memanggil UpdateClusterSoftwareAPI. Setelah API panggilan, SageMaker HyperPod update instance cluster untuk menggunakan yang terbaru SageMaker HyperPod DLAMI dan menjalankan skrip siklus hidup Anda di bucket S3 yang Anda tentukan selama pembuatan atau pembaruan klaster. Tim SageMaker HyperPod layanan secara teratur meluncurkan SageMaker HyperPod DLAMI s baru untuk meningkatkan keamanan dan meningkatkan pengalaman pengguna. Kami menyarankan Anda untuk selalu memperbarui ke yang terbaru SageMaker HyperPod DLAMI. Untuk SageMaker HyperPod DLAMI pembaruan masa depan untuk patch keamanan, tindak lanjuti denganCatatan SageMaker HyperPod rilis Amazon.
Tip
Jika patch keamanan gagal, Anda dapat mengambil pesan kegagalan dengan menjalankan DescribeCluster
APIseperti yang diinstruksikan di. Jelaskan sebuah cluster
catatan
Anda hanya dapat menjalankan ini API secara terprogram. Fungsionalitas penambalan tidak diimplementasikan di UI SageMaker HyperPod konsol.
Gunakan skrip cadangan yang disediakan oleh SageMaker HyperPod
SageMaker HyperPod menyediakan skrip untuk mencadangkan dan memulihkan data Anda di 1.architectures/5.sagemaker-hyperpod/patching-backup.sh
Untuk mencadangkan data ke bucket S3 sebelum menambal
sudo bash patching-backup.sh --create
<s3-buckup-bucket-path>
Setelah Anda menjalankan perintah, skrip memeriksa squeue
apakah ada pekerjaan antrian, menghentikan Slurm jika tidak ada pekerjaan dalam antrian, mencadangkanmariadb
, dan menyalin item lokal pada disk yang ditentukan di bawah. LOCAL_ITEMS
Anda dapat menambahkan lebih banyak file dan direktori keLOCAL_ITEMS
.
# Define files and directories to back up. LOCAL_ITEMS=( "/var/spool/slurmd" "/var/spool/slurmctld" "/etc/systemd/system/slurmctld.service" "/home/ubuntu/backup_slurm_acct_db.sql" # ... Add more items as needed )
Selain itu, Anda dapat menambahkan kode khusus ke skrip yang disediakan untuk mencadangkan aplikasi apa pun untuk kasus penggunaan Anda.
Untuk memulihkan data dari bucket S3 setelah menambal
sudo bash patching-backup.sh --restore
<s3-buckup-bucket-path>
Hapus klaster
Jalankan delete-cluster untuk menghapus cluster. Anda dapat menentukan nama ARN atau cluster.
aws sagemaker delete-cluster --cluster-name
your-hyperpod-cluster