Mengoptimalkan workload AI dan ML dengan Cloud Storage FUSE

Dokumen ini menyediakan arsitektur referensi yang menunjukkan cara menggunakan FUSE Cloud Storage untuk mengoptimalkan performa workload AI dan ML di Google Kubernetes Engine (GKE).

Audiens yang dituju untuk dokumen ini meliputi arsitek dan praktisi teknis yang mendesain, menyediakan, dan mengelola penyimpanan untuk workload AI dan ML mereka di Google Cloud. Dokumen ini mengasumsikan bahwa Anda telah memahami siklus proses, proses, dan kemampuan ML.

Cloud Storage FUSE adalah adaptor FUSE open source yang memungkinkan Anda memasang bucket Cloud Storage sebagai sistem file lokal. Dengan konfigurasi ini, aplikasi dapat berinteraksi secara lancar dengan bucket penyimpanan berbasis cloud menggunakan semantik sistem seperti file standar. Dengan Cloud Storage FUSE, Anda dapat memanfaatkan skalabilitas dan efisiensi biaya Cloud Storage.

Arsitektur

Bergantung pada persyaratan Anda terkait performa, ketersediaan, dan pemulihan dari bencana (DR), Anda dapat memilih salah satu dari Google Cloud arketipe deployment berikut untuk menjalankan workload AI dan ML Anda di Google Cloud:

  • Regional: aplikasi Anda berjalan secara independen dalam satu region Google Cloud. Kami merekomendasikan arketipe deployment ini untuk aplikasi yang tidak bersifat penting, tetapi harus andal dalam mengatasi gangguan zona.
  • Multi-regional: aplikasi Anda berjalan secara independen di dua atau beberapa Google Cloud region, dalam mode aktif-aktif atau pasif aktif. Arketipe deployment ini ideal untuk mendukung skenario DR. Kami merekomendasikan arketipe deployment ini untuk aplikasi yang sangat penting yang memerlukan ketahanan terhadap gangguan dan bencana region. Deployment ganda atau multi-regional dapat mengurangi latensi dan meningkatkan throughput melalui kedekatan resource yang lebih dekat.

Arketipe deployment yang Anda pilih akan menginformasikan Google Cloud produk dan fitur yang diperlukan untuk arsitektur Anda. Arsitektur multi-regional menggunakan Cache di Mana Saja. Untuk menilai apakah Cache di Mana Saja cocok dengan beban kerja Anda, gunakan Pemberi rekomendasi Cache di Mana Saja untuk menganalisis penggunaan dan penyimpanan data Anda.

Tab berikut menyediakan arsitektur referensi untuk arketipe deployment regional dan multi-regional:

Regional

Diagram berikut menunjukkan contoh arsitektur regional yang menggunakan Cloud Storage FUSE untuk mengoptimalkan performa pelatihan model dan alur kerja inferensi model:

Arsitektur regional yang menggunakan FUSE Cloud Storage untuk mengoptimalkan workload AI dan ML.

Arsitektur ini mencakup komponen berikut:

  • Cluster GKE: GKE mengelola node komputasi tempat proses pelatihan dan penayangan model AI dan ML Anda dijalankan. GKE mengelola infrastruktur dasar cluster Kubernetes, termasuk bidang kontrol, node, dan semua komponen sistem.
  • Penjadwal Kubernetes: bidang kontrol GKE menjadwalkan workload dan mengelola siklus proses, penskalaan, dan upgrade. Agen node Kubernetes (kubelet), yang tidak ditunjukkan dalam diagram, berkomunikasi dengan bidang kontrol. Agen kubelet bertanggung jawab untuk memulai dan menjalankan container yang dijadwalkan di node GKE. Untuk mengetahui informasi selengkapnya tentang penjadwal, lihat orkestrasi AI/ML di GKE.
  • Jaringan Virtual Private Cloud (VPC): semua resource Google Clouddalam arsitektur menggunakan satu jaringan VPC. Bergantung pada persyaratannya, Anda dapat memilih untuk mem-build arsitektur yang menggunakan beberapa jaringan. Untuk informasi selengkapnya tentang cara mengonfigurasi jaringan VPC untuk Cloud Storage FUSE, lihat Memutuskan apakah akan membuat beberapa jaringan VPC.
  • Cloud Load Balancing: dalam arsitektur ini, Cloud Load Balancing mendistribusikan permintaan inferensi yang masuk dari pengguna aplikasi ke container penayangan di cluster GKE secara efisien. Untuk informasi selengkapnya, lihat Memahami load balancing GKE.
  • Graphics Processing Unit (GPU) atau Tensor Processing Unit (TPU): GPU dan TPU adalah akselerator mesin khusus yang meningkatkan performa workload AI dan ML Anda. Untuk informasi tentang cara memilih jenis prosesor yang sesuai, lihat Opsi akselerator nanti dalam dokumen ini.
  • Cloud Storage: Cloud Storage menyediakan penyimpanan yang persisten, skalabel, dan hemat biaya untuk workload AI dan ML Anda. Cloud Storage berfungsi sebagai repositori pusat untuk set data pelatihan mentah, checkpoint model, dan model terlatih akhir.
  • Cloud Storage FUSE dengan cache file diaktifkan: Cloud Storage FUSE memungkinkan Anda memasang bucket Cloud Storage sebagai sistem file lokal. Cache file di Cloud Storage FUSE adalah direktori di komputer lokal yang menyimpan file yang sering diakses dari bucket Cloud Storage. Driver CSI FUSE Cloud Storage mengelola integrasi Cloud Storage FUSE dengan Kubernetes API untuk menggunakan bucket Cloud Storage sebagai volume.

