Dokumen ini memberikan panduan desain tentang cara memilih dan mengintegrasikan layanan penyimpananGoogle Cloud 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.
Dokumen ini membantu Anda menilai persyaratan kapasitas, latensi, dan throughput untuk membuat pilihan yang tepat guna menentukan solusi penyimpanan yang sesuai. Dokumen ini mengasumsikan bahwa Anda telah memilih platform komputasi yang memenuhi persyaratan workload Anda. Untuk beban kerja AI dan ML, sebaiknya Anda menggunakan Compute Engine atau Google Kubernetes Engine (GKE). Untuk informasi selengkapnya tentang cara memilih platform komputasi, lihat Menghosting 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 melakukan hal berikut:
- Mengupload dan menyerap data.
- Ubah data menjadi format yang benar sebelum Anda melatih model.
Untuk mengoptimalkan biaya penyimpanan dengan menggunakan beberapa kelas penyimpanan, sebaiknya Anda menggunakan fitur Autoclass Cloud Storage atau pengelolaan siklus proses objek.
Latih
Pada tahap pelatihan alur kerja ML, Anda melakukan hal berikut:
- Pengembangan model: mengembangkan model menggunakan notebook dan menerapkan trial and error berulang.
- Pelatihan model:
- Gunakan jumlah akselerator mesin berskala kecil hingga besar untuk membaca set data pelatihan berulang kali.
- Terapkan proses iteratif untuk pengembangan dan pelatihan model.
- Pemeriksaan titik henti sementara dan memulai ulang:
- Simpan status secara berkala selama pelatihan model dengan membuat checkpoint sehingga pelatihan dapat dimulai ulang setelah kegagalan node.
- Buat pilihan pemeriksaan titik berdasarkan pola I/O dan jumlah data yang perlu disimpan di titik pemeriksaan.
Untuk tahap pelatihan, sebaiknya gunakan opsi penyimpanan berikut:
- 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.
- Gunakan Managed Lustre Google Cloud 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 untuk akses metadata dan I/O acak.
- Persyaratan untuk melakukan checkpointing berperforma tinggi yang sering.
- Pengalaman seperti desktop dengan dukungan POSIX penuh untuk melihat dan mengelola data bagi pengguna Anda.
Untuk mengoptimalkan biaya, sebaiknya gunakan layanan penyimpanan yang sama di semua tahap pelatihan model.
Inferensikan
Pada tahap penayangan alur kerja ML, Anda melakukan hal berikut:
- Simpan model.
- Muat model ke instance yang menjalankan akselerator mesin saat memulai.
- 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:
- 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 pada model Anda.
- Prioritas untuk ketersediaan dan ketahanan tinggi bagi 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 pada model Anda.
- Workload Anda menggunakan jenis virtual machine (VM) yang didukung.
- Pipeline Anda dapat mengelola volume hanya baca untuk menyimpan model.
- 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.
Arsipkan
Pada tahap pengarsipan beban kerja ML, Anda mempertahankan data pelatihan dan model selama jangka waktu yang diperpanjang.
Untuk mengoptimalkan biaya penyimpanan dengan beberapa kelas penyimpanan, sebaiknya Anda menggunakan Autoclass Cloud Storage atau pengelolaan siklus proses objek.
Ringkasan proses desain
Untuk menentukan opsi penyimpanan yang sesuai untuk beban kerja AI dan ML di Google Cloud, Anda melakukan 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 yang cermat terhadap opsi penyimpanan, tetapi tidak mencakup seluruh siklus proses, proses, dan kemampuan ML.
Berikut adalah 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:
- Cloud Storage
- Managed Lustre
- Hyperdisk ML
- Memilih penyimpanan yang sesuai: pilih layanan, fitur, dan opsi desain penyimpanan berdasarkan karakteristik beban kerja 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. Untuk menentukan persyaratan penyimpanan, Anda harus mempertimbangkan faktor-faktor seperti platform compute, 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 beban kerja Anda terutama menunjukkan pola akses file acak atau berurutan?
- Apakah beban kerja AI dan ML Anda sensitif terhadap latensi I/O dan waktu untuk pertama kali mengirim byte (TTFB)?
- Apakah Anda memerlukan throughput baca dan tulis yang tinggi untuk satu klien, klien gabungan, atau keduanya?
- Berapa jumlah terbesar Unit Pemrosesan Grafis (GPU) atau Unit Pemrosesan Tensor (TPU) yang diperlukan oleh beban kerja pelatihan AI dan ML terbesar Anda?
Anda akan menggunakan jawaban atas 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 beban kerja AI dan ML di Google Cloud. Tabel ini mencakup tiga opsi penyimpanan yang dikelola Google yang difokuskan dalam dokumen ini untuk beban kerja AI dan ML Anda. Namun, jika Anda memiliki persyaratan khusus yang tidak tercakup dalam penawaran ini, pertimbangkan untuk menjelajahi Sycomp Storage, yang merupakan layanan penyimpanan yang dikelola partner dan 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 |
---|---|---|
Cloud Storage | Objek |
|
Managed Lustre | Sistem file paralel |
|
Hyperdisk ML | Blokir |
|
Penyimpanan Sycomp | Sistem file paralel |
|
Cloud Storage
Cloud Storage adalah layanan penyimpanan objek terkelola sepenuhnya yang cocok untuk beban kerja AI dan ML dalam skala apa pun. Cloud Storage sangat andal 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 diskalakan hingga exabyte 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: dapatkan manfaat dari berbagai class penyimpanan yang dirancang untuk mengoptimalkan biaya berdasarkan pola akses data Anda.
Cloud Storage unggul dalam skala dan efektivitas biaya, tetapi penting untuk mempertimbangkan latensi dan karakteristik I/O-nya. Latensi yang diharapkan berkisar dalam puluhan milidetik, yang lebih tinggi daripada opsi penyimpanan lainnya. Untuk memaksimalkan throughput, Anda perlu 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: memasang dan mengakses 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.
- Mengurangi waktu tidak ada aktivitas: mulai tugas pelatihan dengan cepat dengan mengakses data di Cloud Storage secara langsung, yang meminimalkan waktu tidak ada aktivitas untuk GPU dan TPU Anda.
- Throughput tinggi: manfaatkan skalabilitas dan performa bawaan Cloud Storage, yang dioptimalkan untuk beban kerja ML yang banyak melakukan operasi baca dengan GPU atau TPU.
- Cache file lokal klien: mempercepat pelatihan dengan cache lokal klien yang mempercepat pembacaan file berulang. Akselerasi ini dapat ditingkatkan lebih lanjut saat Anda menggunakannya dengan SSD lokal 6 TiB yang dipaketkan dengan jenis mesin A3.
Anywhere Cache adalah fitur Cloud Storage yang menyediakan cache baca zonal yang didukung 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 cache dan bandwidth secara otomatis untuk memberikan throughput tinggi, 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 dalam cache. Anywhere Cache secara otomatis menentukan 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 menjalankan tugas dibandingkan dengan layanan penyimpanan lainnya di Google Cloud karena dapat memberikan throughput gabungan yang sangat tinggi secara serentak ke banyak VM.
Hyperdisk ML memberikan manfaat berikut:
- Peningkatan skalabilitas dan penayangan model: menskalakan hingga ribuan
node serentak dan mencapai throughput gabungan yang tinggi, yang mengoptimalkan
waktu pemuatan dan penggunaan resource untuk beban kerja inferensi dengan
mode Kubernetes
ReadOnlyMany
. - Kepadatan berperforma 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 tidak ada aktivitas GPU yang lebih singkat, kemampuan multi-attach, dan penggabungan performa.
- Akses hanya baca serentak: mengurangi biaya dengan membagikan 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.
Managed Lustre
Managed Lustre adalah sistem file yang dikelola sepenuhnya di Google Cloud. Managed Lustre menyediakan instance zonal persisten yang di-build di sistem file Lustre DDN EXAScaler. Managed Lustre ideal untuk workload AI dan ML yang perlu memberikan 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 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 dengan mengirimkan data secara efisien ke node komputasi. Percepatan ini membantu mengurangi TCO untuk pelatihan model AI dan ML.
- TCO yang 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 membantu meningkatkan penggunaan resource.
- Penggunaan resource yang efisien: menggabungkan checkpointing dan pelatihan dalam satu instance. Penggunaan resource ini membantu memaksimalkan penggunaan throughput baca dan tulis yang efisien dalam satu sistem penyimpanan berperforma tinggi.
Penyimpanan Sycomp
Sycomp Storage yang Didukung oleh IBM Storage Scale (Sycomp Storage) adalah sistem sistem file paralel persisten berperforma tinggi yang didukung dan dikelola oleh Sycomp. Sycomp Storage dirancang untuk unggul dalam workload AI dan ML yang menuntut kapasitas besar, throughput tinggi, dan latensi rendah. Sycomp Storage menyediakan cache baca dan tulis bawaan sesuai permintaan untuk bucket Cloud Storage yang ada. Tidak seperti opsi penyimpanan yang dikelola Google sebelumnya, Penyimpanan Sycomp dikelola partner. Sycomp Storage tersedia di Cloud Marketplace melalui penawaran pribadi dari Sycomp.
Sycomp Storage memberikan manfaat berikut:
- Sesuai dengan POSIX: dukungan untuk standar POSIX, yang memberikan kompatibilitas dengan banyak aplikasi dan alat yang ada.
- Skalabilitas dan fleksibilitas: tingkatkan atau turunkan performa dan kapasitas secara terpisah. Sycomp Storage mendukung data skala PB dan ribuan VM serentak, dengan akses yang fleksibel menggunakan NFS dan klien Spectrum Scale bawaan.
- Performa yang dioptimalkan: memberikan throughput baca dan tulis hingga 1,2 TB/dtk dengan latensi sub-milidetik.
- Deployment dan pengelolaan yang disederhanakan: deploy menggunakan driver CSI untuk deployment GKE, integrasi Slurm untuk deployment Compute Engine, dan dukungan Terraform.
- Cloud Storage dan integrasi campuran: mengaktifkan cache on-demand bucket Cloud Storage atau data lokal. Penyimpanan Sycomp adalah satu-satunya sistem file di Google Cloud yang menawarkan manfaat ini. Saat Anda menggunakan Sycomp Storage, semua data Anda di Cloud Storage akan terus mempertahankan akses langsung, sehingga menghindari data lock-in.
Analisis komparatif
Tabel berikut menunjukkan kemampuan utama layanan penyimpanan di Google Cloud.
Cloud Storage | Hyperdisk ML | Managed Lustre | Penyimpanan Sycomp | |
---|---|---|---|---|
Kapasitas | Tidak ada batas bawah atau atas. | 4 GiB - 64 TiB | 18 TiB - 1 PiB | Menskalakan ke PB, yang ditentukan oleh jumlah disk yang Anda tambahkan. |
Penskalaan | Menskalakan secara otomatis berdasarkan penggunaan. | Peningkatan skala | Tidak skalabel | Menskalakan secara otomatis berdasarkan penggunaan dengan tingkat otomatis Cloud Storage. |
Berbagi |
|
Didukung | Dapat dipasang di beberapa VM Compute Engine dan cluster GKE. | Akses baca dan tulis serentak menggunakan VM yang menjalankan klien bawaan IBM Storage Scale dan VM yang menggunakan NFS. |
Opsi kunci enkripsi |
|
|
Google-owned and Google-managed encryption keys | Mengelola kunci enkripsi dengan IBM Security Guardium Key Lifecycle Manager (GKLM). |
Persistensi | Masa pakai bucket | Masa pakai disk | Masa pakai instance Managed Lustre. | Masa aktif Hyperdisk atau Persistent Disk. Scratch di SSD lokal. |
Ketersediaan |
|
Zonal | Zonal | Zonal |
Performa | Penskalaan otomatis kecepatan baca-tulis, dan redistribusi beban dinamis | Penyimpanan persisten Penskalaan dinamis | Penskalaan linear dengan kapasitas yang disediakan | Penskalaan linear dengan kapasitas yang disediakan |
Pengelolaan | Terkelola sepenuhnya | Memformat dan memasang secara manual | Terkelola sepenuhnya, sesuai dengan POSIX | Terkelola sepenuhnya oleh Sycomp, sesuai dengan POSIX |
Alat transfer data
Bagian ini menjelaskan opsi Anda untuk memindahkan data antarlayanan 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 checkpoint 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: otomatiskan 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 dengan aman dari lokasi sumber ke lokasi target dan melakukan transfer berkala data yang diubah. 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 informasi tentang cara merencanakan dan menerapkan transfer data ke Google Cloud, lihat Bermigrasi ke Google Cloud: Mentransfer set data besar.
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 berdampak signifikan pada performa, biaya, dan efisiensi operasional. Pendekatan hybrid atau dioptimalkan secara lokal memungkinkan Anda menyesuaikan pilihan penyimpanan dengan permintaan spesifik dari setiap tahap untuk workload AI dan ML. Namun, jika prioritas Anda adalah pengelolaan terpadu dan kemudahan operasi, pendekatan yang disederhanakan secara global yang menggunakan solusi konsisten di semua tahap dapat bermanfaat untuk workload dalam skala apa pun. Efektivitas pilihan penyimpanan bergantung pada properti set data, skalabilitas resource komputasi dan penyimpanan yang diperlukan, latensi, dan persyaratan beban kerja yang Anda tentukan sebelumnya.
Tab berikut memberikan ringkasan komparatif tentang kemampuan untuk Cloud Storage, Managed Lustre, dan Hyperdisk ML untuk workload AI dan ML.
Kapasitas penyimpanan
Tabel ini menyoroti kesesuaian setiap opsi penyimpanan berdasarkan kapasitas penyimpanan:
Persyaratan kapasitas pelatihan penyimpanan | Cloud Storage | Managed Lustre | Hyperdisk ML |
---|---|---|---|
Kurang dari 100 TiB | |||
Lebih dari 100 TiB |
Throughput
Tabel ini menyoroti kesesuaian setiap opsi penyimpanan berdasarkan persyaratan throughput:
Persyaratan throughput | Cloud Storage | Managed Lustre | Hyperdisk ML |
---|---|---|---|
Kurang dari 125 GB/s | |||
Kurang dari 1 TB/s | |||
Lebih dari 1 TB/dtk |
Latensi
Tabel ini menyoroti kesesuaian setiap opsi penyimpanan berdasarkan latensi untuk file kecil dan pembacaan acak:
Latensi (file kecil dan pembacaan acak) | Cloud Storage | Managed Lustre | Hyperdisk ML |
---|---|---|---|
Kurang dari 30 md | |||
Kurang dari 1 md |
Bagian berikut memberikan detail tentang tahap utama beban kerja AI dan ML serta faktor yang dapat memengaruhi pilihan penyimpanan Anda.
Persiapan
Tahap persiapan menetapkan fondasi untuk aplikasi AI dan ML Anda. Proses ini mencakup mengupload data mentah dari berbagai sumber ke lingkungan cloud Anda dan mengubah data menjadi format yang dapat digunakan untuk melatih model AI dan ML Anda. Proses ini mencakup tugas seperti pembersihan, pemrosesan, dan konversi jenis data untuk memastikan kompatibilitas dengan framework AI dan ML yang Anda pilih.
Cloud Storage sangat cocok untuk tahap persiapan karena skalabilitas, ketahanan, dan hemat biayanya, terutama untuk set data besar yang umum digunakan dalam AI. Cloud Storage menawarkan integrasi yang lancar dengan layananGoogle Cloud lainnya yang memungkinkan Anda memanfaatkan potensi pengoptimalan untuk pelatihan yang intensif data.
Selama fase persiapan data, Anda dapat mengatur ulang data ke dalam 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 pipeline, pengoptimalan pelatihan, atau keduanya.
Latih
Tahap pelatihan adalah inti pengembangan model, tempat model AI dan ML Anda mempelajari 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 yang perlu dipertimbangkan untuk memilih opsi penyimpanan yang sesuai untuk pemuatan dan pembuatan titik periksa data.
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 Anda. Sasaran Anda selama pemuatan data adalah melatih model dengan efisiensi maksimum, tetapi dengan biaya terendah.
Jika ukuran data pelatihan Anda diskalakan ke petabyte, data mungkin perlu dibaca ulang beberapa kali. Skala tersebut memerlukan pemrosesan intensif oleh GPU atau akselerator TPU. Namun, Anda perlu memastikan bahwa GPU dan TPU tidak menganggur, dan memastikan bahwa keduanya memproses data secara aktif. Jika tidak, Anda akan membayar akselerator yang tidak digunakan dan mahal 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: manakah dari opsi berikut yang paling tepat 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 sepenuhnya acak: node dapat membaca rentang apa pun dari file apa pun untuk membuat batch.
- Ukuran file: ukuran permintaan baca standar.
Cloud Storage untuk pemuatan data
Anda biasanya 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 yang sangat besar, dan Cloud Storage FUSE memungkinkan Anda mengakses data sebagai sistem file lokal. Cloud Storage FUSE mempercepat akses data selama pelatihan dengan menjaga data pelatihan tetap dekat dengan akselerator mesin, yang meningkatkan throughput.
Untuk workload yang memerlukan throughput lebih dari 1 TB/s, Anywhere Cache akan mempercepat kecepatan baca dengan meng-cache data dan menskalakan di luar kuota bandwidth regional. Untuk menilai apakah Anywhere Cache cocok untuk workload Anda, gunakan pembuat rekomendasi Anywhere Cache untuk menganalisis penggunaan dan penyimpanan data Anda.
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 akses metadata dan I/O acak.
- Anda memerlukan pengalaman seperti desktop dengan dukungan POSIX penuh untuk melihat dan mengelola data bagi pengguna.
Anda dapat menggunakan Managed Lustre sebagai cache berperforma tinggi di atas Cloud Storage untuk mempercepat beban kerja AI dan ML yang memerlukan throughput sangat tinggi dan operasi I/O latensi rendah dengan sistem file paralel yang dikelola 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 yang Dikelola GKE untuk mengisi ulang PersistentVolumesClaims dengan data dari Cloud Storage. Setelah pelatihan selesai, Anda dapat meminimalkan biaya penyimpanan jangka panjang dengan mengekspor data ke class Cloud Storage yang lebih murah.
Pembuatan titik pemeriksaan dan pemulihan
Untuk pembuatan checkpoint dan pemulihan, tugas pelatihan perlu menyimpan statusnya secara berkala agar dapat pulih dengan cepat dari kegagalan instance. Saat kegagalan terjadi, tugas harus dimulai ulang, menyimpan checkpoint terbaru, lalu melanjutkan pelatihan. Mekanisme yang tepat yang digunakan untuk membuat dan menyerap checkpoint biasanya spesifik untuk framework. Untuk mempelajari checkpoint dan teknik pengoptimalan 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 sebagian besar terdiri dari operasi tulis, beberapa operasi hapus, dan, idealnya, operasi baca yang jarang terjadi saat terjadi kegagalan.
Untuk mengoptimalkan pembuatan checkpoint dan memulihkan performa, 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 pemeriksaan: seberapa sering model Anda menyimpan pemeriksaan. Menyimpan secara rutin memberikan toleransi error 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 seperti ukuran checkpoint, performa penyimpanan, dan bandwidth jaringan.
Cloud Storage untuk pembuatan checkpoint
Anda harus memilih Cloud Storage untuk pembuatan checkpoint jika salah satu kondisi berikut berlaku:
- Beban kerja pelatihan Anda menggunakan Cloud Storage FUSE.
- Anda memprioritaskan ketahanan data dan ketersediaan tinggi daripada performa penyimpanan.
Untuk meningkatkan performa pembuatan checkpoint, gunakan Cloud Storage FUSE dengan namespace hierarkis yang diaktifkan untuk memanfaatkan operasi penggantian nama atomik yang cepat dan menyimpan checkpoint secara asinkron. Untuk mencegah eksposur informasi sensitif yang tidak disengaja dari set data pelatihan selama penayangan, Anda harus menyimpan checkpoint di bucket Cloud Storage terpisah. Untuk membantu mengurangi latensi penulisan di akhir untuk upload yang terhenti, Cloud Storage FUSE akan mencoba lagi setelah 10 detik.
Managed Lustre untuk checkpoint
Anda harus memilih Managed Lustre untuk checkpointing jika salah satu kondisi berikut berlaku:
- Workload pelatihan Anda sudah menggunakan Managed Lustre untuk pemuatan data.
- Anda memiliki persyaratan untuk melakukan checkpointing berperforma tinggi yang sering.
Untuk memaksimalkan penggunaan resource dan meminimalkan waktu tidak ada aktivitas akselerator, gunakan Managed Lustre untuk pelatihan dan checkpointing. Managed Lustre dapat mencapai operasi tulis checkpoint yang cepat dan 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.
Inferensikan
Saat Anda menayangkan model, yang juga dikenal sebagai inferensi, pola I/O utama hanya dapat dibaca untuk memuat model ke dalam memori GPU atau TPU. Sasaran Anda pada tahap penayangan adalah menjalankan model dalam produksi. Model ini jauh lebih kecil daripada data pelatihan, yang berarti Anda dapat mereplikasi dan menskalakan model di beberapa instance. Saat menayangkan 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 jumlah besar melalui model (misalnya, set data ilmiah). Untuk menjalankan data dalam volume besar, pilih opsi penyimpanan yang dapat meminimalkan waktu tidak ada aktivitas GPU atau TPU selama analisis set data, dan gunakan lokasi persisten untuk menyimpan hasil inferensi.
Waktu pemuatan model secara langsung memengaruhi waktu tidak ada aktivitas akselerator, yang menimbulkan biaya yang signifikan. Peningkatan waktu pemuatan model per node dapat diperkuat 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 mengupdate model. Pemuatan dan pemuatan ulang yang sering akan menghabiskan resource komputasi dan meningkatkan latensi.
- Jumlah node penyaluran: jumlah node yang akan menyalurkan model Anda. Node yang lebih banyak umumnya mengurangi latensi dan meningkatkan throughput, tetapi juga meningkatkan biaya infrastruktur.
Cloud Storage untuk tahap penayangan
Anda harus memilih Cloud Storage untuk menayangkan model jika salah satu kondisi berikut berlaku:
- Anda memerlukan solusi yang hemat biaya untuk lingkungan dinamis dengan jumlah node inferensi yang dapat berubah.
- Anda jarang memperbarui model.
- Anda memprioritaskan ketersediaan dan ketahanan tinggi untuk model Anda, bahkan saat terjadi gangguan regional.
Dengan arsitektur multi-region atau dual-region, Cloud Storage memberikan ketersediaan tinggi dan melindungi beban kerja Anda dari kegagalan zonal dan regional. Untuk mempercepat pemuatan model, Anda dapat menggunakan Cloud Storage FUSE dengan download paralel diaktifkan sehingga bagian model diambil secara paralel.
Untuk mencapai penayangan model dengan throughput lebih dari 1 TB/s, atau untuk deployment yang melebihi seratus node penayangan, gunakan Anywhere Cache dengan bucket multi-region. Kombinasi ini memberikan 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 memperbarui model.
- Workload Anda menggunakan jenis VM yang didukung.
- Pipeline Anda dapat mengelola volume hanya baca untuk menyimpan model.
Optimalkan 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 pada skala apa pun.
Managed Lustre untuk penayangan
Anda harus memilih Managed Lustre untuk menayangkan model jika salah satu kondisi berikut berlaku:
- Beban kerja pelatihan dan checkpointing 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 checkpointing, Managed Lustre dapat menjadi opsi hemat biaya dan berperforma tinggi untuk menayangkan model Anda. Lustre Terkelola menawarkan throughput per VM yang tinggi dan throughput cluster gabungan yang membantu mengurangi waktu pemuatan model. Anda dapat menggunakan Managed Lustre untuk sejumlah VM aktif.
Arsipkan
Tahap pengarsipan memiliki pola I/O "tulis sekali, baca jarang". Tujuan Anda adalah menyimpan berbagai kumpulan data pelatihan dan berbagai versi model yang Anda buat. Anda dapat menggunakan versi inkremental data dan model ini untuk tujuan pencadangan dan disaster recovery. 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 ekstrem, skala yang luas, dan biaya yang rendah, opsiGoogle Cloud 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: Penyimpanan standar
- Akses data bulanan: Nearline Storage
- Akses data kuartalan: Coldline Storage
- Akses data tahunan: Penyimpanan arsip
Dengan menggunakan pengelolaan siklus proses objek, Anda dapat membuat kebijakan untuk otomatis memindahkan data ke class penyimpanan jangka panjang atau menghapus data berdasarkan kriteria tertentu. Jika tidak yakin berapa sering Anda mengakses data, Anda dapat menggunakan fitur Autoclass untuk memindahkan data antar-class penyimpanan secara otomatis berdasarkan pola akses Anda.
Langkah berikutnya
Untuk informasi selengkapnya tentang opsi penyimpanan serta workload AI dan ML, lihat referensi berikut:
- Pelajari cara Membuat instance Lustre Terkelola.
- Pelajari lebih lanjut cara mengoptimalkan workload AI dan ML dengan Cloud Storage FUSE.
- Pelajari perspektif AI dan ML di Google Cloud Framework dengan Arsitektur yang 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 | Developer Solusi Lintas Produk
- Sean Derrington | Group Outbound Product Manager, Storage