Mendesain penyimpanan untuk beban kerja AI dan ML di Google Cloud

Last reviewed 2024-03-20 UTC

Saat memilih layanan penyimpanan Google Cloud untuk beban kerja kecerdasan buatan (AI) dan machine learning (ML), Anda harus berhati-hati untuk memilih kombinasi opsi penyimpanan yang benar untuk setiap tugas tertentu. Kebutuhan untuk pemilihan yang cermat ini berlaku saat Anda mengupload set data, melatih dan menyesuaikan model, menempatkan model ke dalam produksi, atau menyimpan set data dan model dalam arsip. Singkatnya, Anda perlu memilih layanan penyimpanan terbaik yang memberikan latensi, skala, dan biaya yang sesuai untuk setiap tahap beban kerja AI dan ML.

Untuk membantu Anda membuat pilihan yang tepat, dokumen ini memberikan panduan desain tentang cara menggunakan dan mengintegrasikan berbagai opsi penyimpanan yang ditawarkan oleh Google Cloud untuk workload AI dan ML utama.

Gambar 1 menunjukkan ringkasan pilihan penyimpanan utama. Seperti yang ditunjukkan dalam diagram, Anda biasanya memilih Cloud Storage jika memiliki ukuran file yang lebih besar, operasi input dan output per detik (IOPS) yang lebih rendah, atau latensi yang lebih tinggi. Namun, jika Anda memerlukan IOPS yang lebih tinggi, ukuran file yang lebih kecil, atau latensi yang lebih rendah, pilih Filestore.

Gambar 1: Pertimbangan penyimpanan AI dan ML utama

Pilih Cloud Storage jika Anda memiliki ukuran file yang lebih besar, IOPS yang lebih rendah, atau latensi yang lebih tinggi. Pilih Filestore jika Anda memerlukan IOPS yang lebih tinggi, ukuran file yang lebih kecil, atau latensi yang lebih rendah.

Ringkasan tahap workload AI dan ML

Workload AI dan ML terdiri dari empat tahap utama: menyiapkan, melatih, menayangkan, dan mengarsipkan. Berikut adalah empat waktu dalam siklus proses beban kerja AI dan ML saat Anda perlu membuat keputusan tentang opsi penyimpanan mana yang harus dipilih untuk digunakan. Dalam sebagian besar kasus, sebaiknya Anda terus menggunakan pilihan penyimpanan yang sama yang Anda pilih di tahap persiapan untuk tahap lainnya. Dengan mengikuti rekomendasi ini, Anda dapat mengurangi penyalinan set data di antara layanan penyimpanan. Namun, ada beberapa pengecualian untuk aturan umum ini, yang akan dijelaskan nanti dalam panduan ini.

Beberapa solusi penyimpanan berfungsi lebih baik daripada yang lain di setiap tahap dan mungkin perlu digabungkan dengan pilihan penyimpanan tambahan untuk mendapatkan hasil terbaik. Efektivitas pilihan penyimpanan bergantung pada properti set data, skala resource komputasi dan penyimpanan yang diperlukan, latensi, dan faktor lainnya. Tabel berikut menjelaskan tahap dan ringkasan singkat tentang pilihan penyimpanan yang direkomendasikan untuk setiap tahap. Untuk representasi visual tabel ini dan detail tambahan, lihat hierarki keputusan.

Tabel 1: Rekomendasi penyimpanan untuk tahap dan langkah dalam workload AI dan ML
Tahap Langkah Rekomendasi penyimpanan

Persiapan

Persiapan data

  • Upload dan serap data Anda.
  • Transformasikan data ke dalam format yang benar sebelum melatih model.

Cloud Storage

  • File besar (50 MB atau lebih besar) yang dapat mentolerir latensi penyimpanan yang lebih tinggi (puluhan milidetik).

Filestore Zonal

  • Set data yang lebih kecil dengan file yang lebih kecil (kurang dari 50 MB) dan latensi penyimpanan yang lebih rendah (~ 1 milidetik).

Kereta

  1. Pengembangan model
    • Kembangkan model Anda menggunakan notebook dan terapkan uji coba iteratif.
  2. Pelatihan model
    • Gunakan jumlah unit pemrosesan grafis (Cloud GPU) atau Tensor Processing Unit (Cloud TPU) dalam skala kecil hingga besar untuk membaca set data pelatihan berulang kali.
    • Terapkan proses iteratif untuk pengembangan dan pelatihan model.

Cloud Storage

  • Jika Anda memilih Cloud Storage di tahap persiapan, sebaiknya latih data Anda di Cloud Storage.

Cloud Storage dengan SSD Lokal atau Filestore

  • Jika Anda memilih Cloud Storage di tahap persiapan, tetapi perlu mendukung permintaan I/O kecil atau file kecil, Anda dapat melengkapi tugas pelatihan. Untuk melakukannya, pindahkan sebagian data Anda dari Cloud Storage ke SSD Lokal atau Filestore Zonal.

Filestore

  • Jika Anda memilih Filestore di tahap persiapan, sebaiknya latih data Anda di Filestore.
  • Buat cache SSD Lokal untuk melengkapi tugas pelatihan Filestore Anda.
  1. Pemeriksaan dan mulai ulang
    • Simpan status secara berkala selama pelatihan model dengan membuat checkpoint sehingga pelatihan dapat dimulai ulang setelah kegagalan node.
    • Buat pilihan ini berdasarkan pola I/O dan jumlah data yang perlu disimpan di checkpoint.

Cloud Storage

  • Jika Anda memilih Cloud Storage di tahap persiapan, sebaiknya gunakan Cloud Storage untuk pembuatan titik pemeriksaan dan mulai ulang.
  • Baik untuk throughput, dan workload yang memerlukan banyak thread.