Bagian berikut ini menjelaskan alur kerja dalam pelatihan dan workload inferensi arsitektur.

Multi-regional

Diagram berikut menunjukkan contoh arsitektur multi-regional yang menggunakan FUSE Cloud Storage dan Cache di Mana Saja untuk mengoptimalkan performa alur kerja pelatihan model dan inferensi model:

Arsitektur multi-regional yang menggunakan FUSE Cloud Storage untuk mengoptimalkan workload AI dan ML.

Arsitektur ini mencakup komponen berikut:

  • Cluster GKE: GKE mengelola node komputasi tempat proses pelatihan dan layanan model AI dan ML Anda berjalan. GKE mengelola infrastruktur dasar cluster Kubernetes, termasuk bidang kontrol, node, dan semua komponen sistem.
  • Penjadwal Kubernetes: bidang kontrol GKE menjadwalkan workload dan mengelola siklus proses, penskalaan, dan upgrade. Agen node Kubernetes (kubelet), yang tidak ditunjukkan dalam diagram, berkomunikasi dengan bidang kontrol. Agen kubelet bertanggung jawab untuk memulai dan menjalankan container yang dijadwalkan di node GKE. Untuk mengetahui informasi selengkapnya tentang penjadwal, lihat orkestrasi AI/ML di GKE.
  • Jaringan Virtual Private Cloud (VPC): semua resource Google Clouddalam arsitektur menggunakan satu jaringan VPC. Bergantung pada persyaratannya, Anda dapat memilih untuk mem-build arsitektur yang menggunakan beberapa jaringan. Untuk informasi selengkapnya tentang cara mengonfigurasi jaringan VPC untuk Cloud Storage FUSE, lihat Memutuskan apakah akan membuat beberapa jaringan VPC.
  • Cloud DNS: dalam arsitektur multi-regional, Cloud DNS mengarahkan traffic ke load balancer untuk memastikan performa dan ketersediaan yang optimal melalui perutean anycast. Permintaan otomatis dirutekan ke lokasi terdekat, sehingga mengurangi latensi dan meningkatkan performa pencarian nama yang kredibel bagi pengguna Anda. Untuk mengetahui informasi tentang prinsip umum dan praktik terbaik, lihat Praktik terbaik untuk Cloud DNS.
  • Cloud Load Balancing: dalam arsitektur ini, Cloud Load Balancing secara efisien mendistribusikan permintaan inferensi yang masuk dari pengguna aplikasi ke container penayangan di cluster GKE. Untuk informasi selengkapnya, lihat Memahami load balancing GKE.
  • Graphics Processing Unit (GPU) atau Tensor Processing Unit (TPU): GPU dan TPU adalah akselerator mesin khusus yang meningkatkan performa workload AI dan ML Anda. Untuk informasi tentang cara memilih jenis prosesor yang sesuai, lihat Opsi akselerator nanti dalam dokumen ini.
  • Cloud Storage: Cloud Storage menyediakan penyimpanan yang persisten, skalabel, dan hemat biaya untuk workload AI dan ML Anda. Cloud Storage berfungsi sebagai repositori pusat untuk set data pelatihan mentah, checkpoint model, dan model terlatih akhir.
  • Cloud Storage FUSE: Cloud Storage FUSE memungkinkan Anda memasang bucket Cloud Storage sebagai sistem file lokal. Driver Cloud Storage FUSE CSI, yang tidak ditampilkan dalam diagram, mengelola integrasi Cloud Storage FUSE dengan Kubernetes API untuk menggunakan bucket Cloud Storage sebagai volume.
  • Cache di Mana Saja: Cache di Mana Saja adalah fitur Cloud Storage yang menyediakan hingga 1 PiB cache hanya baca zona yang didukung SSD untuk bucket Cloud Storage. Selama pelatihan dan penayangan, Cache di Mana Saja membantu Anda mencapai throughput di atas 1 TB/dtk dengan menskalakan kapasitas dan bandwidth cache.

Bagian berikut ini menjelaskan alur kerja dalam pelatihan dan workload inferensi arsitektur.

Beban kerja pelatihan

