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 dan menyediakan direktori
/homebersama untuk semua node di cluster. - Google Cloud Managed Lustre: Sistem file paralel opsional yang dirancang untuk performa I/O ekstrem, ideal untuk pelatihan pada set data besar. Perlakukan layanan ini sebagai penyimpanan kerja berperforma tinggi, bukan sebagai sistem kumpulan data, dan gunakan 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 tertentu untuk integrasi yang berhasil dengan cluster Anda.
Integrasi penyimpanan untuk cluster pelatihan
Cluster pelatihan Gemini Enterprise Agent Platform mengandalkan solusi penyimpanan spesifik yang terhubung ke jaringan untuk operasinya. Filestore diperlukan untuk menyediakan direktori /home bersama untuk cluster, sedangkan Managed Lustre adalah sistem file berperforma tinggi opsional untuk workload yang berat.
Anda harus mengonfigurasi jaringan untuk layanan penyimpanan ini dengan benar sebelum men-deploy cluster.
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 ini:
- Buat Jaringan VPC: Pertama, deploy jaringan VPC yang dikonfigurasi dengan MTU yang direkomendasikan (misalnya, 8896).
- Buat instance Filestore: Selanjutnya, deploy instance Filestore ke dalam VPC yang baru 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 melampirkan sistem file Managed Lustre. Layanan ini terhubung ke VPC Anda menggunakan Akses Layanan Pribadi.
Managed Lustre dioptimalkan untuk throughput, bukan untuk durabilitas. Instance bersifat zonal, dan tidak memiliki kemampuan snapshot, pencadangan, atau pembatalan penghapusan. Cadangkan semua 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
Gunakan Cloud Storage sebagai sumber tepercaya di balik Managed Lustre. Dengan begitu, checkpoint Anda akan terlindungi dan Anda dapat memulihkan data dengan cepat jika instance gagal atau dihapus.
Managed Lustre menyertakan transfer bawaan dengan throughput tinggi yang diekspor langsung ke Cloud Storage. Transfer bersifat inkremental: setiap proses 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 kustom. Agen layanan Managed Lustre secara terpisah memerlukan akses tulis ke bucket tujuan.
Berikan akses tulis agen layanan Managed Lustre ke bucket tujuan. Anda hanya perlu melakukannya sekali per bucket:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-lustre.s3ns-system.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 dinamai sesuai dengan instance tersebut akan membuat instance tetap terpisah: jika Anda melampirkan lebih dari satu instance Managed Lustre ke cluster, berikan jalur sendiri untuk setiap instance, karena dua instance yang diekspor ke jalur yang sama akan menimpa file satu sama lain.
Untuk menjaga 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 proses setelah proses pertama hanya menyalin apa yang berubah.
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 akan 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 link hard diekspor sebagai objek terpisah, sehingga file yang di-hard link akan menggunakan ruang sekali per link di bucket. UID POSIX, GID, mode, dan mtime dipertahankan sebagai metadata objek kustom. - Tulis checkpoint secara atomik—tulis ke jalur sementara, lalu ganti nama file—sehingga ekspor yang berjalan selama penulisan akan mengambil file sebelumnya atau file baru yang lengkap, dan tidak pernah mengambil file sebagian.
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 penting: Tidak ada peering transitif
Batasan penting untuk Filestore dan Google Cloud Managed Lustre adalah bahwa 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 spesifik yang terhubung ke jaringan 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.
Anda harus mengonfigurasi jaringan untuk layanan penyimpanan ini dengan benar sebelum men-deploy cluster.
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
/mnt/filestore direktori 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: Instance ini harus berada di jaringan VPC yang sama dengan node komputasi dan node login cluster.
- Lokasi: Instance ini 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 zonal 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 menyediakan 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 berencana 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 yang berkisar dari 125 MBps per TiB hingga 1000 MBps per TiB.
- Untuk performa terbaik, buat instance Anda 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.
Untuk men-deploy Managed Lustre, Anda memerlukan Akses Layanan Pribadi, yang menetapkan 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 Layanan Pengembangan Model.
Google Cloud Managed Lustre adalah layanan sistem file paralel berperforma tinggi dan terkelola sepenuhnya di Google Cloud. Layanan ini dirancang khusus untuk mempercepat workload yang berat dalam AI/Machine Learning dan Komputasi Berperforma Tinggi (HPC).
Untuk performa 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 Pengguna Objek Penyimpanan.
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
Pemasangan 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 menjalankannya langsung 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 pembuatan checkpoint.
Langkah berikutnya
Langkah berikutnya berfokus pada penggunaan cluster Anda secara efektif untuk pelatihan skala besar.
- Sesuaikan kode Anda untuk pelatihan terdistribusi: Untuk memanfaatkan cluster multi-node dan penyimpanan berperforma tinggi sepenuhnya, 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 penggunaan resource tugas pelatihan terdistribusi Anda untuk mengidentifikasi dan menyelesaikan masalah.