Filestore Zonal

  • Jika Anda memilih Filestore di tahap persiapan, sebaiknya gunakan Filestore untuk pemeriksaan titik henti sementara dan mulai ulang.
  • Cocok untuk latensi, throughput per klien yang tinggi, dan jumlah thread yang rendah.

Menayangkan

  • Simpan model.
  • Muat model ke instance yang menjalankan Cloud GPU atau Cloud TPU saat memulai.
  • Menyimpan hasil inferensi model, seperti gambar yang dihasilkan.
  • Secara opsional, simpan dan muat set data yang digunakan untuk inferensi model.

Cloud Storage

  • Jika Anda melatih model di Cloud Storage, sebaiknya gunakan Cloud Storage untuk menayangkan model Anda.
  • Simpan konten yang dihasilkan oleh model Anda di Cloud Storage.

Filestore

  • Jika Anda melatih model di Filestore, sebaiknya gunakan Filestore untuk menayangkan model Anda.
  • Jika Anda memerlukan ketahanan dan latensi rendah saat membuat file kecil, pilih Filestore Zonal (zonal) atau Filestore Enterprise (regional).

Arsipkan

  • Mempertahankan data pelatihan dan model selama jangka waktu yang lama.

Cloud Storage

  • Optimalkan biaya penyimpanan dengan beberapa kelas penyimpanan, Autoclass, atau pengelolaan siklus proses objek.
  • Jika menggunakan Filestore, Anda dapat menggunakan snapshot dan cadangan Filestore, atau menyalin data ke Cloud Storage.

Untuk mengetahui detail selengkapnya tentang asumsi yang mendasari tabel ini, lihat bagian berikut:

Kriteria

Untuk mempersempit pilihan opsi penyimpanan yang akan digunakan untuk beban kerja AI dan ML, mulailah dengan menjawab pertanyaan-pertanyaan berikut:

  • Apakah ukuran permintaan I/O AI dan ML serta ukuran file Anda berukuran kecil, sedang, atau besar?
  • Apakah beban kerja AI dan ML Anda sensitif terhadap latensi I/O dan time to first byte (TTFB)?
  • Apakah Anda memerlukan throughput baca dan tulis yang tinggi untuk satu klien, klien agregat, atau keduanya?
  • Berapa jumlah Cloud GPU atau Cloud TPU terbesar yang diperlukan oleh workload pelatihan AI dan ML terbesar Anda?

Selain menjawab pertanyaan sebelumnya, Anda juga perlu mengetahui opsi komputasi dan akselerator yang dapat Anda pilih untuk membantu mengoptimalkan beban kerja AI dan ML.

Pertimbangan platform komputasi

Google Cloud mendukung tiga metode utama untuk menjalankan beban kerja AI dan ML:

Untuk Compute Engine dan GKE, sebaiknya gunakan Cluster Toolkit untuk men-deploy cluster siap pakai dan berulang yang mengikuti praktik terbaik Google Cloud.

Pertimbangan akselerator

Saat memilih pilihan penyimpanan untuk workload AI dan ML, Anda juga perlu memilih opsi pemrosesan akselerator yang sesuai untuk tugas Anda. Google Cloud mendukung dua pilihan akselerator: GPU NVIDIA Cloud dan TPU Google Cloud yang dikembangkan secara khusus. Kedua jenis akselerator adalah sirkuit terintegrasi khusus aplikasi (ASIC) yang digunakan untuk memproses beban kerja machine learning secara lebih efisien daripada prosesor standar.

Ada beberapa perbedaan penyimpanan penting antara Cloud GPU dan akselerator Cloud TPU. Instance yang menggunakan Cloud GPU mendukung SSD Lokal dengan throughput penyimpanan jarak jauh hingga 200 Gbps. Node dan VM Cloud TPU tidak mendukung SSD Lokal, dan hanya mengandalkan akses penyimpanan jarak jauh.

Untuk mengetahui informasi selengkapnya tentang jenis mesin yang dioptimalkan akselerator, lihat Kelompok mesin yang dioptimalkan akselerator. Untuk mengetahui informasi selengkapnya tentang Cloud GPU, lihat Platform Cloud GPU. Untuk mengetahui informasi selengkapnya tentang Cloud TPU, lihat Pengantar Cloud TPU. Untuk informasi selengkapnya tentang cara memilih antara Cloud TPU dan Cloud GPU, lihat Kapan harus menggunakan Cloud TPU.

Opsi penyimpanan

Seperti yang telah diringkas sebelumnya dalam Tabel 1, gunakan penyimpanan objek atau penyimpanan file dengan beban kerja AI dan ML Anda, lalu lengkapi opsi penyimpanan ini dengan block storage. Gambar 2 menunjukkan tiga opsi umum yang dapat Anda pertimbangkan saat memilih pilihan penyimpanan awal untuk beban kerja AI dan ML: Cloud Storage, Filestore, dan Google Cloud NetApp Volumes.

Gambar 2: Layanan penyimpanan yang sesuai untuk AI dan ML yang ditawarkan oleh Google Cloud

Tiga opsi yang dapat Anda pertimbangkan saat memilih pilihan penyimpanan awal untuk workload AI dan ML adalah Cloud Storage, Filestore, dan NetApp Volume.

Jika Anda memerlukan penyimpanan objek, pilih Cloud Storage. Cloud Storage menyediakan hal berikut:

  • Lokasi penyimpanan untuk data dan objek tidak terstruktur.
  • API, seperti Cloud Storage JSON API, untuk mengakses bucket penyimpanan Anda.
  • Penyimpanan persisten untuk menyimpan data Anda.
  • Throughput terabyte per detik, tetapi memerlukan latensi penyimpanan yang lebih tinggi.