Dalam arsitektur sebelumnya, berikut adalah langkah-langkah dalam aliran data selama pelatihan model:

  1. Memuat data pelatihan ke Cloud Storage: data pelatihan akan diupload ke bucket Cloud Storage dengan namespace hierarkis diaktifkan. Cloud Storage berfungsi sebagai repositori pusat yang skalabel.
  2. Memuat data pelatihan dan menjalankan tugas pelatihan di GKE: bucket Cloud Storage yang terpasang di pod GKE memungkinkan aplikasi pelatihan Anda memuat dan mengakses data pelatihan secara efisien menggunakan antarmuka FUSE. Node GKE menjalankan proses pelatihan model menggunakan cache file yang terpasang sebagai sumber data. Aplikasi pelatihan Anda terus memasukkan data pelatihan ke akselerator mesin untuk melakukan penghitungan kompleks yang diperlukan untuk pelatihan model. Bergantung pada persyaratan beban kerja, Anda dapat menggunakan GPU atau TPU. Untuk informasi tentang cara memilih jenis prosesor yang sesuai, lihat Opsi akselerator nanti dalam dokumen ini.
  3. Checkpoint dan pemulihan model:

    • Menyimpan checkpoint atau model: selama pelatihan, simpan checkpoint secara asinkron dengan interval yang sering ke bucket Cloud Storage terpisah. Checkpoint ini merekam status model berdasarkan metrik atau interval yang Anda tentukan.
    • Pulihkan checkpoint atau model: jika beban kerja pelatihan Anda mengharuskan Anda memulihkan checkpoint atau data model, Anda harus menemukan aset yang ingin dipulihkan di Cloud Storage. Anda dapat menggunakan checkpoint atau model yang dipulihkan untuk melanjutkan pelatihan, meningkatkan kualitas parameter, atau mengevaluasi performa pada set validasi.

Beban kerja pelayanan

Dalam arsitektur sebelumnya, berikut adalah langkah-langkah dalam aliran data selama penayangan model:

  1. Model beban: setelah pelatihan selesai, pod Anda akan memuat model yang dilatih menggunakan FUSE Cloud Storage dengan download paralel yang diaktifkan. Download paralel mempercepat pemuatan model dengan mengambil bagian-bagian model secara paralel dari Cloud Storage. Untuk mengurangi waktu pemuatan model secara signifikan, proses tersebut menggunakan direktori cache sebagai buffer pengambilan data.
  2. Permintaan inferensi: pengguna aplikasi mengirim permintaan inferensi dari aplikasi AI dan ML melalui layanan Cloud Load Balancing. Cloud Load Balancing mendistribusikan permintaan yang masuk di seluruh container penayangan di cluster GKE. Distribusi ini memastikan tidak ada satu container yang kewalahan dan permintaan diproses secara efisien.
  3. Pengiriman respons: node memproses permintaan dan menghasilkan prediksi. Container inferensi mengirimkan respons kembali melalui Cloud Load Balancing, lalu ke pengguna aplikasi.

Produk yang digunakan

Arsitektur referensi menggunakan produk Google Cloud berikut:

  • Google Kubernetes Engine (GKE): Layanan Kubernetes yang dapat Anda gunakan untuk men-deploy dan mengoperasikan aplikasi dalam container dalam skala besar menggunakan infrastruktur Google.
  • Cloud Storage: Penyimpanan objek tanpa batas dan berbiaya rendah untuk beragam jenis data. Data dapat diakses dari dalam dan luar Google Cloud, dan direplikasi di berbagai lokasi untuk redundansi.
  • Virtual Private Cloud (VPC): Sistem virtual yang menyediakan fungsi jaringan global dan skalabel untuk Google Cloud workload Anda. VPC mencakup Peering Jaringan VPC, Private Service Connect, akses layanan pribadi, dan VPC Bersama.
  • Cloud Load Balancing: Portofolio load balancer global dan regional yang skalabel, berperforma tinggi, dan andal.
  • Cloud DNS: Layanan yang menyediakan layanan DNS yang tangguh dan berlatensi rendah dari jaringan Google di seluruh dunia.

Kasus penggunaan

Untuk workload AI dan ML yang memerlukan kapasitas penyimpanan besar dan akses file berperforma tinggi, sebaiknya gunakan arsitektur yang dibuat berdasarkan FUSE Cloud Storage. Dengan perencanaan yang tepat, Anda dapat mencapai throughput lebih dari 1 TB/dtk dengan arsitektur ini. Selain itu, Cloud Storage FUSE memungkinkan Anda memanfaatkan repositori penyimpanan pusat yang berfungsi sebagai satu sumber tepercaya untuk semua tahap alur kerja AI dan ML. Pendekatan ini dapat digunakan untuk beban kerja apa pun, terlepas dari skala atau ukurannya.

