Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyesuaikan SageMaker HyperPod cluster menggunakan skrip siklus hidup
SageMaker HyperPod selalu menawarkan cluster up-and-running komputasi, yang sangat dapat disesuaikan karena Anda dapat menulis skrip siklus hidup untuk memberi tahu SageMaker HyperPod cara mengatur sumber daya cluster. Topik berikut adalah praktik terbaik untuk menyiapkan skrip siklus hidup untuk menyiapkan SageMaker HyperPod cluster dengan alat pengelola beban kerja sumber terbuka.
Topik berikut membahas praktik terbaik mendalam untuk menyiapkan skrip siklus hidup untuk menyiapkan konfigurasi Slurm. SageMaker HyperPod
Ikhtisar tingkat tinggi
Prosedur berikut adalah aliran utama penyediaan HyperPod cluster dan mengaturnya dengan Slurm. Langkah-langkahnya diatur dalam urutan pendekatan bottom-up.
-
Rencanakan bagaimana Anda ingin membuat node Slurm pada sebuah HyperPod cluster. Misalnya, jika Anda ingin mengkonfigurasi dua node Slurm, Anda harus mengatur dua grup instance dalam sebuah HyperPod cluster.
-
Siapkan konfigurasi Slurm. Pilih salah satu pendekatan berikut:
-
Opsi A: Konfigurasi berbasis API (disarankan) — Tentukan tipe dan partisi node Slurm secara langsung di payload
CreateClusterAPI menggunakan dalam setiap grup instans.SlurmConfigDengan pendekatan ini:-
Tidak ada
provisioning_parameters.jsonfile yang dibutuhkan -
Topologi slurm didefinisikan dalam payload API bersama definisi grup instance
-
FSx filesystem dikonfigurasi melalui per-instance-group
InstanceStorageConfigs -
Strategi konfigurasi dikendalikan melalui
Orchestrator.Slurm.SlurmConfigStrategy
Contoh
SlurmConfigdalam grup instance:{ "InstanceGroupName": "gpu-compute", "InstanceType": "ml.p4d.24xlarge", "InstanceCount": 8, "SlurmConfig": { "NodeType": "Compute", "PartitionNames": ["gpu-training"] } } -
-
Opsi B: Konfigurasi lama - Siapkan
provisioning_parameters.jsonfile, yang merupakan Formulir konfigurasi untuk provisioning_parameters.json file.provisioning_parameters.jsonharus berisi informasi konfigurasi simpul Slurm untuk disediakan di cluster. HyperPod Ini harus mencerminkan desain node Slurm dari Langkah 1.
-
-
Siapkan satu set skrip siklus hidup untuk menyiapkan Slurm on HyperPod untuk menginstal paket perangkat lunak dan menyiapkan lingkungan di cluster untuk kasus penggunaan Anda. Anda harus menyusun skrip siklus hidup untuk dijalankan secara kolektif dalam skrip Python pusat (
lifecycle_script.py), dan menulis skrip shell titik masuk () untuk menjalankan skrip Python.on_create.shSkrip shell entrypoint adalah apa yang perlu Anda berikan ke permintaan pembuatan HyperPod cluster nanti di Langkah 5.Juga, perhatikan bahwa Anda harus menulis skrip
resource_config.jsonyang diharapkan akan dihasilkan oleh HyperPod selama pembuatan cluster.resource_config.jsonberisi informasi sumber daya HyperPod cluster seperti alamat IP, jenis instance, dan ARNs, dan apa yang perlu Anda gunakan untuk mengkonfigurasi Slurm. -
Kumpulkan semua file dari langkah sebelumnya ke dalam folder. Struktur folder tergantung pada pendekatan konfigurasi yang Anda pilih di Langkah 2.
Jika Anda memilih Opsi A (konfigurasi berbasis API):
Folder Anda hanya membutuhkan skrip siklus hidup untuk tugas penyiapan khusus. Konfigurasi slurm dan FSx pemasangan ditangani secara otomatis HyperPod berdasarkan muatan API.
└── lifecycle_files // your local folder ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scripts to be fed into lifecycle_script.pycatatan
provisioning_parameters.jsonFile tidak diperlukan saat menggunakan konfigurasi berbasis API.Jika Anda memilih Opsi B (konfigurasi lama):
Folder Anda harus menyertakan
provisioning_parameters.jsondan set lengkap skrip siklus hidup.└── lifecycle_files // your local folder ├── provisioning_parameters.json ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scrips to be fed into lifecycle_script.py -
Unggah semua file ke bucket S3. Salin dan simpan jalur bucket S3. Perhatikan bahwa Anda harus membuat jalur bucket S3 dimulai
sagemaker-karena Anda harus memilih yang Peran IAM untuk SageMaker HyperPod terpasang AmazonSageMakerClusterInstanceRolePolicy, yang hanya mengizinkan jalur bucket S3 yang dimulai dengan awalan.sagemaker-Perintah berikut adalah contoh perintah untuk meng-upload semua file ke bucket S3.aws s3 cp --recursive./lifecycle_filess3://sagemaker-hyperpod-lifecycle/src -
Siapkan permintaan pembuatan HyperPod cluster.
-
Opsi 1: Jika Anda menggunakan AWS CLI, tulis permintaan pembuatan cluster dalam format JSON (
create_cluster.json) mengikuti petunjuk diBuat cluster baru. -
Opsi 2: Jika Anda menggunakan UI konsol SageMaker AI, isi formulir Buat permintaan cluster di UI HyperPod konsol dengan mengikuti petunjuk diBuat SageMaker HyperPod cluster.
Pada tahap ini, pastikan Anda membuat grup instance dalam struktur yang sama dengan yang Anda rencanakan di Langkah 1 dan 2. Selain itu, pastikan Anda menentukan bucket S3 dari Langkah 5 di formulir permintaan.
-
-
Kirim permintaan pembuatan cluster. HyperPod menyediakan cluster berdasarkan permintaan, dan kemudian membuat
resource_config.jsonfile dalam instance HyperPod cluster, dan menyiapkan Slurm di cluster yang menjalankan skrip siklus hidup.
Topik berikut memandu Anda dan menyelami detail tentang cara mengatur file konfigurasi dan skrip siklus hidup agar berfungsi dengan baik selama HyperPod pembuatan klaster.
Topik
Konfigurasi tertentu apa yang HyperPod dikelola dalam file konfigurasi Slurm
Memasang Amazon FSx untuk Lustre dan Amazon FSx untuk OpenZFS ke sebuah cluster HyperPod
Memvalidasi file konfigurasi JSON sebelum membuat cluster Slurm HyperPod
Memvalidasi runtime sebelum menjalankan beban kerja produksi pada cluster Slurm HyperPod
Mengembangkan skrip siklus hidup secara interaktif pada node cluster HyperPod