Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan AWS CLI perintah untuk SageMaker HyperPod APIs
Buat SageMaker HyperPod cluster pertama Anda menggunakan AWS CLI perintah untuk HyperPod.
Buat SageMaker HyperPod cluster pertama Anda dengan Slurm
Tutorial berikut menunjukkan cara membuat SageMaker HyperPod cluster baru dan mengaturnya dengan Slurm melalui AWS CLI
perintah untuk SageMaker HyperPod. Mengikuti tutorial, Anda akan membuat HyperPod cluster dengan tiga node Slurm,, my-controller-group
my-login-group
, dan. worker-group-1
-
Pertama, siapkan dan unggah skrip siklus hidup ke bucket Amazon S3. Selama pembuatan cluster, HyperPod jalankan mereka di setiap grup instance. Unggah skrip siklus hidup ke Amazon S3 menggunakan perintah berikut.
aws s3 sync \ ~/
local-dir-to-lifecycle-scripts
/* \ s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
catatan
Jalur bucket S3 harus dimulai dengan awalan
sagemaker-
, karena IAMperan untuk SageMaker HyperPod withAmazonSageMakerClusterInstanceRolePolicy
hanya mengizinkan akses ke bucket Amazon S3 yang dimulai dengan awalan tertentu.Jika Anda memulai dari awal, gunakan contoh skrip siklus hidup yang disediakan di repositori Pelatihan Terdistribusi Awsome
. GitHub Sub-langkah berikut menunjukkan cara mengunduh, apa yang harus dimodifikasi, dan cara mengunggah skrip siklus hidup sampel ke bucket Amazon S3. -
Unduh salinan sampel skrip siklus hidup ke direktori di komputer lokal Anda.
git clone https://github.com/aws-samples/awsome-distributed-training/
-
Masuk ke direktori
1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config
, di mana Anda dapat menemukan satu set skrip siklus hidup. cd awsome-distributed-training/1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config
Untuk mempelajari lebih lanjut tentang contoh skrip siklus hidup, lihat. Mempersiapkan skrip siklus hidup untuk menyiapkan Slurm on SageMaker HyperPod
-
Tulis file konfigurasi Slurm dan simpan sebagai file.
provisioning_params.json
Dalam file, tentukan parameter konfigurasi Slurm dasar untuk menetapkan node Slurm dengan benar ke grup instance cluster. SageMaker HyperPod Dalam tutorial ini, mengatur tiga node Slurm bernamamy-controller-group
,, danmy-login-group
worker-group-1
, seperti yang ditunjukkan dalam konfigurasi contoh berikut.provisioning_params.json
{ "version": "1.0.0", "workload_manager": "
slurm
", "controller_group": "my-controller-group
", "login_group": "my-login-group
", "worker_groups": [ { "instance_group_name": "worker-group-1
", "partition_name": "partition-1
" } ] } -
Unggah skrip ke
s3://sagemaker-
. Anda dapat melakukannya dengan menggunakan konsol Amazon S3, atau dengan menjalankan yang berikut AWS CLI Perintah Amazon S3.<unique-s3-bucket-name>
/<lifecycle-script-directory>
/srcaws s3 sync \ ~/
local-dir-to-lifecycle-scripts
/* \ s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
-
-
Siapkan file CreateClusterpermintaan dalam JSON format dan simpan sebagai
create_cluster.json
. Template permintaan berikut sejajar dengan konfigurasi simpul Slurm yang didefinisikan dalam Langkah 1.c.provisioning_params.json
UntukExecutionRole
, berikan ARN IAM peran yang Anda buat dengan yang dikelolaAmazonSageMakerClusterInstanceRolePolicy
Prasyarat untuk menggunakan SageMaker HyperPod.{
// Required: Specify the name of the cluster.
"ClusterName": "my-hyperpod-cluster
",// Required: Configure instance groups to be launched in the cluster
"InstanceGroups": [ {// Required: Specify the basic configurations to set up a controller node.
"InstanceGroupName": "my-controller-group
", "InstanceType": "ml.c5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "${ROLE}
",// 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": "my-login-group
", "InstanceType": "ml.m5.4xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "${ROLE}
" }, { "InstanceGroupName": "worker-group-1
", "InstanceType": "ml.trn1.32xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "${ROLE}
" } ] } -
Jalankan perintah berikut untuk membuat cluster.
aws sagemaker create-cluster --cli-input-json
file://complete/path/to/create_cluster.json
Ini harus mengembalikan ARN cluster yang dibuat.
Jika Anda menerima kesalahan karena batasan sumber daya, pastikan Anda mengubah jenis instans menjadi salah satu dengan kuota yang cukup di akun Anda, atau minta kuota tambahan dengan mengikuti di. SageMaker HyperPod kuota
-
Jalankan
describe-cluster
untuk memeriksa status cluster.aws sagemaker describe-cluster --cluster-name
my-hyperpod-cluster
Setelah status cluster berubah
InService
, lanjutkan ke langkah berikutnya. -
Jalankan
list-cluster-nodes
untuk memeriksa detail node cluster.aws sagemaker list-cluster-nodes --cluster-name
my-hyperpod-cluster
Ini mengembalikan respons, dan
InstanceId
itulah yang dibutuhkan pengguna klaster Anda untuk logging (aws ssm
) ke dalamnya. Untuk informasi selengkapnya tentang masuk ke node cluster dan menjalankan beban kerja ML, lihatJalankan pekerjaan di SageMaker HyperPod cluster.
Hapus cluster dan sumber daya bersih
Setelah Anda berhasil menguji pembuatan SageMaker HyperPod klaster, klaster terus berjalan di InService
status hingga Anda menghapus klaster. Kami menyarankan Anda menghapus klaster apa pun yang dibuat menggunakan SageMaker kapasitas sesuai permintaan saat tidak digunakan untuk menghindari biaya layanan lanjutan berdasarkan harga sesuai permintaan. Dalam tutorial ini, Anda telah membuat sebuah cluster yang terdiri dari dua kelompok instance. Salah satunya menggunakan instance C5, jadi pastikan Anda menghapus cluster dengan menjalankan perintah berikut.
aws sagemaker delete-cluster --cluster-name
my-hyperpod-cluster
Untuk membersihkan skrip siklus hidup dari bucket Amazon S3 yang digunakan untuk tutorial ini, buka bucket Amazon S3 yang Anda gunakan selama pembuatan cluster dan hapus file seluruhnya.
Jika Anda telah menguji menjalankan beban kerja pelatihan model apa pun di klaster, periksa juga apakah Anda telah mengunggah data apa pun atau apakah pekerjaan Anda telah menyimpan artefak apa pun ke bucket Amazon S3 atau layanan sistem file yang berbeda seperti Amazon FSx for Lustre dan Amazon Elastic File System. Untuk mencegah timbulnya biaya, hapus semua artefak dan data dari penyimpanan atau sistem file.