Jika memerlukan penyimpanan file, Anda memiliki dua pilihan–Filestore dan NetApp Volumes–yang menawarkan hal berikut:

  • Filestore
    • Penyimpanan file berperforma tinggi untuk perusahaan berdasarkan NFS.
    • Penyimpanan persisten untuk menyimpan data Anda.
    • Latensi penyimpanan rendah, dan throughput 26 Gbps.
  • NetApp Volumes
    • Penyimpanan file yang kompatibel dengan NFS dan Server Message Block (SMB).
    • Dapat dikelola dengan opsi untuk menggunakan alat software penyimpanan NetApp ONTAP.
    • Penyimpanan persisten untuk menyimpan data Anda.
    • Throughput 4,5 Gbps.

Gunakan opsi penyimpanan berikut sebagai pilihan pertama Anda untuk beban kerja AI dan ML:

Gunakan opsi penyimpanan berikut untuk melengkapi beban kerja AI dan ML Anda:

Jika perlu mentransfer data antar-opsi penyimpanan ini, Anda dapat menggunakan alat transfer data.

Cloud Storage

Cloud Storage adalah layanan penyimpanan objek terkelola sepenuhnya yang berfokus pada persiapan data, pelatihan model AI, penayangan data, pencadangan, dan pengarsipan untuk data tidak terstruktur. Beberapa manfaat Cloud Storage mencakup hal-hal berikut:

  • Kapasitas penyimpanan tak terbatas yang diskalakan hingga exabyte secara global
  • Performa throughput ultra-tinggi
  • Opsi penyimpanan regional dan dual-region untuk workload AI dan ML

Cloud Storage menskalakan throughput hingga terabyte per detik dan seterusnya, tetapi memiliki latensi yang relatif lebih tinggi (puluhan milidetik) daripada Filestore atau sistem file lokal. Throughput setiap thread dibatasi hingga sekitar 100-200 MB per detik, yang berarti throughput tinggi hanya dapat dicapai dengan menggunakan ratusan hingga ribuan thread individual. Selain itu, throughput tinggi juga memerlukan penggunaan file besar dan permintaan I/O yang besar.

Cloud Storage mendukung library klien dalam berbagai bahasa pemrograman, tetapi juga mendukung Cloud Storage FUSE. Cloud Storage FUSE memungkinkan Anda memasang bucket Cloud Storage ke sistem file lokal Anda. Cloud Storage FUSE memungkinkan aplikasi Anda menggunakan API sistem file standar untuk membaca dari bucket atau menulis ke bucket. Anda dapat menyimpan dan mengakses data, model, dan titik henti sementara pelatihan dengan skala, keterjangkauan, dan performa Cloud Storage.

Untuk mempelajari Cloud Storage lebih lanjut, gunakan referensi berikut:

Filestore

Filestore adalah layanan penyimpanan berbasis file NFS yang terkelola sepenuhnya. Tingkat layanan Filestore yang digunakan untuk beban kerja AI dan ML mencakup hal-hal berikut:

  • Tingkat perusahaan: Digunakan untuk workload penting yang memerlukan ketersediaan regional.
  • Tingkat zona: Digunakan untuk aplikasi berperforma tinggi yang memerlukan ketersediaan zona dengan persyaratan performa throughput dan IOPS tinggi.
  • Tingkat dasar: Digunakan untuk berbagi file, pengembangan software, hosting web, dan workload AI dan ML dasar.

Filestore memberikan performa I/O latensi rendah. Ini adalah pilihan yang baik untuk set data dengan persyaratan akses I/O kecil atau file kecil. Namun, Filestore juga dapat menangani kasus penggunaan file besar atau I/O besar sesuai kebutuhan. Filestore dapat diskalakan hingga ukuran sekitar 100 TB. Untuk beban kerja pelatihan AI yang membaca data berulang kali, Anda dapat meningkatkan throughput baca dengan menggunakan FS-Cache dengan SSD Lokal.

Untuk informasi selengkapnya tentang Filestore, lihat ringkasan Filestore. Untuk mengetahui informasi selengkapnya tentang tingkat layanan Filestore, lihat Tingkat layanan. Untuk mengetahui informasi selengkapnya tentang performa Filestore, lihat Mengoptimalkan dan menguji performa instance.

Google Cloud NetApp Volumes

NetApp Volumes adalah layanan terkelola sepenuhnya dengan fitur pengelolaan data tingkat lanjut yang mendukung lingkungan NFS, SMB, dan multi-protokol. NetApp Volumes mendukung latensi rendah, volume multi-tebibyte, dan throughput gigabyte per detik.

Untuk mengetahui informasi selengkapnya tentang NetApp Volumes, lihat Apa yang dimaksud dengan Google Cloud NetApp Volumes? Untuk mengetahui informasi selengkapnya tentang performa NetApp Volumes, lihat Performa yang diharapkan.

Block storage

Setelah memilih pilihan penyimpanan utama, Anda dapat menggunakan block storage untuk melengkapi performa, mentransfer data antar-opsi penyimpanan, dan memanfaatkan operasi latensi rendah. Anda memiliki dua opsi penyimpanan dengan block storage: SSD Lokal dan Persistent Disk.

SSD Lokal

