Memilih konfigurasi penyimpanan yang tepat sangat penting untuk performa dan stabilitas cluster pelatihan Anda. Layanan ini terintegrasi dengan dua solusi penyimpanan berperforma tinggi yang berbeda:
- Filestore: Layanan file terkelola yang diperlukan yang menyediakan direktori
/homebersama untuk semua node dalam cluster. - Google Cloud Managed Lustre: Sistem file paralel opsional yang dirancang untuk performa I/O ekstrem, ideal untuk pelatihan pada set data besar. Perlakukan sebagai penyimpanan kerja berperforma tinggi, bukan sistem kumpulan data, dan pertahankan Cloud Storage sebagai sumber tepercaya Anda. Untuk mengetahui informasi selengkapnya, lihat Mencadangkan data Managed Lustre ke Cloud Storage.
Halaman ini memberikan ringkasan tentang penggunaan utamanya dan menguraikan persyaratan jaringan dan deployment khusus agar integrasi dengan cluster Anda berhasil.
Integrasi penyimpanan untuk cluster pelatihan
Cluster pelatihan Gemini Enterprise Agent Platform mengandalkan solusi penyimpanan jaringan tertentu untuk operasinya. Filestore diperlukan untuk menyediakan direktori /home bersama
untuk cluster, sedangkan Managed Lustre adalah sistem file berperforma tinggi opsional
untuk workload yang berat.
Sangat penting untuk mengonfigurasi jaringan untuk layanan penyimpanan ini dengan benar sebelum men-deploy cluster Anda.
Filestore untuk direktori beranda
Layanan ini menggunakan instance Filestore untuk menyediakan direktori /home bersama untuk cluster. Untuk memastikan konektivitas yang tepat, Anda harus membuat resource cloud dalam urutan tertentu berikut:
- Buat Jaringan VPC: Pertama, deploy jaringan VPC yang dikonfigurasi dengan MTU yang direkomendasikan (misalnya, 8896).
- Buat instance Filestore: Selanjutnya, deploy instance Filestore ke VPC yang baru saja Anda buat.
- Buat cluster pelatihan: Terakhir, deploy cluster, yang kemudian akan dapat terhubung ke instance Filestore dalam jaringan yang sama.
Google Cloud Managed Lustre untuk workload berperforma tinggi
Untuk workload yang memerlukan performa I/O maksimum, Anda dapat memasang sistem file Managed Lustre. Layanan ini terhubung ke VPC Anda menggunakan Akses Layanan Pribadi.
Managed Lustre dioptimalkan untuk throughput, bukan untuk ketahanan. Instance bersifat zona, dan tidak memiliki kemampuan snapshot, pencadangan, atau pembatalan penghapusan. Cadangkan semua hal yang tidak dapat Anda buat ulang ke Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Mencadangkan data Managed Lustre ke Cloud Storage.
Mencadangkan data Managed Lustre ke Cloud Storage
Pertahankan Cloud Storage sebagai sumber kebenaran di balik Managed Lustre. Tindakan ini akan mengamankan checkpoint Anda dan memungkinkan Anda melakukan pemulihan dengan cepat jika instance gagal atau dihapus.
Managed Lustre menyertakan transfer bawaan dengan throughput tinggi yang mengekspor langsung ke Cloud Storage. Transfer bersifat inkremental: setiap operasi hanya menyalin file yang belum ada di tujuan, atau yang telah berubah sejak transfer terakhir.
Dua identitas memerlukan izin. Akun pengguna atau akun layanan yang memulai
ekspor memerlukan lustre.instances.exportData, yang disertakan dalam
peran roles/lustre.admin atau yang dapat Anda berikan melalui
peran khusus. Agen layanan Managed Lustre secara terpisah memerlukan akses tulis ke bucket tujuan.
Beri agen layanan Managed Lustre akses tulis ke bucket tujuan. Anda hanya perlu melakukan ini sekali per bucket:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com \ --role=roles/storage.objectUserDengan:
- BUCKET_NAME adalah bucket tujuan.
- PROJECT_NUMBER adalah nomor project yang berisi instance Managed Lustre. Untuk mengetahui informasi selengkapnya, lihat Izin untuk agen layanan Managed Lustre.
Ekspor sistem file ke bucket:
gcloud lustre instances export-data INSTANCE_ID \ --location=ZONE \ --lustre-path="/" \ --gcs-path-uri="gs://BUCKET_NAME/INSTANCE_ID/"Dengan:
- INSTANCE_ID adalah nama instance Managed Lustre yang akan dicadangkan.
- ZONE adalah zona instance, misalnya
us-central1-a.
Nilai
--gcs-path-uridapat berupa bucket itu sendiri, atau jalur dalam bucket. Jika Anda menyertakan jalur, jalur tersebut harus diakhiri dengan garis miring. Mengekspor setiap instance ke jalur yang diberi nama sesuai dengan instance tersebut akan membuat instance tetap terpisah: jika Anda memasang lebih dari satu instance Managed Lustre ke cluster, berikan jalur masing-masing, karena dua instance yang mengekspor ke jalur yang sama akan menimpa file satu sama lain.
Agar cadangan tetap terbaru, jalankan ekspor sesuai jadwal. Misalnya, Anda dapat menjalankan cron job harian di node login, bukan hanya menjalankannya di akhir proses pelatihan. Karena transfer bersifat inkremental, setiap operasi setelah operasi pertama hanya menyalin perubahan.
Pertimbangkan hal berikut saat Anda merencanakan pencadangan:
- Hanya satu operasi transfer per instance yang dapat aktif dalam satu waktu. Transfer yang dimulai saat transfer lain masih berjalan akan gagal dengan
ABORTED: unable to queue the operation. - Ekspor tidak pernah menghapus objek dari tujuan, sehingga file yang Anda hapus di Managed Lustre tetap berada di bucket. Aktifkan Pembuatan Versi Objek di bucket tujuan sehingga Anda juga dapat memulihkan file yang ditimpa dengan konten yang tidak diinginkan.
- Link simbolis, direktori kosong, dan tata letak striping yang ditetapkan dengan
lfs setstripetidak dipertahankan, dan hard link diekspor sebagai objek terpisah, sehingga file yang di-hard link menggunakan ruang sekali per link di bucket. UID, GID, mode, dan mtime POSIX dipertahankan sebagai metadata objek kustom. - Tulis checkpoint secara atomik—tulis ke jalur sementara, lalu ganti nama file ke tempatnya—sehingga ekspor yang berjalan selama penulisan menangkap file sebelumnya atau file baru yang lengkap, dan tidak pernah file parsial.
Untuk memulihkan, buat instance Managed Lustre baru dan muat kembali data dengan gcloud lustre instances import-data. Untuk mengetahui informasi selengkapnya, lihat
Mentransfer data ke atau dari Cloud Storage.
Batasan jaringan yang penting: Tidak ada peering transitif
Batasan penting untuk Filestore dan Google Cloud Managed Lustre adalah keduanya tidak mendukung peering transitif. Artinya, hanya resource dalam VPC yang terhubung langsung yang dapat mengakses layanan penyimpanan. Misalnya, jika VPC cluster Anda (N1) di-peering dengan layanan penyimpanan, VPC lain (N2) yang di-peering dengan N1 tidak akan memiliki akses.
Integrasi penyimpanan untuk cluster pelatihan
Cluster pelatihan Gemini Enterprise Agent Platform mengandalkan solusi penyimpanan jaringan tertentu untuk operasinya. Filestore diperlukan untuk menyediakan
direktori /home bersama untuk cluster, sedangkan Google Cloud Managed Lustre adalah
sistem file berperforma tinggi opsional untuk workload yang berat.
Sangat penting untuk mengonfigurasi jaringan untuk layanan penyimpanan ini dengan benar sebelum men-deploy cluster Anda.
Filestore
Penggunaan utama Filestore dengan cluster pelatihan
Selain perannya sebagai direktori beranda wajib, Filestore menyediakan cara yang fleksibel untuk berbagi data dengan cluster Anda.
Penyimpanan bersama tambahan: Anda dapat melampirkan satu atau beberapa instance Filestore tambahan ke node pool mana pun. Hal ini berguna untuk menyediakan set data bersama, biner aplikasi, atau file umum lainnya ke tugas pelatihan Anda. Jika ditentukan dalam konfigurasi node pool, cluster pelatihan akan otomatis memasang instance ini ke direktori /mnt/filestore di setiap node.
Persyaratan Filestore
Integrasi Filestore yang berhasil dengan cluster pelatihan memerlukan konfigurasi berikut:
- Aktifkan API: Filestore API harus diaktifkan di project Google Cloud Anda sebelum Anda dapat membuat cluster.
- Direktori
/homeWajib: Setiap cluster pelatihan memerlukan instance Filestore khusus untuk berfungsi sebagai direktori/homebersama. Instance ini memiliki persyaratan konfigurasi tertentu:- Jaringan: Harus berada di jaringan VPC yang sama dengan node komputasi dan login cluster.
- Location: Harus berada di region atau zona yang sama dengan cluster.
- Konfigurasi: Anda harus menentukan nama resource lengkap instance ini di kolom
saat membuat cluster melalui API.orchestrator_spec.slurm_spec.home_directory_storage
Mengonfigurasi penyimpanan Filestore
Buat instance Filestore zona atau regional di zona tempat Anda ingin membuat cluster. Agent Platform API memerlukan Filestore untuk dilampirkan ke cluster agar berfungsi sebagai direktori /home.
Filestore ini harus berada di zona atau region yang sama dan di jaringan yang sama dengan semua node komputasi dan node login. Dalam contoh di bawah, 172.16.10.0/24 digunakan untuk deployment Filestore.
SERVICE_TIER=ZONAL # Can use BASIC_SSD # Create reserved IP address range gcloud compute addresses create CLUSTER_IDfs-ip-range \ --project=PROJECT_ID \ --global \ --purpose=VPC_PEERING \ --addresses=172.16.10.0 \ --prefix-length=24 \ --description="Filestore instance reserved IP range" \ --network=NETWORK # Get the CIDR range FS_IP_RANGE=$( gcloud compute addresses describe CLUSTER_IDfs-ip-range \ --global \ --format="value[separator=/](address, prefixLength)" ) # Create the Filestore instance gcloud filestore instances create FS_INSTANCE_ID \ --project=PROJECT_ID \ --location=ZONE \ --tier=ZONAL \ --file-share=name="nfsshare",capacity=1024 \ --network=name=NETWORK,connect-mode=DIRECT_PEERING,reserved-ip-range="${FS_IP_RANGE}"
Lustre
Google Cloud Managed Lustre menghadirkan sistem file paralel berperforma tinggi dan terkelola sepenuhnya yang dioptimalkan untuk aplikasi AI dan HPC. Dengan kapasitas skala multi-petabyte dan throughput hingga 1 TBps, Managed Lustre memfasilitasi migrasi workload yang berat ke cloud.
Instance Managed Lustre berada di zona dalam region. Region adalah lokasi geografis spesifik tempat Anda dapat menjalankan resource. Setiap region dibagi lagi menjadi beberapa zona. Misalnya, region us-central1 di Amerika Serikat bagian tengah memiliki zona
us-central1-a, us-central1-b, us-central1-c, dan us-central1-f. Untuk mengetahui informasi selengkapnya, lihat
Geografi dan region.
Untuk mengurangi latensi jaringan, sebaiknya buat instance Managed Lustre di region dan zona yang dekat dengan tempat Anda akan menggunakannya.
Saat membuat instance Managed Lustre, Anda harus menentukan properti berikut:
- Nama instance yang digunakan oleh Google Cloud.
- Nama sistem file yang digunakan oleh alat sisi klien, misalnya
lfs. - Kapasitas penyimpanan dalam gibibyte (GiB). Kapasitas dapat berkisar dari 9.000 GiB hingga ~8 PiB (7.632.000 GiB). Ukuran maksimum instance bergantung pada tingkat performanya.
- Managed Lustre menawarkan tingkat performa mulai dari 125 MBps per TiB hingga 1.000 MBps per TiB.
- Untuk mendapatkan performa terbaik, buat instance di zona yang sama dengan cluster pelatihan Anda.
- Jaringan VPC untuk instance ini harus sama dengan yang digunakan cluster pelatihan Anda.
Managed Lustre menawarkan 4 tingkat performa, masing-masing dengan kecepatan throughput maksimum yang berbeda per TiB. Tingkat performa juga memengaruhi ukuran instance minimum dan maksimum, serta ukuran langkah antara nilai kapasitas yang dapat diterima. Anda tidak dapat mengubah tingkat performa instance setelah dibuat.
Men-deploy Managed Lustre memerlukan Akses Layanan Pribadi, yang membuat peering VPC antara VPC cluster pelatihan dan VPC yang menghosting Managed Lustre, menggunakan subnet /20 khusus.
Mengonfigurasi instance Managed Lustre (opsional)
Gunakan Google Cloud Managed Lustre hanya jika Anda ingin menggunakan Managed Lustre di Model Development Service.
Google Cloud Managed Lustre adalah layanan sistem file paralel berperforma tinggi dan terkelola sepenuhnya di Google Cloud. Solusi ini dirancang khusus untuk mempercepat workload yang berat dalam AI/Machine Learning dan Komputasi Berperforma Tinggi (HPC).
Untuk mendapatkan performa yang optimal saat menggunakan cluster pelatihan, Google Cloud Managed Lustre harus di-deploy dari VPC dan zona yang sama dengan cluster pelatihan Anda menggunakan peering VPC ke jaringan layanan.
Membuat instance Lustre
gcloud lustre instances create LUSTRE_INSTANCE_ID \
--project=PROJECT_ID \
--location=ZONE \
--filesystem=lustrefs \
--per-unit-storage-throughput=500 \
--capacity-gib=36000 \
--network=NETWORK_NAME
Pemasangan Cloud Storage
Sebagai prasyarat, pastikan akun layanan VM memiliki peran Storage Object User.
Pemasangan default
Cluster pelatihan Gemini Enterprise Agent Platform menggunakan Cloud Storage FUSE untuk memasang bucket Cloud Storage Anda secara dinamis di semua node login dan komputasi, sehingga dapat diakses di direktori /gcs. Bucket yang dipasang secara dinamis tidak dapat dicantumkan dari direktori pemasangan root /gcs. Anda dapat mengakses bucket yang dipasang secara dinamis sebagai subdirektori:
user@testcluster:$ ls /gcs/your-bucket-name
user@testcluster:$ cd /gcs/your-bucket-name
Dudukan kustom
Untuk memasang bucket Cloud Storage tertentu ke direktori lokal dengan opsi kustom, gunakan struktur perintah berikut dengan meneruskannya sebagai bagian dari skrip startup saat pembuatan cluster, atau langsung menjalankannya di node setelah cluster dibuat.
sudo mkdir -p $MOUNT_DIR
echo "$GCS_BUCKET $MOUNT_DIR gcsfuse $OPTION_1,$OPTION_2,..." | sudo tee -a /etc/fstab
sudo mount -a
Misalnya, untuk memasang bucket mtdata ke direktori /data, gunakan
perintah berikut:
sudo mkdir -p /data
echo "mtdata /data gcsfuse defaults,_netdev,implicit_dirs,allow_other,dir_mode=777,file-mode=777,metadata_cache_negative_ttl_secs=0,metadata_cache_ttl_secs=-1,stat_cache_max_size_mb=-1,type_cache_max_size_mb=-1,enable_streaming_writes=true" | sudo tee -a /etc/fstab
sudo mount -a
Untuk penyiapan yang sepenuhnya otomatis dan konsisten, sertakan skrip pemasangan kustom Anda dalam skrip startup cluster. Praktik ini memastikan bahwa bucket Cloud Storage Anda otomatis dipasang di semua node saat startup, sehingga tidak perlu konfigurasi manual.
Untuk rekomendasi konfigurasi tambahan yang disesuaikan dengan workload AI/ML, lihat Panduan praktik terbaik penyesuaian performa. Panduan ini memberikan panduan khusus untuk mengoptimalkan Cloud Storage FUSE untuk pelatihan, inferensi, dan checkpointing.
Langkah berikutnya
Langkah berikutnya berfokus pada penggunaan cluster secara efektif untuk pelatihan berskala besar.
- Sesuaikan kode Anda untuk pelatihan terdistribusi: Untuk memanfaatkan sepenuhnya cluster multi-node dan penyimpanan berperforma tinggi, sesuaikan kode pelatihan Anda untuk lingkungan terdistribusi.
- Atur tugas Anda dengan Gemini Enterprise Agent Platform Pipelines: Untuk alur kerja produksi, otomatiskan proses persiapan data, pengiriman tugas, dan pendaftaran model menggunakan Agent Platform Pipelines.
- Pantau dan debug tugas pelatihan Anda: Lacak progres dan pemanfaatan resource tugas pelatihan terdistribusi Anda untuk mengidentifikasi dan menyelesaikan masalah.