Untuk workload ini, Cloud Storage FUSE memberikan manfaat berikut:

  • Menyederhanakan akses data: akses data pelatihan dan checkpoint dengan framework AI dan ML seperti Connector for PyTorch, JAX, dan TensorFlow. Dengan akses ke data melalui framework AI dan ML, pemfaktoran ulang kode tidak diperlukan.
  • startup yang lebih cepat: tanpa perlu mendownload set data besar untuk menghitung resource menggunakan Cloud Storage FUSE untuk mengakses data secara langsung di Cloud Storage. Akses langsung ke data ini menghasilkan waktu startup pekerjaan yang lebih cepat.
  • Efektivitas biaya: mengoptimalkan biaya menggunakan skalabilitas bawaan dan efisiensi biaya Cloud Storage.

Cloud Storage FUSE tidak cocok untuk workload sensitif latensi yang memuat file kurang dari 50 MB atau yang memerlukan latensi kurang dari 1 milidetik untuk akses I/O dan metadata acak.

Untuk pelatihan intensif data atau checkpoint dan workload memulai ulang, pertimbangkan alternatif penyimpanan selama fase pelatihan intensif I/O.

Alternatif desain

Bagian berikut menyajikan pendekatan desain alternatif yang dapat Anda pertimbangkan untuk aplikasi AI dan ML di Google Cloud.

Alternatif platform

Daripada menghosting pelatihan dan alur kerja inferensi model di GKE, Anda dapat mempertimbangkan Compute Engine dengan Slurm. Slurm adalah workload dan pengelola resource open source yang sangat dapat dikonfigurasi. Penggunaan Compute Engine dengan Slurm sangat cocok untuk simulasi dan pelatihan model berskala besar. Sebaiknya gunakan Compute Engine dengan Slurm jika Anda perlu mengintegrasikan kekayaan intelektual (IP) AI dan ML eksklusif ke dalam lingkungan skalabel dengan fleksibilitas dan kontrol guna mengoptimalkan performa untuk workload khusus. Untuk mengetahui informasi lebih lanjut mengenai cara menggunakan Compute Engine dengan Slurm, baca artikel Men-deploy cluster HPC dengan Slurm.

Di Compute Engine, Anda menyediakan dan mengelola virtual machine (VM) Anda, yang memberi Anda kontrol terperinci atas jenis instance, penyimpanan, dan jaringan. Anda dapat menyesuaikan infrastruktur dengan kebutuhan yang tepat, termasuk pemilihan jenis mesin VM tertentu. Untuk mengetahui informasi tentang cara menggunakan opsi command line Cloud Storage FUSE di Compute Engine, lihat gcsfuse CLI dan file konfigurasi Cloud Storage FUSE. Anda juga dapat menggunakan kelompok mesin yang dioptimalkan akselerator untuk meningkatkan performa dengan workload AI dan ML. Untuk mengetahui informasi lebih lanjut tentang kelompok jenis mesin yang tersedia di Compute Engine, lihat Panduan perbandingan dan referensi kelompok mesin.

Slurm menawarkan opsi andal untuk mengelola workload AI dan ML serta memungkinkan Anda mengontrol konfigurasi dan pengelolaan resource komputasi. Untuk menggunakan pendekatan ini, Anda memerlukan keahlian dalam administrasi Slurm dan pengelolaan sistem Linux.

Opsi akselerator

Akselerator mesin adalah pemroses khusus yang didesain untuk mempercepat komputasi yang diperlukan untuk workload AI dan ML. Anda dapat memilih GPU atau TPU.

  • Akselerator GPU memberikan performa yang sangat baik untuk berbagai tugas, termasuk rendering grafis, pelatihan deep learning, dan komputasi ilmiah. Google Cloud memiliki banyak pilihan GPU yang cocok dengan berbagai performa dan titik harga. GPU sering kali menyertakan SSD lokal di setiap konfigurasi mesin, yang dapat digunakan oleh Cloud Storage FUSE sebagai direktori cache. Untuk mengetahui informasi tentang harga dan model GPU, lihat Harga GPU.
  • TPU adalah akselerator AI yang dirancang khusus dan dioptimalkan untuk pelatihan dan inferensi model AI berskala besar. Layanan ini ideal untuk berbagai kasus penggunaan, seperti chatbot, pembuatan kode, pembuatan konten media, ucapan sintetis, layanan visi, mesin pemberi saran, dan model personalisasi. Untuk mengetahui informasi selengkapnya tentang harga dan model TPU, lihat harga TPU.

Alternatif penyimpanan