SSD lokal menyediakan penyimpanan lokal langsung ke VM atau penampung. Sebagian besar jenis mesin Google Cloud yang berisi GPU Cloud menyertakan sejumlah SSD Lokal. Karena disk SSD Lokal terpasang secara fisik ke GPU Cloud, disk tersebut memberikan akses latensi rendah dengan potensi jutaan IOPS. Sebaliknya, instance berbasis Cloud TPU tidak menyertakan SSD Lokal.

Meskipun SSD Lokal memberikan performa tinggi, setiap instance penyimpanan bersifat sementara. Dengan demikian, data yang disimpan di drive SSD Lokal akan hilang saat Anda menghentikan atau menghapus instance. Karena sifat SSD Lokal yang bersifat efemeral, pertimbangkan jenis penyimpanan lainnya jika data Anda memerlukan ketahanan yang lebih baik.

Namun, jika jumlah data pelatihan sangat kecil, biasanya data pelatihan akan disalin dari Cloud Storage ke SSD Lokal GPU. Alasannya adalah SSD Lokal memberikan latensi I/O yang lebih rendah dan mengurangi waktu pelatihan.

Untuk informasi selengkapnya tentang SSD Lokal, lihat Tentang SSD Lokal. Untuk mengetahui informasi selengkapnya tentang jumlah kapasitas SSD Lokal yang tersedia dengan jenis instance Cloud GPU, lihat Platform GPU.

Persistent Disk

Persistent Disk adalah layanan penyimpanan blok jaringan dengan rangkaian lengkap kemampuan pengelolaan dan persistensi data. Selain penggunaannya sebagai boot disk, Anda dapat menggunakan Persistent Disk dengan workload AI, seperti penyimpanan awal. Persistent Disk tersedia dalam opsi berikut:

  • Standar, yang menyediakan block storage yang efisien dan andal.
  • Seimbang, yang menyediakan block storage yang hemat biaya dan andal.
  • SSD, yang menyediakan block storage yang cepat dan andal.
  • Extreme, yang menyediakan opsi block storage berperforma tertinggi dengan IOPS yang dapat disesuaikan.

Untuk mengetahui informasi selengkapnya tentang Persistent Disk, lihat Persistent Disk.

Alat transfer data

Saat Anda melakukan tugas AI dan ML, terkadang Anda perlu menyalin 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 juga dapat melakukan sebagian besar tugas di Filestore, lalu memindahkan data dan model ke Cloud Storage untuk tujuan pengarsipan. Bagian ini membahas opsi Anda untuk memindahkan data antarlayanan penyimpanan di Google Cloud.

Storage Transfer Service

Dengan Storage Transfer Service, Anda dapat mentransfer data antara Cloud Storage, Filestore, dan NetApp Volumes. Layanan yang sepenuhnya dikelola ini juga memungkinkan Anda menyalin data antara repositori penyimpanan file dan penyimpanan objek lokal, penyimpanan Google Cloud, dan dari penyedia cloud lainnya. Storage Transfer Service memungkinkan Anda menyalin data dengan aman dari lokasi sumber ke lokasi target, serta melakukan transfer berkala data yang diubah. Fitur ini juga menyediakan validasi integritas data, percobaan ulang otomatis, dan load balancing.

Untuk informasi selengkapnya tentang Storage Transfer Service, lihat Apa itu Storage Transfer Service?

Antarmuka command line

Saat memindahkan data antara Filestore dan Cloud Storage, Anda harus menggunakan Google Cloud CLI. Dengan gcloud CLI, Anda dapat membuat dan mengelola bucket serta objek Cloud Storage dengan throughput yang optimal dan rangkaian perintah lengkap.

Memetakan pilihan penyimpanan Anda ke tahap AI dan ML

Bagian ini memperluas ringkasan yang diberikan dalam Tabel 1 untuk mempelajari rekomendasi dan panduan khusus untuk setiap tahap beban kerja AI dan ML. Tujuannya adalah untuk membantu Anda memahami alasan pilihan ini dan memilih opsi penyimpanan terbaik untuk setiap tahap AI dan ML. Analisis ini menghasilkan tiga rekomendasi utama yang dibahas di bagian, Rekomendasi penyimpanan untuk AI dan ML.

Gambar berikut memberikan hierarki keputusan yang menunjukkan opsi penyimpanan yang direkomendasikan untuk empat tahap utama beban kerja AI dan ML. Diagram ini diikuti dengan penjelasan mendetail tentang setiap tahap dan pilihan yang dapat Anda buat di setiap tahap.

Gambar 3: Pilihan penyimpanan untuk setiap tahap AI dan ML

Hierarki keputusan yang menunjukkan opsi penyimpanan yang direkomendasikan untuk empat tahap utama beban kerja AI dan ML.

Persiapan

Pada tahap awal ini, Anda harus memilih apakah ingin menggunakan Cloud Storage atau Filestore sebagai sumber kebenaran persisten untuk data Anda. Anda juga dapat memilih pengoptimalan potensial untuk pelatihan yang intensif data. Pahami bahwa tim yang berbeda di organisasi Anda dapat memiliki beragam jenis set data dan beban kerja yang dapat menyebabkan tim tersebut membuat keputusan penyimpanan yang berbeda. Untuk mengakomodasi kebutuhan yang beragam ini, Anda dapat menggabungkan dan menyesuaikan pilihan penyimpanan antara Cloud Storage dan Filestore.

Cloud Storage untuk tahap persiapan

  • Beban kerja Anda berisi file besar berukuran 50 MB atau lebih.
  • Beban kerja Anda memerlukan IOPS yang lebih rendah.
  • Workload Anda dapat mentoleransi latensi penyimpanan yang lebih tinggi dalam puluhan milidetik.

  • Anda perlu mendapatkan akses ke set data melalui Cloud Storage API, atau Cloud Storage FUSE dan sebagian API file.

