Dokumen ini memberikan panduan desain tentang cara memilih dan mengintegrasikan Google Cloud layanan penyimpanan untuk beban kerja AI dan ML Anda. Setiap tahap dalam siklus proses ML memiliki persyaratan penyimpanan yang berbeda. Misalnya, saat mengupload set data pelatihan, Anda dapat memprioritaskan kapasitas penyimpanan untuk pelatihan dan throughput tinggi untuk set data besar. Demikian pula, tahap pelatihan, penyesuaian, penayangan, dan pengarsipan memiliki persyaratan yang berbeda. Untuk sebagian besar beban kerja AI dan ML, sebaiknya gunakan Google Cloud Managed Lustre sebagai solusi penyimpanan Anda. Managed Lustre menawarkan performa dan skalabilitas tinggi, sehingga ideal untuk pelatihan, pembuatan titik pemeriksaan, dan penayangan. Tahap penayangan dan pengarsipan memiliki persyaratan yang berbeda.
Dokumen ini membantu Anda menilai persyaratan kapasitas, latensi, dan throughput untuk membuat pilihan yang tepat dalam menentukan solusi penyimpanan yang sesuai. Dokumen ini mengasumsikan bahwa Anda telah memilih platform komputasi yang memenuhi persyaratan workload Anda. Untuk workload AI dan ML, sebaiknya Anda menggunakan Compute Engine atau Google Kubernetes Engine (GKE). Untuk mengetahui informasi selengkapnya tentang memilih platform komputasi, lihat Hosting Aplikasi di Google Cloud.
Tab berikut memberikan ringkasan singkat tentang pilihan penyimpanan yang direkomendasikan untuk setiap tahap alur kerja ML. Untuk mengetahui informasi selengkapnya, lihat Memilih penyimpanan yang sesuai.
Persiapan
Pada tahap persiapan alur kerja ML, Anda akan melakukan hal berikut:
- Mengupload dan menyerap data.
- Ubah data ke format yang benar sebelum Anda melatih model.
Untuk mengoptimalkan biaya penyimpanan dengan menggunakan beberapa kelas penyimpanan, sebaiknya gunakan fitur Autoclass Cloud Storage atau pengelolaan siklus proses objek.
Latih
Pada tahap pelatihan alur kerja ML, Anda akan melakukan hal berikut:
- Pengembangan model: kembangkan model Anda menggunakan notebook dan menerapkan uji coba berulang.
- Pelatihan model:
- Gunakan akselerator machine learning dalam jumlah kecil hingga besar untuk membaca set data pelatihan berulang kali.
- Terapkan proses iteratif untuk pengembangan dan pelatihan model.
- Membuat titik pemeriksaan dan memulai ulang:
- Simpan status secara berkala selama pelatihan model dengan membuat checkpoint sehingga pelatihan dapat dimulai ulang setelah kegagalan node.
- Buat pilihan pembuatan titik pemeriksaan berdasarkan pola I/O dan jumlah data yang perlu disimpan di titik pemeriksaan.
Untuk tahap pelatihan, sebaiknya gunakan opsi penyimpanan berikut:
- Gunakan Managed Lustre jika workload Anda memiliki karakteristik berikut:
- Persyaratan kapasitas pelatihan minimum sebesar 18 TiB.
- Data pelatihan yang terdiri dari file kecil berukuran kurang dari 50 MB untuk memanfaatkan kemampuan latensi rendah.
- Persyaratan latensi kurang dari 1 milidetik untuk memenuhi persyaratan penyimpanan bagi akses I/O acak dan metadata.
- Persyaratan untuk melakukan pembuatan pos pemeriksaan berperforma tinggi yang sering.
- Pengalaman seperti desktop dengan dukungan POSIX penuh untuk melihat dan mengelola data pengguna Anda.
- Gunakan Cloud Storage dengan Cloud Storage FUSE dan Anywhere Cache jika beban kerja Anda memiliki karakteristik berikut:
- Data pelatihan yang terdiri dari file besar berukuran 50 MB atau lebih.
- Toleransi untuk latensi penyimpanan yang lebih tinggi dalam puluhan milidetik.
- Prioritas ketahanan data dan ketersediaan tinggi dibandingkan performa penyimpanan.
Untuk mengoptimalkan biaya, sebaiknya gunakan layanan penyimpanan yang sama di semua tahap pelatihan model.
Inferensikan
Pada tahap penayangan alur kerja ML, Anda akan melakukan hal berikut:
- Simpan model.
- Muat model ke dalam instance yang menjalankan akselerator machine learning saat startup.
- Menyimpan hasil inferensi model, seperti gambar yang dihasilkan.
- Secara opsional, simpan dan muat set data yang digunakan untuk inferensi model.
Untuk tahap penayangan, sebaiknya gunakan opsi penyimpanan berikut:
- Managed Lustre jika workload Anda memiliki karakteristik berikut:
- Workload pelatihan dan checkpointing Anda menggunakan Managed Lustre.
- Persyaratan untuk 10 hingga 100 node inferensi.
- Update rutin pada model Anda.
- Cloud Storage dengan Cloud Storage FUSE dan Anywhere Cache jika workload Anda memiliki karakteristik berikut:
- Persyaratan untuk solusi hemat biaya bagi lingkungan dinamis tempat jumlah node inferensi dapat berubah.
- Pembaruan yang jarang dilakukan pada model Anda.
- Prioritas untuk ketersediaan tinggi dan ketahanan model Anda, bahkan jika terjadi gangguan regional.
- Google Cloud Hyperdisk ML jika workload Anda memiliki karakteristik berikut:
- Persyaratan untuk lebih dari 100 node inferensi.
- Pembaruan yang jarang dilakukan pada model Anda.
- Workload Anda menggunakan jenis mesin virtual (VM) yang didukung.
- Pipeline Anda dapat mengelola volume hanya baca untuk menyimpan model.
Arsipkan
Pada tahap pengarsipan workload ML, Anda menyimpan data pelatihan dan model untuk jangka waktu yang lebih lama.
Untuk mengoptimalkan biaya penyimpanan dengan beberapa kelas penyimpanan, sebaiknya gunakan Autoclass Cloud Storage atau pengelolaan siklus proses objek.
Ringkasan proses desain
Untuk menentukan opsi penyimpanan yang sesuai untuk beban kerja AI dan ML Anda di Google Cloud, lakukan hal berikut:
- Pertimbangkan karakteristik beban kerja, ekspektasi performa, dan sasaran biaya Anda.
- Tinjau layanan dan fitur penyimpanan yang direkomendasikan di Google Cloud.
- Berdasarkan persyaratan dan opsi yang tersedia, Anda memilih layanan dan fitur penyimpanan yang diperlukan untuk setiap tahap dalam alur kerja ML: menyiapkan, melatih, menayangkan, dan mengarsipkan.
Dokumen ini berfokus pada tahap alur kerja ML yang memerlukan pertimbangan cermat terhadap opsi penyimpanan, tetapi tidak mencakup keseluruhan siklus proses, proses, dan kemampuan ML.
Berikut ringkasan proses desain tiga fase untuk memilih penyimpanan untuk workload AI dan ML Anda:
- Tentukan persyaratan Anda:
- Karakteristik workload
- Batasan keamanan
- Persyaratan ketahanan
- Ekspektasi performa
- Sasaran biaya
- Tinjau opsi penyimpanan:
- Managed Lustre
- Cloud Storage
- Hyperdisk ML
- Pilih penyimpanan yang sesuai: pilih layanan penyimpanan, fitur, dan opsi desain berdasarkan karakteristik workload Anda di setiap tahap alur kerja ML.
Menentukan persyaratan Anda
Sebelum memilih opsi penyimpanan untuk workload AI dan ML di Google Cloud, Anda harus menentukan persyaratan penyimpanan untuk workload tersebut. Untuk menentukan persyaratan penyimpanan, Anda harus mempertimbangkan faktor-faktor seperti platform komputasi, kapasitas, throughput, dan persyaratan latensi.
Untuk membantu Anda memilih opsi penyimpanan untuk workload AI dan ML, pertimbangkan karakteristik workload Anda:
- Apakah ukuran permintaan I/O dan ukuran file Anda kecil (KB), sedang, atau besar (MB atau GB)?
- Apakah workload Anda terutama menunjukkan pola akses file berurutan atau acak?
- Apakah beban kerja AI dan ML Anda sensitif terhadap latensi I/O dan waktu hingga byte pertama (TTFB)?
- Apakah Anda memerlukan throughput baca dan tulis yang tinggi untuk klien tunggal, klien gabungan, atau keduanya?
- Berapa jumlah Unit Pemrosesan Grafis (GPU) atau Tensor Processing Unit (TPU) terbesar yang diperlukan oleh workload pelatihan AI dan ML terbesar Anda?
Anda menggunakan jawaban Anda atas pertanyaan-pertanyaan ini untuk memilih penyimpanan yang sesuai nanti dalam dokumen ini.
Meninjau opsi penyimpanan
Google Cloud menawarkan layanan penyimpanan untuk semua format penyimpanan utama: blok, file, sistem file paralel, dan objek. Tabel berikut menjelaskan opsi yang dapat Anda pertimbangkan untuk workload AI dan ML diGoogle Cloud. Tabel ini mencakup tiga opsi penyimpanan yang dikelola Google yang menjadi fokus dokumen ini untuk workload AI dan ML Anda. Namun, jika Anda memiliki persyaratan khusus yang tidak tercakup dalam penawaran ini, pertimbangkan solusi penyimpanan yang dikelola partner yang tersedia di Google Cloud Marketplace.
Tinjau dan evaluasi fitur, opsi desain, dan keuntungan relatif dari layanan yang tersedia untuk setiap format penyimpanan.
Layanan penyimpanan | Jenis penyimpanan | Fitur |
---|---|---|
Managed Lustre | Sistem file paralel |
|
Cloud Storage | Objek |
|
Hyperdisk ML | Blokir |
|
Managed Lustre
Managed Lustre adalah sistem file yang terkelola sepenuhnya di Google Cloud. Managed Lustre menyediakan instance persisten dan per zona yang dibangun di sistem file Lustre DDN EXAScaler. Managed Lustre sangat ideal untuk workload AI dan ML yang perlu menyediakan akses latensi rendah kurang dari satu milidetik dengan throughput tinggi dan operasi input/output per detik (IOPS) yang tinggi. Managed Lustre dapat mempertahankan throughput tinggi dan IOPS tinggi untuk beberapa VM atau untuk ribuan VM.
Lustre Terkelola memberikan manfaat berikut:
- Kepatuhan POSIX: dukungan untuk standar POSIX, yang membantu memastikan kompatibilitas dengan banyak aplikasi dan alat yang ada.
- TCO yang lebih rendah untuk pelatihan: mempercepat waktu pelatihan secara efisien dengan mengirimkan data ke node komputasi. Percepatan ini membantu mengurangi TCO untuk pelatihan model AI dan ML.
- TCO lebih rendah untuk penayangan: memungkinkan pemuatan model yang lebih cepat dan penayangan inferensi yang dioptimalkan dibandingkan dengan Cloud Storage. Kemampuan ini membantu menurunkan biaya komputasi dan meningkatkan pemanfaatan resource.
- Pemanfaatan resource yang efisien: gabungkan pembuatan titik pemeriksaan dan pelatihan dalam satu instance. Pemanfaatan resource ini membantu memaksimalkan penggunaan throughput baca dan tulis yang efisien dalam satu sistem penyimpanan berperforma tinggi.
Cloud Storage
Cloud Storage adalah layanan penyimpanan objek terkelola sepenuhnya yang cocok untuk beban kerja AI dan ML dalam skala apa pun. Cloud Storage unggul dalam menangani data tidak terstruktur untuk semua fase alur kerja AI dan ML.
Cloud Storage memberikan manfaat berikut:
- Skalabilitas besar: dapatkan kapasitas penyimpanan tak terbatas yang dapat diskalakan hingga eksabita secara global.
- Throughput tinggi: menskalakan hingga 1 TB/dtk dengan perencanaan yang diperlukan.
- Opsi lokasi yang fleksibel: pilih dari opsi penyimpanan regional, multi-region, dan dual-region untuk workload AI dan ML.
- Efektivitas biaya: manfaatkan berbagai kelas penyimpanan yang dirancang untuk mengoptimalkan biaya berdasarkan pola akses data Anda.
Cloud Storage unggul dalam hal skala dan efektivitas biaya, tetapi penting untuk mempertimbangkan latensi dan karakteristik I/O-nya. Latensi yang diharapkan adalah puluhan milidetik, yang lebih tinggi daripada opsi penyimpanan lainnya. Untuk memaksimalkan throughput, Anda harus menggunakan ratusan atau ribuan thread, file besar, dan permintaan I/O besar. Cloud Storage menyediakan library klien dalam berbagai bahasa pemrograman, dan menyediakan Cloud Storage FUSE dan Anywhere Cache.
Cloud Storage FUSE adalah adaptor FUSE open source yang didukung oleh Google. Dengan Cloud Storage FUSE, Anda dapat memasang bucket Cloud Storage sebagai drive lokal. Cloud Storage FUSE tidak sepenuhnya mematuhi POSIX. Oleh karena itu, Anda harus memahami batasan dan perbedaan Cloud Storage FUSE dari sistem file tradisional. Dengan Cloud Storage FUSE, Anda dapat mengakses data pelatihan, model, dan titik pemeriksaan dengan skala, keterjangkauan, dan performa Cloud Storage.
Caching Cloud Storage FUSE memberikan manfaat berikut:
- Portabilitas: pasang dan akses bucket Cloud Storage dengan menggunakan semantik sistem file standar, yang membuat aplikasi Anda lebih portabel.
- Kompatibilitas: menghilangkan kebutuhan untuk memfaktorkan ulang aplikasi agar dapat menggunakan API khusus cloud, sehingga menghemat waktu dan resource Anda.
- Waktu tunggu yang lebih singkat: mulai tugas pelatihan dengan cepat dengan mengakses data secara langsung di Cloud Storage, yang meminimalkan waktu tunggu untuk GPU dan TPU Anda.
- Throughput tinggi: manfaatkan skalabilitas dan performa bawaan Cloud Storage, yang dioptimalkan untuk beban kerja ML yang banyak membaca dengan GPU atau TPU.
- Cache file lokal klien: mempercepat pelatihan dengan cache lokal klien yang mempercepat pembacaan file berulang. Percepatan ini dapat ditingkatkan lebih lanjut saat Anda menggunakannya dengan SSD lokal 6 TiB yang disertakan dengan jenis mesin A3.
Anywhere Cache adalah fitur Cloud Storage yang menyediakan cache baca berbasis SSD hingga 1 PiB untuk bucket Cloud Storage. Anywhere Cache dirancang untuk mempercepat aplikasi yang intensif data dengan menyediakan lapisan akses cepat lokal untuk data yang sering dibaca dalam zona tertentu.
Anywhere Cache memberikan manfaat berikut:
- Throughput yang dipercepat: menskalakan kapasitas dan bandwidth cache secara otomatis untuk memberikan throughput tinggi, yang melebihi kuota bandwidth regional, dengan latensi yang konsisten dan dapat diprediksi.
- Biaya yang lebih rendah: hindari biaya traffic keluar transfer data atau biaya pengambilan kelas penyimpanan untuk data yang di-cache. Anywhere Cache secara otomatis mengukur ukuran cache dan bandwidth yang tersedia untuk memenuhi kebutuhan workload Anda.
Hyperdisk ML
Hyperdisk ML adalah solusi penyimpanan blok berperforma tinggi yang dirancang untuk mempercepat workload AI dan ML yang memerlukan akses hanya baca ke set data besar. Hyperdisk ML memanfaatkan skalabilitas dan ketersediaan Colossus untuk menyeimbangkan performa di seluruh sistem file yang mendasarinya. Hyperdisk ML sangat cocok untuk tugas penayangan dibandingkan dengan layanan penyimpanan lainnya di Google Cloud karena dapat memberikan throughput gabungan yang sangat tinggi secara bersamaan ke banyak VM.
Hyperdisk ML memberikan manfaat berikut:
- Penyajian dan skalabilitas model yang dipercepat: menskalakan hingga ribuan node serentak dan mencapai throughput gabungan yang tinggi, yang mengoptimalkan waktu pemuatan dan pemanfaatan resource untuk beban kerja inferensi dengan mode Kubernetes
ReadOnlyMany
. - Kepadatan performa tinggi: dapatkan throughput tertinggi yang tersedia di Google Cloud dan operasi baca cepat untuk set data bersama yang besar.
- Peningkatan total biaya kepemilikan (TCO): mengurangi biaya dengan waktu tunggu GPU yang lebih singkat, kemampuan multi-lampiran, dan penggabungan performa.
- Akses hanya baca serentak: mengurangi biaya dengan berbagi disk antar-VM, yang lebih hemat biaya daripada memiliki beberapa disk dengan data yang sama. Untuk mengakses data statis dari beberapa VM, Anda harus memasang disk yang sama dalam mode hanya baca ke ratusan VM. Untuk memperbarui volume, disk harus dilepas dari semua VM kecuali satu VM.
Solusi penyimpanan partner
Untuk persyaratan workload yang tidak dipenuhi oleh layanan penyimpanan sebelumnya, Anda dapat menggunakan solusi partner berikut, yang tersedia di Cloud Marketplace:
Solusi partner ini tidak dikelola oleh Google. Anda perlu mengelola tugas deployment dan operasional untuk memastikan integrasi dan performa yang optimal dalam infrastruktur Anda.
Analisis komparatif
Tabel berikut menunjukkan kemampuan utama layanan penyimpanan di Google Cloud.
Managed Lustre | Cloud Storage | Hyperdisk ML | |
---|---|---|---|
Kapasitas | 18 TiB - 8 PiB | Tidak ada batas bawah atau atas. | 4 GiB - 64 TiB |
Penskalaan | Tidak skalabel | Melakukan penskalaan secara otomatis berdasarkan penggunaan. | Peningkatan skala |
Berbagi | Dapat dipasang di beberapa VM Compute Engine dan cluster GKE. |
|
Didukung |
Opsi kunci enkripsi | Google-owned and Google-managed encryption keys |
|
|
Persistensi | Masa aktif instance Managed Lustre. | Masa pakai bucket | Masa pakai disk |
Ketersediaan | Zonal |
|
Zonal |
Performa | Penskalaan linear dengan kapasitas yang disediakan | Penskalaan otomatis kecepatan baca-tulis, dan redistribusi beban dinamis | Penyimpanan persisten penskalaan dinamis |
Pengelolaan | Terkelola sepenuhnya, sesuai dengan POSIX | Terkelola sepenuhnya | Memformat dan memasang secara manual |
Alat transfer data
Bagian ini menjelaskan opsi Anda untuk memindahkan data antar-layanan penyimpanan di Google Cloud. Saat melakukan tugas AI dan ML, Anda mungkin perlu memindahkan data dari satu lokasi ke lokasi lain. Misalnya, jika data Anda dimulai di Cloud Storage, Anda dapat memindahkannya ke tempat lain untuk melatih model, lalu menyalin snapshot titik pemeriksaan atau model terlatih kembali ke Cloud Storage.
Anda dapat menggunakan metode berikut untuk mentransfer data ke Google Cloud:
- Mentransfer data secara online menggunakan Storage Transfer Service: mengotomatiskan transfer data dalam jumlah besar antara sistem penyimpanan objek dan file, termasuk Cloud Storage, Amazon S3, layanan penyimpanan Azure, dan sumber data lokal. Storage Transfer Service memungkinkan Anda menyalin data Anda secara aman dari lokasi sumber ke lokasi target dan melakukan transfer data yang berubah secara berkala. Layanan ini juga menyediakan validasi integritas data, percobaan ulang otomatis, dan load balancing.
- Mentransfer data secara offline menggunakan Transfer Appliance: mentransfer dan memuat data dalam jumlah besar secara offline ke Google Cloud dalam situasi saat konektivitas dan bandwidth jaringan tidak tersedia, terbatas, atau mahal.
- Mengupload data ke Cloud Storage: mengupload data secara online ke bucket Cloud Storage menggunakan Google Cloud konsol, gcloud CLI, Cloud Storage API, atau library klien.
Saat Anda memilih metode transfer data, pertimbangkan faktor-faktor seperti ukuran data, batasan waktu, ketersediaan bandwidth, sasaran biaya, serta persyaratan keamanan dan kepatuhan. Untuk mengetahui informasi tentang perencanaan dan penerapan transfer data ke Google Cloud, lihat Bermigrasi ke Google Cloud: Mentransfer set data besar Anda.
Pilih penyimpanan yang sesuai
Beban kerja AI dan ML biasanya melibatkan empat tahap utama: menyiapkan, melatih, menayangkan, dan mengarsipkan. Setiap tahap ini memiliki persyaratan penyimpanan yang unik, dan memilih solusi yang tepat dapat memengaruhi performa, biaya, dan efisiensi operasional secara signifikan. Pendekatan hybrid atau dioptimalkan secara lokal memungkinkan Anda menyesuaikan pilihan penyimpanan dengan permintaan spesifik setiap tahap untuk workload AI dan ML. Namun, jika prioritas Anda adalah pengelolaan terpadu dan kemudahan pengoperasian, pendekatan yang disederhanakan secara global yang menggunakan solusi yang konsisten di semua tahap dapat bermanfaat untuk workload dalam skala apa pun. Efektivitas pilihan penyimpanan bergantung pada properti set data, skala resource komputasi dan penyimpanan yang diperlukan, latensi, dan persyaratan workload yang Anda tentukan sebelumnya.
Bagian berikut memberikan detail tentang tahap utama beban kerja AI dan ML serta faktor-faktor yang dapat memengaruhi pilihan penyimpanan Anda.
Persiapan
Tahap persiapan menetapkan fondasi untuk aplikasi AI dan ML Anda. Proses ini melibatkan penguploadan data mentah dari berbagai sumber ke lingkungan cloud Anda dan pengubahan data menjadi format yang dapat digunakan untuk melatih model AI dan ML Anda. Proses ini mencakup tugas-tugas seperti membersihkan, memproses, dan mengonversi jenis data untuk memastikan kompatibilitas dengan framework AI dan ML yang Anda pilih.
Cloud Storage sangat cocok untuk tahap persiapan karena skalabilitas, ketahanan, dan efisiensi biayanya, terutama untuk set data besar yang umum dalam AI. Cloud Storage menawarkan integrasi yang lancar dengan layananGoogle Cloud lain yang memungkinkan Anda memanfaatkan potensi pengoptimalan untuk pelatihan yang intensif data.
Selama fase penyiapan data, Anda dapat mengatur ulang data menjadi bagian-bagian besar untuk meningkatkan efisiensi akses dan menghindari permintaan baca acak. Untuk lebih mengurangi persyaratan performa I/O pada sistem penyimpanan, Anda dapat meningkatkan jumlah thread I/O dengan menggunakan pipelining, pengoptimalan pelatihan, atau keduanya.
Latih
Tahap pelatihan adalah inti dari pengembangan model, tempat model AI dan ML Anda belajar dari data yang diberikan. Tahap ini melibatkan dua aspek utama yang memiliki persyaratan berbeda: pemuatan data yang efisien untuk mengakses data pelatihan dan pembuatan checkpoint yang andal untuk menyimpan progres model. Bagian berikut memberikan rekomendasi dan faktor-faktor yang perlu dipertimbangkan untuk memilih opsi penyimpanan yang sesuai untuk pemuatan data dan pembuatan titik pemeriksaan.
Pemuatan data
Selama pemuatan data, GPU atau TPU berulang kali mengimpor batch data untuk melatih model. Pada fase ini, Anda dapat menggunakan cache untuk mengoptimalkan tugas pemuatan data, bergantung pada ukuran batch dan urutan permintaan. Tujuan Anda selama pemuatan data adalah melatih model dengan efisiensi maksimum, tetapi dengan biaya terendah.
Jika ukuran data pelatihan Anda mencapai petabyte, data mungkin perlu dibaca ulang beberapa kali. Skala seperti ini memerlukan pemrosesan intensif oleh akselerator GPU atau TPU. Namun, Anda harus memastikan bahwa GPU dan TPU Anda tidak dalam kondisi idle, dan memastikan bahwa GPU dan TPU tersebut memproses data Anda secara aktif. Jika tidak, Anda membayar akselerator mahal yang tidak digunakan saat menyalin data dari satu lokasi ke lokasi lain.
Untuk mengoptimalkan performa dan biaya pemuatan data, pertimbangkan faktor-faktor berikut:
- Ukuran set data: ukuran korpus data pelatihan secara keseluruhan, dan ukuran setiap set data pelatihan.
- Pola akses: opsi mana di bawah ini yang paling baik mengategorikan pola akses I/O beban kerja pelatihan Anda:
- Akses paralel dan berurutan: file ditetapkan ke satu node dan dibaca secara berurutan.
- Akses paralel dan acak: file ditetapkan ke satu node dan dibaca secara acak untuk membuat batch sampel.
- Akses yang sepenuhnya acak: node dapat membaca rentang apa pun dari file mana pun untuk membuat batch.
- Ukuran file: ukuran permintaan baca yang umum.
Managed Lustre untuk pemuatan data
Anda harus memilih Managed Lustre untuk memuat data jika salah satu kondisi berikut berlaku:
- Anda memiliki persyaratan kapasitas pelatihan minimum sebesar 18 TiB.
- Data pelatihan Anda terdiri dari file kecil berukuran kurang dari 50 MB untuk memanfaatkan kemampuan latensi rendah.
- Anda memiliki persyaratan latensi kurang dari 1 milidetik untuk memenuhi persyaratan penyimpanan untuk I/O acak dan akses metadata.
- Anda memerlukan pengalaman seperti desktop dengan dukungan POSIX penuh untuk melihat dan mengelola data pengguna Anda.
Anda dapat menggunakan Managed Lustre sebagai cache berperforma tinggi di atas Cloud Storage untuk mempercepat beban kerja AI dan ML yang memerlukan operasi I/O berperforma sangat tinggi dan berlatensi rendah dengan sistem file paralel yang terkelola sepenuhnya. Untuk meminimalkan latensi selama pelatihan, Anda dapat mengimpor data ke Managed Lustre dari Cloud Storage. Jika menggunakan GKE sebagai platform komputasi, Anda dapat menggunakan
Driver CSI Lustre Terkelola GKE untuk mengisi data dari Cloud Storage ke PersistentVolumesClaims. Setelah pelatihan selesai, Anda dapat meminimalkan biaya penyimpanan jangka panjang dengan mengekspor data ke class Cloud Storage yang lebih murah.
Cloud Storage untuk pemuatan data
Anda umumnya harus memilih Cloud Storage untuk memuat data jika salah satu kondisi berikut berlaku:
- Anda memiliki persyaratan kapasitas pelatihan sebesar 100 TiB atau lebih.
- Data pelatihan Anda terdiri dari file besar berukuran 50 MB atau lebih.
- Anda memprioritaskan ketahanan data dan ketersediaan tinggi daripada performa penyimpanan.
Cloud Storage menawarkan solusi yang skalabel dan hemat biaya untuk menyimpan set data dalam jumlah besar, dan Cloud Storage FUSE memungkinkan Anda mengakses data sebagai sistem file lokal. Cloud Storage FUSE mempercepat akses data selama pelatihan dengan menyimpan data pelatihan di dekat akselerator mesin, yang meningkatkan throughput.
Untuk workload yang memerlukan throughput lebih dari 1 TB/s, Anywhere Cache mempercepat kecepatan baca dengan melakukan caching data dan menskalakan di luar kuota bandwidth regional. Untuk menilai apakah Anywhere Cache cocok untuk workload Anda, gunakan pemberi rekomendasi Anywhere Cache untuk menganalisis penggunaan dan penyimpanan data Anda.
Checkpointing dan pemulihan
Untuk pembuatan checkpoint dan pemulihan, tugas pelatihan perlu menyimpan statusnya secara berkala agar dapat dipulihkan dengan cepat dari kegagalan instance. Jika terjadi kegagalan, tugas harus dimulai ulang, memproses checkpoint terbaru, lalu melanjutkan pelatihan. Mekanisme persis yang digunakan untuk membuat dan memproses titik pemeriksaan biasanya khusus untuk framework. Untuk mempelajari teknik pengoptimalan dan checkpoint untuk TensorFlow Core, lihat Checkpoint pelatihan. Untuk mempelajari checkpoint dan teknik pengoptimalan untuk PyTorch, lihat Menyimpan dan Memuat Model.
Anda hanya perlu menyimpan beberapa titik pemeriksaan pada satu waktu. Beban kerja Checkpoint biasanya terdiri dari sebagian besar penulisan, beberapa penghapusan, dan idealnya, pembacaan yang jarang terjadi saat kegagalan terjadi.
Untuk mengoptimalkan performa pembuatan titik pemeriksaan dan pemulihan, pertimbangkan faktor-faktor berikut:
- Ukuran model: jumlah parameter yang ada dalam model AI dan ML Anda. Ukuran model Anda secara langsung memengaruhi ukuran file checkpoint-nya, yang dapat berkisar dari GiB hingga TiB.
- Frekuensi titik pemeriksaan: seberapa sering model Anda menyimpan titik pemeriksaan. Penyimpanan yang sering memberikan toleransi kesalahan yang lebih baik, tetapi meningkatkan biaya penyimpanan dan dapat memengaruhi kecepatan pelatihan.
- Waktu pemulihan checkpoint: waktu pemulihan yang Anda inginkan untuk memuat checkpoint dan melanjutkan pelatihan. Untuk meminimalkan waktu pemulihan, pertimbangkan faktor-faktor seperti ukuran checkpoint, performa penyimpanan, dan bandwidth jaringan.
Managed Lustre untuk checkpoint
Anda harus memilih Managed Lustre untuk pembuatan titik pemeriksaan jika salah satu kondisi berikut berlaku:
- Workload pelatihan Anda sudah menggunakan Managed Lustre untuk pemuatan data.
- Anda memiliki persyaratan untuk melakukan pembuatan pos pemeriksaan berperforma tinggi yang sering.
Untuk memaksimalkan penggunaan resource dan meminimalkan waktu tidak ada aktivitas akselerator, gunakan Managed Lustre untuk pelatihan dan pembuatan titik pemeriksaan. Managed Lustre dapat mencapai penulisan titik pemeriksaan yang cepat yang mencapai throughput per-VM yang tinggi. Anda dapat menyimpan titik pemeriksaan di instance Managed Lustre persisten, atau Anda dapat mengoptimalkan biaya dengan mengekspor titik pemeriksaan secara berkala ke Cloud Storage.
Cloud Storage untuk pembuatan titik pemeriksaan
Anda harus memilih Cloud Storage untuk pembuatan titik pemeriksaan jika salah satu kondisi berikut berlaku:
- Workload pelatihan Anda menggunakan Cloud Storage FUSE.
- Anda memprioritaskan ketahanan data dan ketersediaan tinggi daripada performa penyimpanan.
Untuk meningkatkan performa pembuatan titik pemeriksaan, gunakan Cloud Storage FUSE dengan namespace hierarkis yang diaktifkan untuk memanfaatkan operasi penggantian nama atomik yang cepat dan menyimpan titik pemeriksaan secara asinkron. Untuk mencegah tereksposnya informasi sensitif secara tidak sengaja dari set data pelatihan Anda selama penayangan, Anda harus menyimpan checkpoint di bucket Cloud Storage terpisah. Untuk membantu mengurangi latensi penulisan di akhir proses untuk upload yang terhenti, Cloud Storage FUSE mencoba melakukan percobaan ulang setelah 10 detik.
Inferensikan
Saat Anda menyajikan model, yang juga dikenal sebagai inferensi, pola I/O utama bersifat hanya baca untuk memuat model ke dalam memori GPU atau TPU. Tujuan Anda pada tahap penayangan adalah menjalankan model dalam produksi. Model jauh lebih kecil daripada data pelatihan, yang berarti Anda dapat mereplikasi dan menskalakan model di beberapa instance. Saat menyajikan data, Anda harus memiliki ketersediaan tinggi dan perlindungan terhadap kegagalan zona dan regional. Oleh karena itu, Anda harus memastikan bahwa model Anda tersedia untuk berbagai skenario kegagalan.
Untuk banyak kasus penggunaan AI generatif dan ML, data input ke model mungkin cukup kecil dan data mungkin tidak perlu disimpan secara persisten. Dalam kasus lain, Anda mungkin perlu menjalankan data dalam volume besar melalui model (misalnya, set data ilmiah). Untuk menjalankan data dalam volume besar, pilih opsi penyimpanan yang dapat meminimalkan waktu tunggu GPU atau TPU selama analisis set data, dan gunakan lokasi persisten untuk menyimpan hasil inferensi.
Waktu pemuatan model secara langsung memengaruhi waktu tunggu akselerator, yang menimbulkan biaya yang cukup besar. Peningkatan waktu pemuatan model per node dapat diperbesar di banyak node, yang dapat menyebabkan peningkatan biaya yang signifikan. Oleh karena itu, untuk mencapai efisiensi biaya dalam infrastruktur penayangan, Anda harus mengoptimalkan pemuatan model yang cepat.
Untuk mengoptimalkan performa dan biaya penayangan, pertimbangkan faktor-faktor berikut:
- Ukuran model: ukuran model Anda dalam GiB atau TiB. Model yang lebih besar memerlukan lebih banyak resource komputasi dan memori, yang dapat meningkatkan latensi.
- Frekuensi pemuatan model: seberapa sering Anda berencana memperbarui model. Pemuatan dan pembongkaran yang sering menggunakan resource komputasi dan meningkatkan latensi.
- Jumlah node penyaluran: jumlah node yang akan melayani model Anda. Umumnya, node yang lebih banyak akan mengurangi latensi dan meningkatkan throughput, tetapi juga meningkatkan biaya infrastruktur.
Managed Lustre untuk penayangan
Anda harus memilih Managed Lustre untuk menayangkan model jika salah satu kondisi berikut berlaku:
- Beban kerja pelatihan dan pembuatan checkpoint Anda menggunakan Managed Lustre.
- Workload Anda menggunakan 10 hingga 100 node inferensi.
- Anda sering memperbarui model.
Jika Anda sudah menggunakan Managed Lustre untuk pelatihan dan pembuatan titik pemeriksaan, Managed Lustre dapat menjadi opsi yang hemat biaya dan berperforma tinggi untuk menayangkan model Anda. Managed Lustre menawarkan throughput per VM yang tinggi dan throughput cluster gabungan yang membantu mengurangi waktu pemuatan model. Anda dapat menggunakan Managed Lustre untuk sejumlah VM yang melayani.
Cloud Storage untuk penayangan
Anda harus memilih Cloud Storage untuk menayangkan model jika salah satu kondisi berikut berlaku:
- Anda memerlukan solusi hemat biaya untuk lingkungan dinamis tempat jumlah node inferensi dapat berubah.
- Anda jarang melakukan update pada model.
- Anda memprioritaskan ketersediaan dan daya tahan yang tinggi untuk model Anda, bahkan jika terjadi gangguan regional.
Dengan arsitektur multi-region atau dual-region, Cloud Storage memberikan ketersediaan tinggi dan melindungi beban kerja Anda dari kegagalan zona dan regional. Untuk mempercepat pemuatan model, Anda dapat menggunakan Cloud Storage FUSE dengan mengaktifkan download paralel sehingga bagian model diambil secara paralel.
Untuk mencapai penyaluran model dengan throughput lebih dari 1 TB/s, atau untuk deployment yang melebihi seratus node penyaluran, gunakan Anywhere Cache dengan bucket multi-region. Kombinasi ini menyediakan penyimpanan redundan berperforma tinggi di seluruh region, dan fleksibilitas. Anywhere Cache juga menghilangkan biaya traffic keluar data dan pengambilan kelas penyimpanan pada data yang di-cache.
Hyperdisk ML untuk penayangan
Anda harus memilih Hyperdisk ML untuk menayangkan model jika salah satu kondisi berikut berlaku:
- Anda memerlukan lebih dari 100 node inferensi.
- Anda jarang melakukan update pada model.
- Workload Anda menggunakan jenis VM yang didukung.
- Pipeline Anda dapat mengelola volume hanya baca untuk menyimpan model.
Mengoptimalkan performa penayangan dengan menggunakan Hyperdisk ML sebagai cache untuk data Cloud Storage Anda. Hyperdisk ML menggunakan penggabungan performa bersama dan throughput yang disediakan secara dinamis di beberapa VM untuk menangani penayangan model hanya baca secara efisien dalam skala apa pun.
Arsipkan
Tahap pengarsipan memiliki pola I/O "tulis sekali, jarang dibaca". Tujuan Anda adalah menyimpan berbagai set data pelatihan dan berbagai versi model yang Anda buat. Anda dapat menggunakan versi data dan model inkremental ini untuk tujuan pencadangan dan pemulihan dari bencana. Anda juga harus menyimpan item ini di lokasi yang tahan lama dalam jangka waktu yang lama. Meskipun Anda mungkin tidak sering memerlukan akses ke data dan model, Anda ingin item tersebut tersedia saat Anda membutuhkannya.
Karena ketahanan yang ekstrem, skala yang luas, dan biaya yang rendah,Google Cloud opsi terbaik untuk menyimpan data objek dalam jangka waktu yang lama adalah Cloud Storage. Bergantung pada seberapa sering Anda mengakses set data, model, dan file cadangan, Cloud Storage menawarkan pengoptimalan biaya melalui berbagai kelas penyimpanan. Anda dapat memilih kelas penyimpanan berdasarkan seberapa sering Anda ingin mengakses data yang diarsipkan:
- Akses data yang sering: Standard Storage
- Akses data bulanan: Nearline Storage
- Akses data per kuartal: Coldline Storage
- Akses data tahunan: Archive storage
Dengan menggunakan pengelolaan siklus proses objek, Anda dapat membuat kebijakan untuk memindahkan data secara otomatis ke kelas penyimpanan jangka panjang atau menghapus data berdasarkan kriteria tertentu. Jika tidak yakin seberapa sering Anda mengakses data, Anda dapat menggunakan fitur Autoclass untuk memindahkan data antar-kelas penyimpanan secara otomatis berdasarkan pola akses Anda.
Langkah berikutnya
Untuk mengetahui informasi selengkapnya tentang opsi penyimpanan dan workload AI dan ML, lihat referensi berikut:
- Pelajari cara mengoptimalkan beban kerja AI dan ML dengan Managed Lustre.
- Pelajari lebih lanjut cara mengoptimalkan workload AI dan ML dengan Cloud Storage FUSE.
- Pelajari perspektif AI dan ML dalam Google Cloud Framework yang Dirancang dengan Baik.
- Untuk mengetahui lebih banyak tentang arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.
Kontributor
Penulis: Samantha He | Technical Writer
Kontributor lainnya:
- David Stiver | Group Product Manager
- Dean Hildebrand | Technical Director, Office of the CTO
- Kumar Dhanagopal | Cross-Product Solution Developer
- Sean Derrington | Group Outbound Product Manager, Storage