Menggunakan Cloud Storage sebagai sistem file yang terpasang

Dengan Cloud Storage FUSE, Anda dapat memuat data pelatihan ke bucket Cloud Storage dan mengakses data tersebut dari tugas pelatihan kustom Anda seperti sistem file yang terpasang. Menggunakan Cloud Storage sebagai sistem file memiliki manfaat sebagai berikut:

  • 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 kustom 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 kustom dapat mengakses bucket Cloud Storage apa pun dalam project Google Cloud yang sama 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 kustom ke Bucket-A tetapi hanya memberikan akses baca ke Bucket-B, Anda dapat menetapkan akun layanan khusus yang memiliki peran berikut ke tugas tersebut:

  • roles/storage.objectAdmin untuk Bucket-A
  • roles/storage.objectViewer untuk 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 paralel untuk memaksimalkan penggunaan bandwidth.
  • Simpan file yang sering diakses ke dalam cache untuk meningkatkan performa baca.

Batasan

Untuk mempelajari batasan Cloud Storage FUSE, termasuk perbedaan antara sistem file FUSE dan POSIX Cloud Storage, lihat Perbedaan dari sistem file lainnya.

Memuat data ke Cloud Storage

Untuk mempelajari opsi mentransfer data ke Cloud Storage, lihat Opsi transfer data.

Langkah selanjutnya