Untuk mengoptimalkan beban kerja di Cloud Storage, Anda dapat memilih penyimpanan regional dan menempatkan bucket di region yang sama dengan resource komputasi Anda. Namun, jika Anda memerlukan keandalan yang lebih tinggi, atau jika menggunakan akselerator yang berada di dua region yang berbeda, sebaiknya pilih penyimpanan region ganda.

Filestore untuk tahap persiapan

Anda harus memilih Filestore untuk menyiapkan data jika salah satu kondisi berikut berlaku:

  • Beban kerja Anda berisi ukuran file yang lebih kecil, kurang dari 50 MB.
  • Beban kerja Anda memerlukan IOPS yang lebih tinggi.
  • Beban kerja Anda memerlukan latensi yang lebih rendah, kurang dari 1 milidetik, untuk memenuhi persyaratan penyimpanan untuk akses metadata dan I/O acak.
  • Pengguna Anda memerlukan pengalaman seperti desktop dengan dukungan POSIX penuh untuk melihat dan mengelola data.
  • Pengguna Anda perlu melakukan tugas lain, seperti pengembangan software.

Pertimbangan lainnya untuk tahap persiapan

Jika Anda merasa kesulitan memilih opsi pada tahap ini, pertimbangkan poin-poin berikut untuk membantu Anda mengambil keputusan:

  • Jika Anda ingin menggunakan framework AI dan ML lainnya, seperti Dataflow, Spark, atau BigQuery pada set data, Cloud Storage adalah pilihan yang logis karena integrasi kustom yang dimilikinya dengan jenis framework ini.
  • Filestore memiliki kapasitas maksimum sekitar 100 TB. Jika Anda perlu melatih model dengan set data yang lebih besar dari ini, atau jika Anda tidak dapat membagi set menjadi beberapa instance 100 TB, Cloud Storage adalah opsi yang lebih baik.

Selama fase persiapan data, banyak pengguna mengatur ulang data mereka menjadi beberapa bagian besar untuk meningkatkan efisiensi akses dan menghindari permintaan baca acak. Untuk lebih mengurangi persyaratan performa I/O pada sistem penyimpanan, banyak pengguna menggunakan pipeline, pengoptimalan pelatihan untuk meningkatkan jumlah thread I/O, atau keduanya.

Latih

Pada tahap pelatihan, Anda biasanya menggunakan kembali opsi penyimpanan utama yang dipilih untuk tahap persiapan. Jika pilihan penyimpanan utama Anda tidak dapat menangani workload pelatihan saja, Anda mungkin perlu melengkapi penyimpanan utama. Anda dapat menambahkan penyimpanan tambahan sesuai kebutuhan, seperti SSD Lokal, untuk menyeimbangkan workload.

Selain memberikan rekomendasi untuk menggunakan Cloud Storage atau Filestore pada tahap ini, bagian ini juga memberikan detail selengkapnya tentang rekomendasi ini. Detailnya mencakup hal berikut:

  • Panduan untuk ukuran file dan ukuran permintaan
  • Saran tentang kapan harus melengkapi pilihan penyimpanan utama Anda
  • Penjelasan detail penerapan untuk dua beban kerja utama pada tahap ini—pemuatan data, serta pembuatan checkpoint dan mulai ulang

Cloud Storage untuk tahap pelatihan

Alasan utama untuk memilih Cloud Storage saat melatih data Anda meliputi hal berikut:

  • Jika Anda menggunakan Cloud Storage saat menyiapkan data, sebaiknya latih data Anda di Cloud Storage.
  • Cloud Storage adalah pilihan tepat untuk throughput, workload yang tidak memerlukan throughput VM tunggal yang tinggi, atau workload yang menggunakan banyak thread untuk meningkatkan throughput sesuai kebutuhan.

Cloud Storage dengan SSD Lokal atau Filestore untuk tahap pelatihan

Alasan utama untuk memilih Cloud Storage dengan SSD Lokal atau Filestore saat melatih data Anda adalah saat Anda perlu mendukung permintaan I/O kecil atau file kecil. Dalam hal ini, Anda dapat melengkapi tugas pelatihan Cloud Storage dengan memindahkan sebagian data ke SSD Lokal atau Filestore Zonal.

Filestore untuk tahap pelatihan

Alasan utama untuk memilih Filestore saat melatih data Anda meliputi hal berikut:

  • Jika menggunakan Filestore saat menyiapkan data, dalam sebagian besar kasus, Anda harus terus melatih data di Filestore.
  • Filestore adalah pilihan yang baik untuk latensi rendah, throughput per klien yang tinggi, dan aplikasi yang menggunakan sedikit thread, tetapi tetap memerlukan performa tinggi.
  • Jika Anda perlu melengkapi tugas pelatihan di Filestore, pertimbangkan untuk membuat Cache SSD lokal sesuai kebutuhan.

Ukuran file dan ukuran permintaan

Setelah set data siap untuk pelatihan, ada dua opsi utama yang dapat membantu Anda mengevaluasi berbagai opsi penyimpanan.

Set data yang berisi file besar dan diakses dengan ukuran permintaan besar

Dalam opsi ini, tugas pelatihan terutama terdiri dari file yang lebih besar berukuran 50 MB atau lebih. Tugas pelatihan menyerap file dengan ukuran 1 MB hingga 16 MB per permintaan. Kami umumnya merekomendasikan Cloud Storage dengan Cloud Storage FUSE untuk opsi ini karena file cukup besar sehingga Cloud Storage harus dapat terus menyediakan akselerator. Perlu diingat bahwa Anda mungkin memerlukan ratusan hingga ribuan thread untuk mencapai performa maksimum dengan opsi ini.