Cloud Storage FUSE menyediakan sistem file yang praktis dan memungkinkan Anda memanfaatkan skalabilitas dan efektivitas biaya Cloud Storage. Namun, Cloud Storage FUSE tidak ideal untuk workload yang memerlukan latensi rendah untuk pembacaan file kecil atau workload yang memerlukan solusi penyimpanan lengkap yang sesuai dengan POSIX. Untuk kasus penggunaan ini, sebaiknya Anda mempertimbangkan alternatif penyimpanan berikut:

  • Google Cloud Hyperdisk ML: solusi block storage berperforma tinggi yang ideal untuk workload yang memiliki cluster skala lebih besar yang terdiri dari ratusan node dengan set data hanya baca yang lebih kecil yang berkisar dari ratusan GB hingga 64 TB. Hyperdisk ML memiliki throughput yang lebih tinggi daripada Cloud Storage dan dapat dipasang ke beberapa VM dalam mode hanya baca. Mode akses Kubernetes ReadOnlyNeed memungkinkan Hyperdisk ML mempercepat pemuatan bobot model jika dibandingkan dengan memuat langsung dari registry model. Untuk mengetahui informasi selengkapnya tentang penggunaan Hyperdisk ML dalam workload AI dan ML, lihat Mempercepat pemuatan data AI/ML dengan Hyperdisk ML.
  • Konektor untuk PyTorch: produk open source di Cloud Storage yang ideal untuk workload yang menggunakan PyTorch. Konektor untuk PyTorch mengoptimalkan beban kerja pelatihan Anda dengan melakukan streaming data langsung dari bucket Cloud Storage dan menghilangkan kebutuhan akan penyimpanan perantara. Akses dan pengoptimalan langsung ini memberikan performa yang jauh lebih baik dibandingkan panggilan API langsung ke Cloud Storage untuk pemuatan, pelatihan, dan checkpoint data.

Meskipun opsi penyimpanan alternatif dapat menawarkan keunggulan performa untuk workload AI dan ML tertentu, Anda perlu mengevaluasi kebutuhan latensi, throughput, dan kapasitas penyimpanan.

Untuk mengetahui perbandingan komprehensif opsi penyimpanan untuk workload AI dan ML, lihat Mendesain penyimpanan untuk workload AI dan ML dalam Google Cloud.

Pertimbangan desain

Bagian ini berisi panduan tentang praktik terbaik dan pertimbangan desain untuk mengonfigurasi Cloud Storage FUSE demi keamanan, keandalan, biaya, dan performa. Meskipun rekomendasi di sini tidak lengkap, rekomendasi tersebut membahas pertimbangan utama untuk memaksimalkan manfaat Cloud Storage FUSE di lingkungan Anda. Bergantung pada kebutuhan spesifik dan karakteristik workload, Anda mungkin perlu mempertimbangkan opsi dan kompromi konfigurasi tambahan.

Rekomendasi desain berikut menyoroti konfigurasi untuk meningkatkan cara Anda men-deploy Cloud Storage FUSE di GKE. Sebagian besar opsi Cloud Storage FUSE dikonfigurasi dengan opsi pemasangan. Untuk mengetahui informasi selengkapnya tentang opsi command line FUSE Cloud Storage dan cara menggunakannya, lihat gcsfuse CLI dan Mengoptimalkan Driver CSI FUSE Cloud Storage untuk performa GKE.

Keamanan, privasi, dan kepatuhan

Bagian ini menjelaskan pertimbangan untuk workload AI dan ML Anda di Google Cloud yang memenuhi persyaratan keamanan, privasi, dan kepatuhan Anda.

Pertimbangan GKE

Dalam mode operasi Autopilot, GKE mengonfigurasi cluster Anda di awal dan mengelola node sesuai dengan praktik terbaik keamanan, sehingga memungkinkan Anda berfokus pada keamanan khusus workload. Untuk informasi selengkapnya, lihat referensi berikut:

Guna memastikan peningkatan kontrol akses untuk aplikasi Anda yang berjalan di GKE, Anda dapat menggunakan Identity-Aware Proxy (IAP). IAP terintegrasi dengan resource GKE Ingress dan membantu memastikan bahwa hanya pengguna yang diautentikasi dengan peran Identity and Access Management (IAM) yang benar yang dapat mengakses aplikasi. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan IAP untuk GKE.

Secara default, data Anda di GKE dienkripsi dalam penyimpanan dan dalam pengiriman menggunakan Google-owned and Google-managed encryption keys. Sebagai lapisan keamanan tambahan untuk data sensitif, Anda dapat mengenkripsi data pada lapisan aplikasi menggunakan kunci yang Anda miliki dan kelola dengan Cloud Key Management Service (Cloud KMS). Untuk mengetahui informasi selengkapnya, lihat Mengenkripsi secret di lapisan aplikasi.

Jika menggunakan cluster GKE Standar, Anda dapat menggunakan kemampuan enkripsi data tambahan berikut:

Pertimbangan Cloud Storage

Secara default, data yang disimpan di Cloud Storage dienkripsi menggunakan Google-owned and Google-managed encryption keys. Jika diperlukan, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) atau kunci Anda sendiri yang dikelola menggunakan metode pengelolaan eksternal seperti kunci enkripsi yang disediakan pelanggan (CSEK). Untuk mengetahui informasi selengkapnya, lihat Opsi enkripsi data.

