Membuat cluster Slurm yang dioptimalkan untuk AI dengan jenis mesin A4
Halaman ini menjelaskan cara membuat dan men-deploy cluster Slurm yang dioptimalkan untuk AI dengan cepat menggunakan jenis mesin yang dioptimalkan untuk akselerator A4 dengan gcloud CLI dan Cluster Toolkit.
Jenis mesin yang dioptimalkan akselerator A4 dilengkapi dengan GPU NVIDIA B200 yang terpasang dan dirancang khusus untuk komputasi AI yang intensif guna membantu cluster Slurm Anda menangani pelatihan dan inferensi model skala besar secara efisien. Untuk mengetahui informasi selengkapnya tentang jenis mesin yang dioptimalkan akselerator A4 di Google Cloud, lihat Jenis mesin GPU.
.Atau, Anda dapat menggunakan Cluster Director untuk membuat cluster Slurm berbasis A4. Cluster Director adalah layanan terkelola yang menyederhanakan dan mengotomatiskan deployment cluster, sehingga mengurangi overhead operasional. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster yang dioptimalkan untuk AI berdasarkan template.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Ringkasan tutorial
Tutorial ini menjelaskan langkah-langkah untuk menyiapkan cluster Slurm yang dioptimalkan untuk AI menggunakan jenis mesin yang dioptimalkan untuk akselerator A4. Secara khusus, Anda akan menyiapkan cluster dengan virtual machine Compute Engine, membuat bucket Cloud Storage untuk menyimpan modul Terraform yang diperlukan, dan menyiapkan instance Filestore untuk menyediakan cluster Slurm Anda. Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda harus mengikuti proses berikut:
- Siapkan project Google Cloud dengan izin dan variabel lingkungan yang diperlukan.
- Menyiapkan bucket Cloud Storage.
- Siapkan Cluster Toolkit.
- Beralih ke direktori Cluster Toolkit.
- Buat file YAML deployment Slurm.
- Menyediakan cluster Slurm menggunakan blueprint.
- Hubungkan ke cluster Slurm.
Sebelum memulai
- Pesan blok kapasitas untuk satu mesin
a4-highgpu-8g. Mesin ini diperlukan untuk tutorial ini. Pastikan Anda memiliki kuota Filestore yang cukup untuk menyediakan cluster Slurm. Anda memerlukan kapasitas zona minimal 10.240 GiB (juga dikenal sebagai kapasitas SSD skala tinggi).
Untuk memeriksa kuota Filestore Anda, lihat Quotas & System limits di konsol Google Cloud dan filter tabel untuk hanya menampilkan resource Filestore.
- Untuk mengetahui petunjuk mendetail tentang cara memeriksa kuota Filestore, lihat Melihat kuota khusus API.
- Jika Anda tidak memiliki kuota yang cukup, minta penambahan kuota.
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Compute Engine, Filestore, Cloud Storage, Service Usage, dan Cloud Resource Manager API:
Peran yang diperlukan
Untuk memastikan bahwa akun layanan default Compute Engine memiliki izin yang diperlukan untuk men-deploy cluster Slurm, minta administrator Anda untuk memberikan peran IAM berikut kepada akun layanan default Compute Engine:
-
Storage Object Viewer (
roles/storage.objectViewer) di project Anda -
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) di project Anda -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan itu sendiri
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan default Compute Engine melalui peran khusus atau peran bawaan lainnya.
Biaya
Biaya untuk menjalankan tutorial ini bervariasi menurut setiap bagian yang Anda selesaikan, seperti menyiapkan tutorial atau menjalankan tugas. Anda dapat menghitung biaya menggunakan kalkulator harga.
Untuk memperkirakan biaya penyiapan tutorial ini, gunakan spesifikasi berikut:
- Kapasitas Filestore (standar) per region: 10.240 GiB.
- Persistent disk standar: 50 GB
pd-standarduntuk node login Slurm. - Persistent disk performa (SSD): 50 GB
pd-ssduntuk pengontrol Slurm. - Instance VM: 1
a4-highgpu-8g.
Meluncurkan Cloud Shell
Dalam tutorial ini, Anda akan menggunakan Cloud Shell yang merupakan lingkungan shell untuk mengelola resource yang dihosting di Google Cloud.
Cloud Shell telah diinstal lebih dulu dengan Google Cloud CLI. gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud. Meluncurkan Cloud Shell:
Buka konsol Google Cloud .
Dari pojok kanan atas konsol, klik tombol Activate Cloud Shell:

Sesi Cloud Shell akan dimulai dan menampilkan perintah command line.
Anda menggunakan shell ini untuk menjalankan perintah gcloud dan Cluster Toolkit.
Menetapkan variabel lingkungan
Di Cloud Shell, tetapkan variabel lingkungan berikut untuk digunakan selama sisa tutorial. Variabel lingkungan ini menetapkan nilai placeholder untuk tugas berikut:
Mengonfigurasi project Anda dengan nilai yang relevan untuk mengakses mesin
a4-highgpu-8gyang dicadangkan.Menyiapkan bucket Cloud Storage untuk menyimpan modul Cluster Toolkit.
Variabel kapasitas reservasi
export A4_RESERVATION_PROJECT_ID=A4_RESERVATION_PROJECT_ID export A4_RESERVATION_NAME=A4_RESERVATION_NAME export A4_DEPLOYMENT_NAME=A4_DEPLOYMENT_NAME export A4_REGION=A4_REGION export A4_ZONE=A4_ZONE export A4_DEPLOYMENT_FILE_NAME=A4_DEPLOYMENT_FILE_NAME
Ganti kode berikut:
A4_RESERVATION_PROJECT_ID: ID project yang diberi blok pemesanan jenis mesin A4. Google CloudA4_RESERVATION_NAME: nama reservasi GPU yang digunakan dalam project Anda. Contoh,a4high-exr.A4_DEPLOYMENT_NAME: nama unik untuk deployment cluster Slurm Anda. Contoh,my-slurm-cluster-deployment.A4_REGION: region yang menjalankan blok pemesanan mesin A4 yang dicadangkan. Contoh,us-central1.A4_ZONE: zona yang berisi mesin yang dipesan. String ini harus berisi region dan zona. Contoh,us-central1-a.A4_DEPLOYMENT_FILE_NAME: nama unik untuk file YAML blueprint Slurm Anda. Jika Anda menjalankan tutorial ini lebih dari sekali, pilih nama deployment unik setiap kali.
Variabel kapasitas penyimpanan
Buat variabel lingkungan untuk bucket Cloud Storage Anda.
Cluster Toolkit menggunakan blueprint untuk menentukan dan men-deploy cluster VM. Blueprint menentukan satu atau beberapa modul Terraform untuk menyediakan infrastruktur Cloud. Bucket ini digunakan untuk menyimpan cetak biru ini.
export GOOGLE_CLOUD_BUCKET_NAME=GOOGLE_CLOUD_BUCKET_NAME export GOOGLE_CLOUD_BUCKET_LOCATION=GOOGLE_CLOUD_BUCKET_LOCATION
Ganti kode berikut:
GOOGLE_CLOUD_BUCKET_NAME: nama yang ingin Anda gunakan untuk bucket Cloud Storage yang memenuhi persyaratan penamaan bucket.GOOGLE_CLOUD_BUCKET_LOCATION: Region Google Cloud pilihan Anda, tempat bucket akan dihosting. Contoh,us-central1.
Beralih ke project yang disetujui A4
Jalankan perintah berikut untuk memastikan bahwa Anda berada di project yang memiliki blok reservasi yang disetujui untuk jenis mesin A4. Google Cloud
gcloud config set project ${A4_RESERVATION_PROJECT_ID}Membuat bucket Cloud Storage
Buat bucket untuk menyimpan modul Terraform Anda. Dari Cloud Shell, menggunakan variabel lingkungan, jalankan perintah berikut:
Praktik terbaik saat bekerja dengan Terraform adalah menyimpan status dari jarak jauh dalam file yang mendukung versi. Di Google Cloud, Anda dapat membuat bucket Cloud Storage yang mengaktifkan pengelolaan versi.
gcloud storage buckets create gs://${GOOGLE_CLOUD_BUCKET_NAME} \
--project=${A4_RESERVATION_PROJECT_ID} \
--default-storage-class=STANDARD \
--location=${GOOGLE_CLOUD_BUCKET_LOCATION} \
--uniform-bucket-level-access
gcloud storage buckets update gs://${GOOGLE_CLOUD_BUCKET_NAME} --versioning
Menyiapkan Cluster Toolkit
Untuk membuat cluster Slurm dalam project Google Cloud , Anda dapat menggunakan Cluster Toolkit untuk menangani deployment dan penyediaan cluster. Cluster Toolkit adalah software open source yang ditawarkan oleh Google Cloud untuk menyederhanakan proses men-deploy workload di Google Cloud.
Gunakan langkah-langkah berikut untuk menyiapkan Cluster Toolkit.
Clone repositori GitHub Cluster Toolkit
Di Cloud Shell, buat clone repositori GitHub:
git clone https://github.com/GoogleCloudPlatform/cluster-toolkit.git
Buka direktori kerja utama:
cd cluster-toolkit/
Membangun biner Cluster Toolkit
Di Cloud Shell, bangun biner Cluster Toolkit dari sumber dengan menjalankan perintah berikut:
make
Untuk memverifikasi build, jalankan perintah berikut:
Untuk men-deploy cluster Slurm jenis mesin yang dioptimalkan untuk akselerator tinggi A4, Anda harus menggunakan Cluster Toolkit versi
v1.51.1atau yang lebih baru../gcluster --version
Setelah membangun biner, Anda kini siap men-deploy cluster untuk menjalankan tugas atau workload.
Membuat file deployment
Di direktori Cluster Toolkit, buat file YAML deployment Slurm Anda.
nano ${A4_DEPLOYMENT_FILE_NAME}.yamlTempel konten berikut ke dalam file YAML.
--- terraform_backend_defaults: type: gcs configuration: bucket: GOOGLE_CLOUD_BUCKET_NAME vars: deployment_name: A4_DEPLOYMENT_FILE_NAME project_id: A4_RESERVATION_PROJECT_ID region: A4_REGION zone: A4_ZONE a4h_reservation_name: A4_RESERVATION_NAME a4h_cluster_size: 1Untuk menyimpan dan keluar dari file, tekan Ctrl+O > Enter > Ctrl+X.
Menyediakan cluster Slurm
Untuk menyediakan cluster Slurm, jalankan perintah deployment berikut. Perintah ini akan menyediakan cluster Slurm dengan file cetak biru examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml.
Di Cloud Shell, mulai pembuatan cluster.
./gcluster deploy -d ${A4_DEPLOYMENT_FILE_NAME}.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --auto-approve
Hubungkan ke cluster
Setelah men-deploy, hubungkan ke konsol Google Cloud untuk melihat cluster Anda.
Buka halaman Compute Engine > VM instances di konsolGoogle Cloud .
Cari node login (
a4high-login-001atau yang serupa).Klik SSH untuk terhubung.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Hancurkan cluster Slurm
Sebaiknya bersihkan resource Anda jika tidak diperlukan lagi.
Secara default, cetak biru A4 High mengaktifkan perlindungan penghapusan pada instance Filestore. Saat menghancurkan cluster Slurm, Anda harus menonaktifkan perlindungan penghapusan sebelum menjalankan perintah penghancuran.
Menonaktifkan perlindungan penghapusan
Untuk menonaktifkan perlindungan penghapusan saat Anda memperbarui instance, gunakan perintah seperti berikut:
gcloud filestore instances update INSTANCE_NAME \
--no-deletion-protection
Ganti INSTANCE_NAME dengan nama instance yang ingin Anda edit. Contoh, my-genomics-instance.
Untuk menemukan INSTANCE_NAME, Anda dapat menjalankan gcloud filestore instances
list. Perintah ini mencantumkan semua instance Filestore di project Google Cloud saat ini, termasuk nama, lokasi (zona), tingkat, kapasitas, dan statusnya.
Setelah menjalankan perintah, temukan instance Filestore yang cocok dengan mesin a4-highgpu-8g yang berjalan dalam tutorial ini.
Hancurkan cluster Slurm
Sebelum menjalankan perintah destroy, buka root direktori Cluster Toolkit. Secara default,
DEPLOYMENT_FOLDERterletak di root direktori Cluster Toolkit.Untuk menghancurkan cluster, jalankan:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Ganti
DEPLOYMENT_FOLDERdengan nama folder deployment. Biasanya sama denganDEPLOYMENT_NAME.
Setelah penghancuran selesai, Anda akan melihat pesan yang mirip dengan berikut ini:
Destroy complete! Resources: xx destroyed.
Menghapus bucket penyimpanan
Hapus bucket Cloud Storage setelah Anda memastikan bahwa perintah sebelumnya berakhir tanpa error:
gcloud storage buckets delete gs://${GOOGLE_CLOUD_BUCKET_NAME}
Pemecahan masalah
Error: Cloud Shell tidak dapat menyediakan cluster karena tidak ada penyimpanan yang tersisa.
Anda mungkin melihat error ini jika Anda sering menggunakan Cloud Shell dan kehabisan ruang penyimpanan.
Untuk mengatasi masalah ini, lihat Menonaktifkan atau mereset Cloud Shell.
Error: Nama cluster atau blueprint sudah ada.
Anda mungkin melihat error ini jika menggunakan project yang telah menggunakan nama file yang sama persis dengan yang digunakan dalam tutorial ini. Misalnya, jika orang lain di organisasi Anda telah menyelesaikan tutorial ini secara menyeluruh.
Untuk mengatasi masalah ini, jalankan kembali tutorial dan pilih nama unik untuk file deployment, lalu jalankan kembali perintah provision the Slurm cluster dengan file deployment baru.
Langkah berikutnya
- Tugas Slurm lanjutan:
- Pelajari cara Men-deploy ulang cluster Slurm
- Pelajari cara Menguji performa jaringan di cluster Slurm
- Pelajari cara mengelola acara host:
- Melihat topologi instance komputasi
- Memantau instance komputasi di cluster Slurm Anda
- Melaporkan host yang rusak