- Data pelatihan di-streaming ke tugas pelatihan Anda, bukan didownload ke replika, yang dapat mempercepat pemuatan data dan tugas penyiapan saat tugas mulai berjalan.
- Tugas pelatihan dapat menangani input dan output dalam skala besar tanpa melakukan panggilan API, menangani respons, atau mengintegrasikan dengan library sisi klien.
- Cloud Storage FUSE menyediakan throughput tinggi untuk pembacaan berurutan file besar dan dalam skenario pelatihan terdistribusi.
Kasus penggunaan
Sebaiknya gunakan Cloud Storage untuk menyimpan data pelatihan dalam situasi berikut:
- Data pelatihan Anda adalah data tidak terstruktur, seperti gambar, teks, dan video.
- Data pelatihan Anda adalah data terstruktur dalam format seperti TFRecord.
- Data pelatihan Anda berisi file besar, seperti video mentah.
- Anda menggunakan pelatihan terdistribusi.
Cara kerjanya
Tugas pelatihan serverless dapat mengakses bucket Cloud Storage Anda sebagai subdirektori dari direktori /gcs root. Misalnya, jika data pelatihan Anda berada di gs://example-bucket/data.csv, Anda dapat membaca dan menulis ke bucket dari aplikasi pelatihan Python Anda sebagai berikut:
Membacakan ke bucket
with open('/gcs/example-bucket/data.csv', 'r') as f:
lines = f.readlines()
Menuliskan ke bucket
with open('/gcs/example-bucket/epoch3.log', 'a') as f:
f.write('success!\n')
Izin akses bucket
Secara default, tugas pelatihan serverless dapat mengakses bucket Cloud Storage apa pun dalam project yang sama Google Cloud menggunakan Agen Layanan Kode Kustom Vertex AI. Untuk mengontrol akses ke bucket, Anda dapat menetapkan akun layanan kustom ke tugas. Dalam hal ini, akses ke bucket Cloud Storage diberikan berdasarkan izin yang terkait dengan peran Cloud Storage dari akun layanan khusus.
Misalnya, jika Anda ingin memberikan akses baca dan tulis tugas pelatihan serverless ke Bucket-A, tetapi hanya memberikan akses baca ke Bucket-B, Anda dapat menetapkan akun layanan kustom yang memiliki peran berikut ke tugas tersebut:
roles/storage.objectAdminuntuk Bucket-Aroles/storage.objectVieweruntuk Bucket-B
Jika tugas pelatihan mencoba menulis ke Bucket-B, error "izin ditolak" akan ditampilkan.
Untuk mengetahui informasi lebih lanjut tentang peran Cloud Storage, lihat Peran IAM untuk Cloud Storage.
Praktik terbaik
- Hindari mengganti nama direktori. Operasi penggantian nama tidak bersifat atomik di Cloud Storage FUSE. Jika operasi terganggu, beberapa file akan tetap berada di direktori lama.
- Hindari tindakan yang tidak perlu seperti menutup (
close()) atau mengosongkan file (flush()). Menutup atau mengosongkan file akan mengirim file ke Cloud Storage, yang akan menimbulkan biaya.
Panduan pengoptimalan performa
Untuk mendapatkan throughput baca yang optimal saat menggunakan Cloud Storage sebagai sistem file, sebaiknya terapkan pedoman berikut:
- Untuk mengurangi latensi yang ditimbulkan dengan mencari dan membuka objek di bucket, simpan data dalam file yang lebih besar dan lebih sedikit.
- Gunakan pelatihan terdistribusi untuk memaksimalkan penggunaan bandwidth.
- Simpan file yang sering diakses ke dalam cache untuk meningkatkan performa baca. Untuk mengetahui detailnya, lihat Ringkasan penyimpanan dalam cache di Cloud Storage FUSE.
- Gunakan penyimpanan lokal untuk pembuatan titik pemeriksaan dan log, bukan Cloud Storage.
Batasan
Untuk mempelajari batasan Cloud Storage FUSE, termasuk perbedaan antara sistem file FUSE dan POSIX Cloud Storage, lihat Batasan dan perbedaan dari sistem file POSIX.
Menggunakan Cloud Storage FUSE
Untuk menggunakan Cloud Storage FUSE untuk pelatihan serverless, lakukan hal berikut:
- Buat bucket Cloud Storage. Perhatikan bahwa bucket region ganda dan multi-region tidak didukung untuk pelatihan serverless.
Upload data pelatihan Anda ke bucket. Untuk mengetahui detailnya, lihat Upload.
Untuk mempelajari opsi lain untuk mentransfer data ke Cloud Storage, lihat Opsi transfer data.
Langkah berikutnya
- Lihat dokumentasi Cloud Storage FUSE.
- Mempelajari harga Cloud Storage FUSE.
- Menyiapkan aplikasi pelatihan Anda untuk digunakan di Vertex AI.