Cloud Storage mendukung dua metode untuk memberi pengguna akses ke bucket dan objek Anda: IAM dan daftar kontrol akses (ACL). Pada sebagian besar kasus, sebaiknya gunakan IAM, yang memungkinkan Anda memberikan izin di level bucket dan project. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses.

Data pelatihan yang Anda muat melalui Cloud Storage mungkin mencakup data sensitif. Untuk melindungi data tersebut, Anda dapat menggunakan Sensitive Data Protection untuk menemukan, mengklasifikasikan, dan melakukan de-identifikasi data. Untuk memisahkan beban kerja pelatihan dan penyaluran, simpan model dan checkpoint Anda ke bucket Cloud Storage yang terpisah. Pemisahan ini membantu mencegah eksposur informasi sensitif yang tidak disengaja dari set data pelatihan Anda selama inferensi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Sensitive Data Protection dengan Cloud Storage.

Jika Anda memiliki persyaratan residensi data, Cloud Storage dapat membantu Anda memenuhi persyaratan tersebut. Data akan disimpan atau direplikasi di region yang Anda tentukan.

Pertimbangan Cloud Storage FUSE

Saat Anda mengaktifkan penyimpanan cache, Cloud Storage FUSE akan menyimpan file persisten dari bucket Cloud Storage dalam format tidak terenkripsi di dalam direktori yang Anda tentukan. Cloud Storage mengekspos semua file ke pengguna atau proses yang memiliki akses direktori. Untuk mengurangi risiko ini dan meningkatkan keamanan, lapisan kernel FUSE membatasi akses sistem file kepada pengguna yang memasang sistem. Batasan ini menolak akses ke pengguna lain, termasuk pengguna root, meskipun izin inode lebih permisif.

Namun, dalam beberapa kasus penggunaan, penggantian batasan akses default mungkin diperlukan. Misalnya, dalam workload pelatihan AI dan ML terdistribusi saat beberapa node perlu mengakses dan berbagi checkpoint yang tersimpan di Cloud Storage, Anda mungkin perlu mengizinkan akses yang lebih luas. Dalam kasus tersebut, Anda dapat mengganti batasan default menggunakan opsi -o allow_other. Namun, jika Anda memperluas akses ke file, Anda berpotensi mengekspos data kepada pengguna yang tidak sah. Oleh karena itu, Anda harus berhati-hati saat menggunakan opsi ini.

Secara default, semua inode dalam sistem file Cloud Storage FUSE adalah milik pengguna yang memasang sistem file. Meskipun default ini mungkin cocok untuk banyak kasus, Anda dapat menyesuaikan Konteks Keamanan untuk Pod Anda. Untuk mengetahui informasi tentang cara menyesuaikan Konteks Keamanan, lihat Keamanan dan izin.

Keandalan

Untuk memastikan operasi yang andal, Cloud Storage FUSE menggabungkan percobaan ulang otomatis untuk menangani potensi gangguan dan menjaga konsistensi data. Permintaan yang gagal secara otomatis dicoba ulang dengan backoff eksponensial ke Cloud Storage. Backoff eksponensial secara bertahap meningkatkan waktu di antara percobaan ulang. Mekanisme bawaan ini membantu aplikasi Anda mengatasi masalah jaringan sementara atau ketidaktersediaan Cloud Storage sementara.

Meskipun Cloud Storage FUSE menawarkan banyak keuntungan, pertimbangkan hal berikut:

  • Penulisan serentak: saat beberapa pengguna mencoba mengubah file, operasi last write wins akan diprioritaskan dan semua operasi tulis sebelumnya akan hilang. Untuk mempertahankan integritas data, sebaiknya hanya satu objek yang dimodifikasi oleh satu sumber dalam satu waktu.
  • Persistensi cache: saat Anda melepas atau memulai ulang bucket, cache tidak akan dipertahankan. Untuk menghindari potensi masalah keamanan, setelah Anda melepas atau memulai ulang bucket, Anda harus menghapus direktori cache file secara manual.
  • Proses dengan cache khusus: meskipun Cloud Storage FUSE mendukung akses serentak untuk pemrosesan paralel yang efisien, penting untuk diingat bahwa cache bersifat khusus untuk setiap proses Cloud Storage FUSE. Oleh karena itu, direktori cache yang sama tidak boleh digunakan oleh proses Cloud Storage FUSE berbeda yang berjalan di mesin yang sama atau berbeda.

Saat Anda membangun arsitektur untuk workload, pertimbangkan juga praktik terbaik dan rekomendasi umum yang disediakan di pilar Framework Keandalan: Framework yang Baik.

Pengoptimalan biaya

Bagian ini memberikan panduan untuk membantu Anda mengoptimalkan biaya penyiapan dan pengoperasian alur kerja AI dan ML di Google Cloud.

Pertimbangan GKE

Dalam mode Autopilot, GKE mengoptimalkan efisiensi infrastruktur cluster Anda berdasarkan persyaratan workload. Untuk mengontrol biaya, Anda tidak perlu terus-menerus memantau pemanfaatan resource atau mengelola kapasitas.