Namun, jika Anda memerlukan POSIX API lengkap untuk aplikasi lain, atau beban kerja Anda tidak sesuai dengan jumlah thread yang diperlukan, maka Filestore adalah alternatif yang baik.

Set data yang berisi file berukuran kecil hingga sedang, atau diakses dengan ukuran permintaan kecil

Dengan opsi ini, Anda dapat mengklasifikasikan tugas pelatihan dengan salah satu dari dua cara berikut:

  • Banyak file berukuran kecil hingga sedang yang kurang dari 50 MB.
  • Set data dengan file yang lebih besar, tetapi data dibaca secara berurutan atau acak dengan ukuran permintaan baca yang relatif kecil (misalnya, kurang dari 1 MB). Contoh kasus penggunaan ini adalah saat sistem membaca kurang dari 100 KB sekaligus dari file multi-gigabyte atau multi-terabyte.

Jika Anda sudah menggunakan Filestore untuk kemampuan POSIX-nya, sebaiknya simpan data Anda di Filestore untuk pelatihan. Filestore menawarkan akses latensi I/O rendah ke data. Latensi yang lebih rendah ini dapat mengurangi waktu pelatihan secara keseluruhan dan mungkin menurunkan biaya pelatihan model Anda.

Jika Anda menggunakan Cloud Storage untuk menyimpan data, sebaiknya salin data ke SSD Lokal atau Filestore sebelum pelatihan.

Pemuatan data

Selama pemuatan data, Cloud GPU atau Cloud TPU mengimpor batch data berulang kali untuk melatih model. Fase ini dapat mendukung cache, bergantung pada ukuran batch dan urutan permintaan Anda. Sasaran Anda pada tahap ini 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 Cloud GPU dan Cloud TPU tidak tidak ada aktivitas, tetapi 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 pemuatan data, pertimbangkan hal berikut:

  • Paralelisme: Ada banyak cara untuk memparalelkan pelatihan, dan masing-masing dapat memengaruhi keseluruhan performa penyimpanan yang diperlukan dan kebutuhan untuk meng-cache data secara lokal di setiap instance.
  • Jumlah maksimum Cloud GPU atau Cloud TPU untuk satu tugas pelatihan: Seiring meningkatnya jumlah akselerator dan VM, dampaknya terhadap sistem penyimpanan dapat signifikan dan dapat mengakibatkan peningkatan biaya jika Cloud GPU atau Cloud TPU tidak ada aktivitas. Namun, ada cara untuk meminimalkan biaya saat Anda meningkatkan jumlah accelerator. Bergantung pada jenis paralelisme yang Anda gunakan, Anda dapat meminimalkan biaya dengan meningkatkan persyaratan throughput baca gabungan yang diperlukan untuk menghindari akselerator yang tidak ada aktivitas.

Untuk mendukung peningkatan ini di Cloud Storage atau Filestore, Anda perlu menambahkan SSD Lokal ke setiap instance agar dapat memindahkan I/O dari sistem penyimpanan yang kelebihan beban.

Namun, memuat data ke SSD Lokal setiap instance dari Cloud Storage memiliki tantangannya sendiri. Anda berisiko mengalami peningkatan biaya untuk akselerator yang tidak ada aktivitasnya saat data sedang ditransfer. Jika waktu transfer data dan biaya nonaktif akselerator Anda tinggi, Anda mungkin dapat menurunkan biaya dengan menggunakan Filestore dengan SSD Lokal.

  • Jumlah GPU Cloud per instance: Saat men-deploy lebih banyak GPU Cloud ke setiap instance, Anda dapat meningkatkan throughput antar-GPU Cloud dengan NVLink. Namun, throughput SSD Lokal dan jaringan penyimpanan yang tersedia tidak selalu meningkat secara linear.
  • Pengoptimalan penyimpanan dan aplikasi: Opsi penyimpanan dan aplikasi memiliki persyaratan performa tertentu agar dapat berjalan secara optimal. Pastikan untuk menyeimbangkan persyaratan sistem aplikasi dan penyimpanan ini dengan pengoptimalan pemuatan data, seperti menjaga Cloud GPU atau Cloud TPU tetap sibuk dan beroperasi secara efisien.

Pemeriksaan titik kontrol dan mulai ulang

Untuk pembuatan checkpoint dan mulai ulang, tugas pelatihan perlu menyimpan statusnya secara berkala agar dapat pulih dengan cepat dari kegagalan instance. Saat kegagalan terjadi, tugas harus dimulai ulang, menyerap checkpoint terbaru, lalu melanjutkan pelatihan. Mekanisme yang tepat yang digunakan untuk membuat dan menyerap checkpoint biasanya spesifik untuk framework, seperti TensorFlow atau PyTorch. Beberapa pengguna telah membuat framework yang kompleks untuk meningkatkan efisiensi pembuatan checkpoint. Framework kompleks ini memungkinkan mereka melakukan pemeriksaan lebih sering.

Namun, sebagian besar pengguna biasanya menggunakan penyimpanan bersama, seperti Cloud Storage atau Filestore. Saat menyimpan checkpoint, Anda hanya perlu menyimpan tiga hingga lima checkpoint pada satu waktu. Beban kerja checkpoint cenderung terdiri dari sebagian besar operasi tulis, beberapa penghapusan, dan, idealnya, operasi baca yang jarang terjadi saat kegagalan terjadi. Selama pemulihan, pola I/O mencakup penulisan intensif dan sering, penghapusan sering, dan pembacaan sering dari titik pemeriksaan.

Anda juga perlu mempertimbangkan ukuran checkpoint yang perlu dibuat oleh setiap GPU atau TPU. Ukuran checkpoint menentukan throughput operasi tulis yang diperlukan untuk menyelesaikan tugas pelatihan secara hemat biaya dan tepat waktu.

Untuk meminimalkan biaya, pertimbangkan untuk meningkatkan item berikut:

  • Frekuensi pemeriksaan
  • Throughput operasi tulis gabungan yang diperlukan untuk checkpoint
  • Efisiensi mulai ulang

Inferensikan

Saat Anda menayangkan model, yang juga dikenal sebagai inferensi AI, pola I/O utama bersifat hanya baca untuk memuat model ke Cloud GPU atau memori Cloud TPU. Tujuan Anda pada tahap ini adalah menjalankan model dalam produksi. Model ini jauh lebih kecil daripada data pelatihan, sehingga Anda dapat mereplikasi dan menskalakan model di beberapa instance. Ketersediaan tinggi dan perlindungan terhadap kegagalan zona dan regional penting pada tahap ini, jadi Anda harus memastikan bahwa model Anda tersedia untuk berbagai skenario kegagalan.

Untuk banyak kasus penggunaan AI generatif, data input ke model mungkin cukup kecil dan mungkin tidak perlu disimpan secara persisten. Dalam kasus lain, Anda mungkin perlu menjalankan data dalam volume besar melalui model (misalnya, set data ilmiah). Dalam hal ini, Anda perlu memilih opsi yang dapat menyimpan Cloud GPU atau Cloud TPU yang disediakan selama analisis set data, serta memilih lokasi persisten untuk menyimpan hasil inferensi.

Ada dua pilihan utama saat Anda menayangkan model.

Cloud Storage untuk tahap penayangan

Alasan utama untuk memilih Cloud Storage saat menayangkan data Anda mencakup hal berikut:

  • Saat melatih model di Cloud Storage, Anda dapat menghemat biaya migrasi dengan membiarkan model di Cloud Storage saat menayangkannya.
  • Anda dapat menyimpan konten yang dihasilkan di Cloud Storage.
  • Cloud Storage adalah pilihan tepat jika inferensi AI terjadi di beberapa region.
  • Anda dapat menggunakan bucket dual-region dan multi-region untuk menyediakan ketersediaan model di seluruh kegagalan regional.

Filestore untuk tahap penayangan

Alasan utama untuk memilih Filestore saat menayangkan data Anda meliputi hal berikut:

  • Saat melatih model di Filestore, Anda dapat menghemat biaya migrasi dengan membiarkan model di Filestore saat menayangkannya.
  • Karena perjanjian tingkat layanan (SLA)-nya memberikan ketersediaan 99,99%, tingkat layanan Filestore Enterprise adalah pilihan yang tepat untuk ketersediaan tinggi saat Anda ingin menayangkan model di antara beberapa zona dalam suatu region.
  • Tingkat layanan Zonal Filestore mungkin merupakan pilihan biaya rendah yang wajar, tetapi hanya jika ketersediaan tinggi bukan persyaratan untuk workload AI dan ML Anda.
  • Jika memerlukan pemulihan lintas region, Anda dapat menyimpan model di lokasi cadangan jarak jauh atau bucket Cloud Storage jarak jauh, lalu memulihkan model sesuai kebutuhan.
  • Filestore menawarkan opsi yang tahan lama dan sangat tersedia yang memberikan akses latensi rendah ke model Anda saat Anda membuat file kecil atau memerlukan API file.

Arsipkan

Tahap arsip 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 pemulihan dari bencana. Anda juga harus menyimpan item ini di lokasi yang tahan lama dalam jangka waktu yang lama. Meskipun Anda mungkin tidak memerlukan akses ke data dan model terlalu sering, Anda ingin item ini tersedia saat Anda membutuhkannya.

Karena ketahanannya yang sangat tinggi, skala yang luas, dan biaya yang rendah, opsi terbaik untuk menyimpan data objek dalam jangka waktu yang lama adalah Cloud Storage. Bergantung pada frekuensi saat Anda mengakses set data, model, dan file cadangan, Cloud Storage menawarkan pengoptimalan biaya melalui berbagai kelas penyimpanan dengan pendekatan berikut:

  • Simpan data yang sering diakses di penyimpanan Standar.
  • Simpan data yang Anda akses setiap bulan di Nearline Storage.
  • Simpan data yang Anda akses setiap tiga bulan di Coldline storage.
  • Simpan data yang Anda akses setahun sekali di Archive Storage.

Dengan menggunakan pengelolaan siklus proses objek, Anda dapat membuat kebijakan untuk memindahkan data ke kelas penyimpanan yang lebih jarang diakses atau menghapus data berdasarkan kriteria tertentu. Jika tidak yakin seberapa sering Anda akan mengakses data, Anda dapat menggunakan fitur Autoclass untuk memindahkan data antar-class penyimpanan secara otomatis, berdasarkan pola akses Anda.

Jika data Anda berada di Filestore, sebaiknya pindahkan data ke Cloud Storage untuk tujuan pengarsipan. Namun, Anda dapat memberikan perlindungan tambahan untuk data Filestore dengan membuat cadangan Filestore di region lain. Anda juga dapat mengambil snapshot Filestore untuk pemulihan file lokal dan sistem file. Untuk mengetahui informasi selengkapnya tentang pencadangan Filestore, lihat Ringkasan pencadangan. Untuk informasi selengkapnya tentang snapshot Filestore, lihat Ringkasan snapshot.