Jika Anda dapat memprediksi penggunaan CPU, memori, dan penyimpanan efemeral cluster Autopilot, Anda bisa mendapatkan diskon abonemen. Untuk mengurangi biaya menjalankan aplikasi, Anda dapat menggunakan Spot VM untuk node GKE. Harga Spot VM lebih rendah dari VM standar, tetapi tidak memberikan jaminan ketersediaan.

Untuk mengoptimalkan biaya dan performa melalui pengelolaan yang efisien, gunakan Dynamic Workload Scheduler. Dynamic Workload Scheduler adalah pengelolaan resource dan penjadwal tugas yang membantu Anda meningkatkan akses ke resource AI dan ML. Dynamic Workload Scheduler menjadwalkan semua akselerator Anda secara bersamaan dan dapat berjalan di luar jam sibuk dengan pengelolaan kapasitas akselerator yang telah ditentukan. Dengan menjadwalkan tugas secara strategis, Dynamic Workload Scheduler membantu memaksimalkan penggunaan akselerator, mengurangi waktu tidak ada aktivitas, dan pada akhirnya mengoptimalkan pembelanjaan cloud Anda.

Untuk informasi selengkapnya tentang panduan pengoptimalan biaya, lihat Praktik terbaik untuk menjalankan aplikasi Kubernetes yang hemat biaya di GKE.

Pertimbangan Cloud Storage

Kebutuhan penyimpanan AI dan ML Anda bisa bersifat dinamis. Misalnya, Anda mungkin memerlukan kapasitas penyimpanan yang signifikan untuk data pelatihan, tetapi kebutuhan kapasitas menurun untuk penayangan, karena Anda utamanya menyimpan data model dan checkpoint. Untuk mengontrol biaya, sebaiknya Anda mengaktifkan pengelolaan siklus proses objek dan Autoclass.

Object lifecycle management memungkinkan Anda secara otomatis memindahkan data yang lama atau tidak terpakai ke kelas penyimpanan yang lebih murah atau bahkan menghapus data, berdasarkan aturan yang Anda tetapkan.

Fitur Autoclass secara otomatis memindahkan data antar-kelas penyimpanan berdasarkan cara pola akses Anda. Fitur ini memastikan Anda mendapatkan keseimbangan terbaik antara performa dan biaya.

Pertimbangan Cloud Storage FUSE

Biaya Cloud Storage standar berlaku untuk penyimpanan, operasi metadata, dan traffic jaringan yang dihasilkan oleh aktivitas FUSE Anda. Tidak ada biaya tambahan untuk menggunakan Cloud Storage FUSE. Untuk mengetahui informasi selengkapnya tentang operasi FUSE Cloud Storage umum dan caranya dipetakan ke operasi Cloud Storage, lihat pemetaan operasi.

Untuk mengoptimalkan biaya direktori cache, Anda dapat menggunakan kapasitas mesin yang disediakan yang ada, termasuk SSD lokal, persistent disk, atau data dalam memori untuk sistem file sementara. Dengan menggunakan kapasitas mesin yang ada, Anda dapat menghindari timbulnya biaya untuk resource penyimpanan tambahan. Selain itu, memaksimalkan hit cache dapat mengurangi biaya Cloud Storage secara signifikan karena data yang ditayangkan secara lokal tidak dikenai biaya operasi atau biaya traffic keluar jaringan.

Untuk informasi lebih lanjut tentang biaya, lihat Harga Cloud Storage.

Saat Anda mem-build arsitektur untuk workload, pertimbangkan juga praktik terbaik umum dan rekomendasi yang disediakan di pilar Framework Arsitektur yang Baik: Pengoptimalan biaya.

Pengoptimalan performa

Cloud Storage FUSE dirancang untuk menyediakan akses yang efisien ke data di Cloud Storage untuk workload AI dan ML Anda. Namun, permintaan metadata yang sering diminta dapat menurunkan performa, terutama di cluster berskala tinggi. Untuk mengetahui informasi selengkapnya tentang cara meningkatkan performa, lihat Mengoptimalkan driver CSI FUSE Cloud Storage untuk performa GKE.