Rekomendasi penyimpanan untuk AI dan ML

Bagian ini merangkum analisis yang diberikan di bagian sebelumnya, Memetakan pilihan penyimpanan Anda ke tahap AI dan ML. Panduan ini memberikan detail tentang tiga kombinasi opsi penyimpanan utama yang kami rekomendasikan untuk sebagian besar beban kerja AI dan ML. Ketiga opsi tersebut adalah sebagai berikut:

Memilih Cloud Storage

Cloud Storage menyediakan penawaran penyimpanan dengan biaya per kapasitas terendah jika dibandingkan dengan semua penawaran penyimpanan lainnya. Cloud Storage FUSE diskalakan untuk klien dalam jumlah besar, menyediakan aksesibilitas dan ketersediaan regional serta dual-region, dan dapat diakses melalui Cloud Storage FUSE. Anda harus memilih penyimpanan regional jika platform komputasi untuk pelatihan berada di region yang sama, dan memilih penyimpanan dual-region jika Anda memerlukan keandalan yang lebih tinggi atau menggunakan Cloud GPU atau Cloud TPU yang terletak di dua region yang berbeda.

Cloud Storage adalah pilihan terbaik untuk retensi data jangka panjang, dan untuk beban kerja dengan persyaratan performa penyimpanan yang lebih rendah. Namun, opsi lain seperti Filestore dan SSD Lokal adalah alternatif yang berharga dalam kasus tertentu saat Anda memerlukan dukungan POSIX penuh atau Cloud Storage menjadi bottleneck performa.

Memilih Cloud Storage dengan SSD Lokal atau Filestore

Untuk pelatihan yang intensif data atau checkpoint dan memulai ulang workload, sebaiknya gunakan penawaran penyimpanan yang lebih cepat selama fase pelatihan intensif I/O. Pilihan umum mencakup menyalin data ke SSD Lokal atau Filestore. Tindakan ini mengurangi runtime tugas secara keseluruhan dengan terus menyediakan data ke Cloud GPU atau Cloud TPU dan mencegah instance terhenti saat operasi checkpoint selesai. Selain itu, semakin sering Anda membuat checkpoint, semakin banyak checkpoint yang tersedia sebagai cadangan. Peningkatan jumlah pencadangan ini juga meningkatkan kecepatan keseluruhan saat data yang berguna tiba (juga dikenal sebagai goodput). Kombinasi pengoptimalan prosesor dan peningkatan throughput ini akan menurunkan biaya keseluruhan pelatihan model Anda.

Ada kompromi yang perlu dipertimbangkan saat menggunakan SSD Lokal atau Filestore. Bagian berikut menjelaskan beberapa kelebihan dan kekurangan untuk masing-masing.

Keunggulan SSD lokal

  • Throughput dan IOPS tinggi setelah data ditransfer
  • Biaya tambahan yang rendah hingga minimal

Kekurangan SSD lokal

  • Cloud GPU atau Cloud TPU tetap tidak ada aktivitas saat data dimuat.
  • Transfer data harus terjadi di setiap tugas untuk setiap instance.
  • Hanya tersedia untuk beberapa jenis instance Cloud GPU.
  • Memberikan kapasitas penyimpanan terbatas.
  • Mendukung pembuatan checkpoint, tetapi Anda harus mentransfer checkpoint secara manual ke opsi penyimpanan yang tahan lama seperti Cloud Storage.

Kelebihan Filestore

  • Menyediakan penyimpanan NFS bersama yang memungkinkan data ditransfer satu kali, lalu dibagikan di beberapa tugas dan pengguna.
  • Tidak ada waktu Cloud GPU atau Cloud TPU yang tidak ada aktivitas karena data ditransfer sebelum Anda membayar Cloud GPU atau Cloud TPU.
  • Memiliki kapasitas penyimpanan yang besar.
  • Mendukung pembuatan checkpoint cepat untuk ribuan VM.
  • Mendukung Cloud GPU, Cloud TPU, dan semua jenis instance Compute Engine lainnya.

Kekurangan Filestore

  • Biaya di muka yang tinggi; tetapi peningkatan efisiensi komputasi berpotensi untuk mengurangi biaya pelatihan secara keseluruhan.

Memilih Filestore dengan SSD Lokal opsional

Filestore adalah pilihan terbaik untuk beban kerja AI dan ML yang memerlukan latensi rendah dan dukungan POSIX penuh. Selain menjadi pilihan yang direkomendasikan untuk file kecil atau tugas pelatihan I/O kecil, Filestore dapat memberikan pengalaman yang responsif untuk notebook AI dan ML, pengembangan software, dan banyak aplikasi lainnya. Anda juga dapat men-deploy Filestore di zona untuk pelatihan berperforma tinggi dan penyimpanan checkpoint persisten. Men-deploy Filestore di zona juga menawarkan mulai ulang yang cepat setelah terjadi kegagalan. Atau, Anda dapat men-deploy Filestore secara regional untuk mendukung tugas inferensi yang sangat tersedia. Penambahan opsional FS-Cache untuk mendukung caching SSD Lokal memungkinkan pembacaan berulang yang cepat dari data pelatihan untuk mengoptimalkan beban kerja.

Langkah selanjutnya

Untuk informasi selengkapnya tentang opsi penyimpanan serta AI dan ML, lihat referensi berikut:

Kontributor

Penulis:

  • Dean Hildebrand | Technical Director, Office of the CTO
  • Sean Derrington | Group Outbound Product Manager, Storage
  • Richard Hendricks | Staf Architecture Center

Kontributor lainnya: Kumar Dhanagopal | Developer Solusi Lintas Produk