Untuk mengoptimalkan performa, pertimbangkan konfigurasi berikut:

  • Mengaktifkan namespace hierarkis: untuk meningkatkan organisasi dan akses data, buat bucket Cloud Storage dengan namespace hierarkis yang diaktifkan. Dengan namespace hierarkis, Anda dapat mengatur data dalam struktur sistem file, sehingga akan meningkatkan performa, memastikan konsistensi, dan menyederhanakan pengelolaan workload AI dan ML. Namespace hierarki memungkinkan QPS awal yang lebih tinggi dan penggantian nama direktori atomik yang cepat.
  • Aktifkan caching file: caching file mempercepat akses berulang ke data pelatihan dengan menggunakan direktori node lokal untuk meng-cache file yang sering dibaca. Penayangan pembacaan berulang dari media cache akan mengurangi latensi dan meminimalkan operasi kembali ke Cloud Storage. Pada jenis mesin GPU dengan SSD lokal, direktori SSD lokal otomatis digunakan. Untuk jenis mesin yang tidak menyertakan SSD lokal, seperti TPU, Anda dapat menggunakan direktori disk RAM, seperti /tmpfs.

    Untuk mengaktifkan cache file, gunakan opsi pemasangan berikut:

    • Untuk menetapkan nilai cache file yang dapat digunakan ke batas kapasitas cache, tetapkan file-cache:max-size-mb: ke -1.
    • Untuk menetapkan waktu cache metadata (TTL) ke durasi tanpa batas dan penghapusan berdasarkan algoritma yang paling jarang digunakan (LRU) setelah kapasitas maksimum tercapai, tetapkan metadata-cache:ttl-secs: ke -1.
  • Meningkatkan nilai cache metadata: Cloud Storage FUSE memiliki dua bentuk cache metadata yang meningkatkan performa operasi yang terkait dengan pencarian metadata: cache statistik dan cache jenis.

    Untuk meningkatkan nilai cache metadata, tetapkan opsi pemasangan berikut:

    • Untuk menetapkan nilai cache statistik yang dapat digunakan ke batas kapasitas cache, tetapkan metadata-cache:stat-cache-max-size-mb: ke -1.
    • Untuk menetapkan nilai cache jenis yang dapat digunakan ke batas kapasitas, tetapkan metadata-cache:type-cache-max-size-mb: ke -1.
    • Agar masa berlaku item metadata yang di-cache tidak berakhir, dengan nilai default 60 detik, tetapkan metadata-cache:ttl-secs: ke -1. Nilai tak terbatas sebaiknya hanya digunakan untuk volume hanya baca dan node dengan konfigurasi memori besar.
  • Isi otomatis cache metadata: fitur pengambilan data metadata memungkinkan driver Cloud Storage FUSE CSI secara proaktif memuat metadata yang relevan tentang objek di bucket Cloud Storage Anda ke dalam cache Cloud Storage FUSE. Pendekatan ini mengurangi panggilan ke Cloud Storage dan sangat bermanfaat untuk aplikasi yang mengakses set data besar yang memiliki banyak file, seperti workload pelatihan AI dan ML.

    Untuk mengisi cache metadata terlebih dahulu, aktifkan pengambilan data metadata untuk volume tertentu. Setel atribut volume gcsfuseMetadataPrefetchOnMount ke true.

  • Aktifkan pembuatan cache daftar: fitur ini mengoptimalkan listingan dan file listingan. Hal ini sangat bermanfaat untuk workload pelatihan AI dan ML, yang sering kali melibatkan akses berulang kali dan membuat listingan seluruh direktori. Pembuatan cache daftar memberikan proses pelatihan yang sangat efisien dengan mengurangi kebutuhan untuk berulang kali mengakses listingan direktori di memori komputer Anda.

    Untuk mengaktifkan pembuatan cache daftar dan mencegah masa berlaku item cache daftar kernel habis masa berlakunya, tetapkan opsi pemasangan file-system:kernel-list-cache-ttl-secs: ke -1.

  • Aktifkan download paralel: download paralel mempercepat pemuatan awal model dengan mengambil beberapa potongan secara serentak. Mengaktifkan download paralel akan menghasilkan pemuatan model yang lebih cepat dan peningkatan responsivitas selama penayangan.

    Untuk mengaktifkan download paralel, aktifkan cache file dan tetapkan opsi pemasangan file-cache:enable-parallel-downloads: ke true.

  • Tingkatkan batas file bantuan GKE: untuk mencegah batasan resource menghambat performa, konfigurasi batas pada resource container file bantuan, seperti konsumsi CPU dan memori. Jika Anda menggunakan cache SSD lokal, pertimbangkan untuk menyetel ephemeral-storage-limit ke tidak terbatas. Dengan setelan ini, Cloud Storage FUSE dapat sepenuhnya menggunakan penyimpanan SSD lokal yang tersedia untuk caching yang lebih baik.

  • Penyambungan hanya baca: karena beban kerja pelatihan biasanya hanya perlu membaca data, mengonfigurasi titik pemasangan sebagai hanya baca untuk mendapatkan performa yang optimal, terutama saat Anda menggunakan penyimpanan file dalam cache. Konfigurasi ini juga membantu memaksimalkan manfaat pengoptimalan dalam cluster berskala tinggi dan membantu mencegah potensi inkonsistensi data.

Saat Anda membangun arsitektur untuk workload, pertimbangkan praktik terbaik dan rekomendasi umum yang disediakan di Framework Arsitektur yang Baik: pilar pengoptimalan performa.

Langkah berikutnya

Kontributor

Penulis: Samantha He | Penulis Teknis

Kontributor lainnya: