Perspektif AI dan ML: Pengoptimalan performa

Last reviewed 2026-02-13 UTC

Dokumen dalam Google Cloud Framework yang Dirancang dengan Baik: Perspektif AI dan ML ini memberikan prinsip dan rekomendasi untuk membantu Anda mengoptimalkan performa workload AI dan ML di Google Cloud. Rekomendasi dalam dokumen ini selaras dengan pilar pengoptimalan performa dalam Well-Architected Framework.

Sistem AI dan ML memungkinkan kemampuan otomatisasi dan pengambilan keputusan tingkat lanjut untuk organisasi Anda. Performa sistem ini dapat secara langsung memengaruhi pendorong bisnis penting seperti pendapatan, biaya, dan kepuasan pelanggan. Untuk mewujudkan potensi penuh sistem AI dan ML, Anda harus mengoptimalkan performa berdasarkan sasaran bisnis dan persyaratan teknis Anda. Proses pengoptimalan performa sering kali melibatkan kompromi. Misalnya, pilihan desain yang memberikan performa yang diperlukan dapat menyebabkan biaya yang lebih tinggi. Rekomendasi dalam dokumen ini memprioritaskan performa daripada pertimbangan lainnya.

Untuk mengoptimalkan performa AI dan ML, Anda perlu membuat keputusan terkait faktor-faktor seperti arsitektur model, parameter, dan strategi pelatihan. Saat membuat keputusan ini, pertimbangkan seluruh siklus proses sistem AI dan ML serta lingkungan deployment-nya. Misalnya, LLM yang sangat besar dapat memiliki performa tinggi pada infrastruktur pelatihan yang besar, tetapi mungkin tidak berperforma baik di lingkungan dengan batasan kapasitas seperti perangkat seluler.

Rekomendasi dalam dokumen ini dipetakan ke prinsip inti berikut:

Menetapkan tujuan performa dan metode evaluasi

Strategi dan tujuan bisnis Anda adalah fondasi untuk memanfaatkan teknologi AI dan ML. Ubah sasaran bisnis Anda menjadi indikator performa utama (KPI) yang dapat diukur. Contoh KPI mencakup total pendapatan, biaya, rasio konversi, rasio retensi atau churn, kepuasan pelanggan, dan kepuasan karyawan.

Tentukan tujuan yang realistis

Menurut praktik terbaik rekayasa keandalan situs (SRE), tujuan layanan harus mencerminkan tingkat performa yang memenuhi persyaratan pelanggan umum. Artinya, tujuan layanan harus realistis dalam hal skala dan performa fitur.

Tujuan yang tidak realistis dapat menyebabkan pemborosan resource dengan perolehan performa yang minimal. Model yang memberikan performa tertinggi mungkin tidak menghasilkan hasil bisnis yang optimal. Model semacam itu mungkin memerlukan lebih banyak waktu dan biaya untuk melatih dan menjalankannya.

Saat menentukan tujuan, bedakan dan prioritaskan tujuan kualitas dan performa:

  • Kualitas mengacu pada karakteristik bawaan yang menentukan nilai suatu entitas. Hal ini membantu Anda menilai apakah entitas tersebut memenuhi ekspektasi dan standar Anda.
  • Performa mengacu pada seberapa efisien dan efektif suatu entitas berfungsi atau menjalankan tujuan yang dimaksudkan.

Engineer ML dapat meningkatkan metrik performa model selama proses pelatihan. Vertex AI menyediakan layanan evaluasi yang dapat digunakan oleh engineer ML untuk menerapkan pelacakan metrik kualitas yang standar dan berulang. Efisiensi prediksi model menunjukkan seberapa baik performa model dalam produksi atau pada waktu inferensi. Untuk memantau performa, gunakan Cloud Monitoring dan Vertex AI Model Monitoring. Untuk memilih model yang sesuai dan memutuskan cara melatihnya, Anda harus menerjemahkan tujuan bisnis menjadi persyaratan teknis yang menentukan metrik kualitas dan performa.

Untuk memahami cara menetapkan tujuan yang realistis dan mengidentifikasi metrik performa yang sesuai, pertimbangkan contoh berikut untuk sistem deteksi penipuan yang didukung AI:

  • Tujuan bisnis: Untuk sistem deteksi penipuan, tujuan bisnis yang tidak realistis adalah mendeteksi 100% transaksi penipuan secara akurat dalam satu nanodetik pada puncak traffic 100 miliar transaksi per detik. Tujuan yang lebih realistis adalah mendeteksi transaksi penipuan dengan akurasi 95% dalam 100 milidetik untuk 90% prediksi online selama jam kerja di AS pada volume puncak satu juta transaksi per detik.
  • Metrik performa: Mendeteksi penipuan adalah masalah klasifikasi. Anda dapat mengukur kualitas sistem deteksi penipuan menggunakan metrik seperti perolehan, skor F1, dan akurasi. Untuk melacak performa atau kecepatan sistem, Anda dapat mengukur latensi inferensi. Mendeteksi transaksi yang berpotensi menipu mungkin lebih berharga daripada akurasi. Oleh karena itu, sasaran yang realistis mungkin adalah perolehan tinggi dengan latensi p90 yang kurang dari 100 milidetik.

Memantau performa di semua tahap siklus proses model

Selama eksperimen dan pelatihan serta setelah deployment model, pantau KPI Anda dan amati setiap penyimpangan dari tujuan bisnis. Strategi pemantauan yang komprehensif membantu Anda membuat keputusan penting tentang kualitas model dan penggunaan resource, seperti berikut:

  • Tentukan kapan harus menghentikan tugas pelatihan.
  • Menentukan apakah performa model menurun dalam produksi.
  • Meningkatkan biaya dan waktu peluncuran ke pasar untuk model baru.

Pemantauan selama eksperimen dan pelatihan

Tujuan tahap eksperimen adalah menemukan pendekatan, arsitektur model, dan hyperparameter keseluruhan yang optimal untuk tugas tertentu. Eksperimen membantu Anda menentukan konfigurasi yang memberikan performa optimal dan cara melatih model secara iteratif. Pemantauan membantu Anda mengidentifikasi potensi area yang perlu ditingkatkan secara efisien.

Untuk memantau kualitas dan efisiensi pelatihan model, engineer ML harus melakukan hal berikut:

  • Visualisasikan metrik kualitas dan performa model untuk setiap percobaan.
  • Memvisualisasikan grafik dan metrik model, seperti histogram bobot dan bias.
  • Menampilkan data pelatihan secara visual.
  • Membuat profil algoritma pelatihan di hardware yang berbeda.

Untuk memantau eksperimen dan pelatihan, pertimbangkan rekomendasi berikut:

Aspek pemantauan Rekomendasi
Kualitas model

Untuk memvisualisasikan dan melacak metrik eksperimen seperti akurasi dan untuk memvisualisasikan arsitektur model atau data pelatihan, gunakan TensorBoard. TensorBoard adalah rangkaian alat open source yang kompatibel dengan framework ML seperti berikut:

Pelacakan eksperimen Vertex AI Experiments terintegrasi dengan instance Vertex AI TensorBoard tingkat perusahaan terkelola untuk mendukung pelacakan eksperimen. Integrasi ini memungkinkan penyimpanan dan berbagi log dan metrik yang andal. Agar beberapa tim dan individu dapat melacak eksperimen, sebaiknya gunakan prinsip hak istimewa terendah.
Efisiensi pelatihan dan eksperimen Vertex AI mengekspor metrik ke Monitoring dan mengumpulkan data telemetri dan log menggunakan agen observabilitas. Anda dapat memvisualisasikan metrik di konsol Google Cloud . Atau, buat dasbor atau pemberitahuan berdasarkan metrik ini menggunakan Monitoring. Untuk mengetahui informasi selengkapnya, lihat Memantau metrik untuk Vertex AI.
NVIDIA GPU

Agen Operasional memungkinkan pemantauan GPU untuk Compute Engine dan untuk produk lain yang didukung Agen Operasional.

Anda juga dapat menggunakan NVIDIA Data Center GPU Manager (DCGM), yang merupakan rangkaian alat untuk mengelola dan memantau GPU NVIDIA di lingkungan cluster. Memantau GPU NVIDIA sangat berguna untuk melatih dan menayangkan model deep learning.

Penelusuran bug mendalam Untuk men-debug masalah terkait kode pelatihan atau konfigurasi tugas Vertex AI Training, Anda dapat memeriksa container pelatihan dengan menggunakan sesi shell interaktif.

Pemantauan selama penayangan: Prediksi streaming

Setelah melatih model dan mengekspornya ke Vertex AI Model Registry, Anda dapat membuat endpoint Vertex AI. Endpoint ini menyediakan endpoint HTTP untuk model.

Pemantauan Model membantu Anda mengidentifikasi perubahan besar dalam distribusi fitur input atau output. Anda juga dapat memantau atribusi fitur dalam produksi jika dibandingkan dengan distribusi dasar. Distribusi dasar dapat berupa set pelatihan atau dapat didasarkan pada distribusi traffic produksi di masa lalu. Perubahan dalam distribusi penayangan dapat menyiratkan penurunan performa prediktif dibandingkan dengan pelatihan.

  • Pilih tujuan pemantauan: Bergantung pada sensitivitas kasus penggunaan terhadap perubahan data yang diberikan ke model, Anda dapat memantau berbagai jenis tujuan: degradasi fitur input, degradasi output, dan atribusi fitur. Pemantauan Model v2 memungkinkan Anda memantau model yang di-deploy di platform penayangan terkelola seperti Vertex AI dan juga di layanan yang dihosting sendiri seperti Google Kubernetes Engine (GKE). Selain itu, untuk pelacakan performa terperinci, Anda dapat memantau parameter di tingkat model, bukan untuk endpoint.
  • Memantau penayangan model AI generatif: Untuk memastikan stabilitas dan meminimalkan latensi, terutama untuk endpoint LLM, siapkan stack pemantauan yang andal. Model Gemini menyediakan metrik bawaan, seperti waktu hingga token pertama (TTFT), yang dapat Anda akses langsung di Metrics Explorer. Untuk memantau throughput, latensi, dan tingkat error di semua Google Cloud model, gunakan dasbor kemampuan observasi model.

Pemantauan selama penayangan: Prediksi batch

Untuk memantau prediksi batch, Anda dapat menjalankan tugas evaluasi standar di layanan evaluasi Vertex AI. Pemantauan Model mendukung pemantauan inferensi batch. Jika menggunakan Batch untuk menjalankan beban kerja penayangan, Anda dapat memantau konsumsi resource menggunakan metrik di Metrics Explorer.

Mengotomatiskan evaluasi untuk kemampuan reproduksi dan standardisasi

Untuk mentransisikan model dari prototipe ke sistem produksi yang andal, Anda memerlukan proses evaluasi standar. Proses ini membantu Anda melacak progres di seluruh iterasi, membandingkan berbagai model, mendeteksi dan memitigasi bias, serta memastikan Anda memenuhi persyaratan peraturan. Untuk memastikan reproduksibilitas dan skalabilitas, Anda harus mengotomatiskan proses evaluasi.

Untuk menstandardisasi dan mengotomatiskan proses evaluasi performa ML, selesaikan langkah-langkah berikut:

  1. Tentukan indikator kuantitatif dan kualitatif.
  2. Pilih sumber data dan teknik yang sesuai.
  3. Menstandardisasi pipeline evaluasi.

Langkah-langkah ini dijelaskan di bagian berikut.

1. Menentukan indikator kuantitatif dan kualitatif

Metrik berbasis komputasi dihitung menggunakan formula numerik. Ingatlah bahwa metrik kerugian pelatihan mungkin berbeda dengan metrik evaluasi yang relevan dengan tujuan bisnis. Misalnya, model yang digunakan untuk deteksi penipuan yang diawasi mungkin menggunakan kerugian entropi silang untuk pelatihan. Namun, untuk mengevaluasi performa inferensi, metrik yang lebih relevan mungkin adalah recall, yang menunjukkan cakupan transaksi penipuan. Vertex AI menyediakan layanan evaluasi untuk metrik seperti perolehan, presisi, dan area di bawah kurva presisi-perolehan (AuPRC). Untuk mengetahui informasi selengkapnya, lihat Evaluasi model di Vertex AI.

Indikator kualitatif, seperti kelancaran atau nilai hiburan dari konten yang dihasilkan, tidak dapat dihitung secara objektif. Untuk mengevaluasi indikator ini, Anda dapat menggunakan strategi LLM-as-a-judge atau layanan pemberian label oleh manusia seperti Labelbox.

2. Pilih sumber data dan teknik yang sesuai

Evaluasi signifikan secara statistik jika dijalankan pada volume minimum tertentu dari berbagai contoh. Pilih set data dan teknik yang Anda gunakan untuk evaluasi dengan menggunakan pendekatan seperti berikut:

  • Set data emas: Gunakan sampel data yang tepercaya, konsisten, dan akurat yang mencerminkan distribusi probabilitas model dalam produksi.
  • LLM-as-a-judge: Mengevaluasi output model generatif menggunakan LLM. Pendekatan ini hanya relevan untuk tugas saat LLM dapat mengevaluasi model.
  • Masukan pengguna: Untuk memandu peningkatan kualitas pada masa mendatang, kumpulkan masukan langsung dari pengguna sebagai bagian dari traffic produksi.

Bergantung pada teknik evaluasi, ukuran dan jenis data evaluasi, serta frekuensi evaluasi, Anda dapat menggunakan BigQuery atau Cloud Storage sebagai sumber data, termasuk untuk layanan evaluasi Vertex AI.

3. Menstandardisasi pipeline evaluasi

Untuk mengotomatiskan proses evaluasi, pertimbangkan layanan dan alat berikut:

  • Layanan evaluasi Vertex AI: Menyediakan primitif siap pakai untuk melacak performa model sebagai bagian dari siklus proses ML di Vertex AI.
  • Layanan evaluasi AI generatif: Memungkinkan Anda mengevaluasi model atau aplikasi generatif apa pun dan membandingkan hasil evaluasi dengan penilaian dan kriteria evaluasi Anda sendiri. Layanan ini juga membantu Anda melakukan tugas khusus seperti rekayasa perintah, Retrieval-Augmented Generation (RAG), dan pengoptimalan agen AI.
  • Alat perbandingan berdampingan otomatis (AutoSxS) Vertex AI: Mendukung evaluasi berpasangan berbasis model.
  • Kubeflow: Menyediakan komponen khusus untuk menjalankan evaluasi model.

Menjalankan dan melacak eksperimen yang sering dilakukan

Untuk mengoptimalkan performa ML secara efektif, Anda memerlukan platform eksperimen yang khusus, canggih, dan interaktif. Platform harus memiliki kemampuan berikut:

  • Memfasilitasi pengembangan iteratif, sehingga tim dapat beralih dari ide ke hasil yang tervalidasi dengan cepat, andal, dan berskala.
  • Memungkinkan tim menemukan konfigurasi optimal secara efisien yang dapat mereka gunakan untuk memicu tugas pelatihan.
  • Memberikan akses terkontrol ke data, fitur, dan alat yang relevan untuk melakukan dan melacak eksperimen.
  • Mendukung reproduksibilitas dan pelacakan silsilah data.

Memperlakukan data sebagai layanan

Mengisolasi workload eksperimental dari sistem produksi dan menyiapkan kontrol keamanan yang sesuai untuk aset data Anda menggunakan teknik berikut:

Teknik Deskripsi Manfaat
Isolasi resource Mengisolasi resource untuk lingkungan yang berbeda dalam Google Cloud project terpisah. Misalnya, sediakan resource untuk lingkungan pengembangan, staging, dan produksi di project terpisah seperti ml-dev, ml-staging, dan ml-prod. Isolasi resource membantu mencegah workload eksperimental menggunakan resource yang dibutuhkan sistem produksi. Misalnya, jika Anda menggunakan satu project untuk eksperimen dan produksi, eksperimen dapat menggunakan semua GPU NVIDIA A100 yang tersedia untuk Vertex AI Training. Hal ini dapat menyebabkan gangguan dalam pelatihan ulang model produksi penting.
Kontrol akses dan identitas Terapkan prinsip zero trust dan hak istimewa terendah dan gunakan akun layanan khusus beban kerja. Berikan akses menggunakan peran Identity and Access Management (IAM) yang telah ditetapkan seperti Vertex AI User (roles/aiplatform.user). Pendekatan ini membantu mencegah tindakan yang tidak disengaja atau berbahaya yang dapat merusak eksperimen.
Keamanan jaringan Isolasi traffic jaringan menggunakan jaringan Virtual Private Cloud (VPC) dan terapkan perimeter keamanan menggunakan Kontrol Layanan VPC. Pendekatan ini membantu melindungi data sensitif dan mencegah traffic eksperimental memengaruhi layanan produksi.
Isolasi data Simpan data eksperimental di bucket Cloud Storage dan set data BigQuery yang terpisah. Isolasi data mencegah modifikasi data produksi yang tidak disengaja. Misalnya, tanpa isolasi data, eksperimen dapat secara tidak sengaja mengubah nilai fitur dalam tabel BigQuery bersama, yang dapat menyebabkan penurunan akurasi model yang signifikan di lingkungan produksi.

Membekali tim dengan alat yang sesuai

Untuk membuat serangkaian alat pilihan guna mempercepat seluruh siklus proses eksperimen—mulai dari eksplorasi data hingga pelatihan dan analisis model—gunakan teknik berikut:

  • Pembuatan prototipe interaktif: Untuk eksplorasi data yang cepat, pengujian hipotesis, dan pembuatan prototipe kode, gunakan Colab Enterprise atau instance JupyterLab terkelola di Vertex AI Workbench. Untuk mengetahui informasi selengkapnya, lihat Memilih solusi notebook.
  • Pelatihan model yang skalabel: Jalankan tugas pelatihan pada layanan terkelola yang mendukung pelatihan terdistribusi dan resource komputasi yang skalabel seperti GPU dan TPU. Pendekatan ini membantu mengurangi waktu pelatihan dari beberapa hari menjadi beberapa jam dan memungkinkan eksperimen yang lebih paralel. Untuk mengetahui informasi selengkapnya, lihat Menggunakan komponen khusus untuk pelatihan.
  • ML dalam database: Latih model langsung di BigQuery ML menggunakan SQL. Teknik ini membantu menghilangkan pemindahan data dan mempercepat eksperimen bagi analis dan pengguna yang berfokus pada SQL.
  • Melacak eksperimen: Buat histori data eksperimen yang dapat ditelusuri dan dibandingkan dengan mencatat parameter, metrik, dan artefak untuk setiap eksekusi eksperimen. Untuk mengetahui informasi selengkapnya, lihat Membangun sistem silsilah data dan model.
  • Mengoptimalkan AI generatif: Untuk mengoptimalkan performa aplikasi AI generatif, Anda harus bereksperimen dengan perintah, pemilihan model, dan penyesuaian. Untuk rekayasa perintah yang cepat, gunakan Vertex AI Studio. Untuk bereksperimen dengan model dasar (seperti Gemini) dan menemukan model yang sesuai untuk kasus penggunaan dan sasaran bisnis Anda, gunakan Model Garden.

Menstandardisasi untuk kemampuan reproduksi dan efisiensi

Untuk memastikan eksperimen menggunakan resource secara efisien dan menghasilkan hasil yang konsisten dan tepercaya, standarisasi dan otomatiskan eksperimen menggunakan pendekatan berikut:

  • Pastikan lingkungan yang konsisten dengan menggunakan container: Kemas kode dan dependensi pelatihan Anda sebagai container Docker. Kelola dan sajikan container menggunakan Artifact Registry. Dengan pendekatan ini, Anda dapat mereproduksi masalah di berbagai mesin dengan mengulangi eksperimen di lingkungan yang identik. Vertex AI menyediakan container bawaan untuk pelatihan serverless.
  • Mengotomatiskan alur kerja ML sebagai pipeline: Mengorkestrasi alur kerja ML end-to-end sebagai pipeline yang dikodifikasi menggunakan Vertex AI Pipelines. Pendekatan ini membantu menegakkan konsistensi, memastikan kemampuan reproduksi, dan melacak semua artefak dan metadata secara otomatis di Vertex ML Metadata.
  • Mengotomatiskan penyediaan dengan infrastructure-as-code (IaC): Tentukan dan deploy lingkungan eksperimen standar menggunakan alat IaC seperti Terraform. Untuk memastikan setiap project mematuhi serangkaian konfigurasi standar untuk keamanan, jaringan, dan tata kelola, gunakan modul Terraform.

Membangun dan mengotomatiskan infrastruktur pelatihan dan penyaluran

Untuk melatih dan menyajikan model AI, siapkan platform yang andal yang mendukung pengembangan, deployment, dan inferensi yang efisien dan andal. Platform ini memungkinkan tim Anda meningkatkan kualitas dan performa pelatihan serta penayangan secara efisien dalam jangka panjang.

Menggunakan komponen khusus untuk pelatihan

Platform pelatihan yang andal membantu mempercepat performa dan memberikan pendekatan standar untuk mengotomatiskan tugas berulang dalam siklus proses ML–mulai dari persiapan data hingga validasi model.

  • Pengumpulan dan penyiapan data: Untuk pelatihan model yang efektif, Anda perlu mengumpulkan dan menyiapkan data yang diperlukan untuk pelatihan, pengujian, dan validasi. Data dapat berasal dari sumber yang berbeda dan memiliki jenis data yang berbeda. Anda juga perlu menggunakan kembali data yang relevan di seluruh proses pelatihan dan membagikan fitur di seluruh tim. Untuk meningkatkan pengulangan fase pengumpulan dan penyiapan data, pertimbangkan rekomendasi berikut:

  • Eksekusi pelatihan: Saat melatih model, Anda menggunakan data untuk membuat objek model. Untuk melakukannya, Anda perlu menyiapkan infrastruktur dan dependensi yang diperlukan dari kode pelatihan. Anda juga perlu memutuskan cara mempertahankan model pelatihan, melacak progres pelatihan, mengevaluasi model, dan menyajikan hasilnya. Untuk meningkatkan pengulangan pelatihan, pertimbangkan rekomendasi berikut:

  • Orkestrasi pelatihan: Deploy workload pelatihan sebagai tahap pipeline menggunakan Vertex AI Pipelines. Layanan ini menyediakan layanan Kubeflow dan TFX terkelola. Tentukan setiap langkah pipeline sebagai komponen yang berjalan dalam container. Setiap komponen berfungsi seperti fungsi, dengan parameter input dan artefak output yang menjadi input ke komponen berikutnya dalam pipeline. Untuk mengoptimalkan efisiensi pipeline Anda, pertimbangkan rekomendasi dalam tabel berikut:

    Sasaran Rekomendasi
    Menerapkan otomatisasi inti.
    Meningkatkan kecepatan dan efisiensi biaya.
    • Untuk meningkatkan kecepatan iterasi dan mengurangi biaya, gunakan cache eksekusi Vertex AI Pipelines.
    • Tentukan konfigurasi mesin untuk setiap komponen berdasarkan persyaratan resource setiap langkah.
    Meningkatkan keandalan.
    Menerapkan tata kelola dan pelacakan.

Menggunakan infrastruktur khusus untuk prediksi

Untuk mengurangi toil pengelolaan infrastruktur dan deployment model, otomatiskan alur tugas yang berulang. Pendekatan berorientasi layanan memungkinkan Anda berfokus pada kecepatan dan waktu tercapainya nilai (TTV) yang lebih cepat. Pertimbangkan rekomendasi berikut:

Rekomendasi Teknik
Menerapkan deployment otomatis.
  • Setelah model dilatih, gunakan otomatisasi untuk men-deploy model. Vertex AI Pipelines menyediakan komponen khusus untuk men-deploy model ke endpoint Vertex AI. Anda dapat mengelola deployment otomatis menggunakan Kubeflow Control Flows.
  • Untuk memutuskan apakah akan men-deploy model berdasarkan evaluasi terhadap set validasi, manfaatkan komponen evaluasi pipeline. Anda dapat mengotomatiskan deployment untuk inferensi batch menggunakan komponen prediksi batch khusus di Vertex AI.
Manfaatkan fitur penskalaan terkelola.
Mengoptimalkan latensi dan throughput di endpoint Vertex AI.
  • Pilih jenis mesin yang sesuai.
  • Pilih jenis endpoint yang sesuai untuk model Anda. Endpoint pribadi khusus dapat membantu mengurangi latensi.
  • Jika Anda menggunakan Vertex AI Feature Store, pilih jenis penayangan online yang sesuai. Penayangan online yang dioptimalkan dengan Private Service Connect dapat memberikan latensi rendah. Untuk mengetahui informasi selengkapnya, lihat Jenis layanan online.
Mengoptimalkan pemanfaatan resource.
Mengoptimalkan deployment model.
Pantau performa.
  • Untuk meningkatkan performa penyaluran dalam produksi, amati log dan metrik inferensi untuk endpoint Vertex AI. Untuk memahami perilaku model dalam produksi, Anda memerlukan alat untuk memantau kualitas dan performa. Pemantauan Model v2 memungkinkan Anda memantau beberapa versi model dan melakukan iterasi dengan cepat.

Menyesuaikan pilihan desain dengan persyaratan performa

Saat membuat pilihan desain untuk meningkatkan performa, nilai apakah pilihan tersebut mendukung persyaratan bisnis Anda atau boros dan kontraproduktif. Untuk memilih infrastruktur, model, dan konfigurasi yang sesuai, identifikasi hambatan performa dan nilai bagaimana hambatan tersebut terkait dengan metrik performa. Misalnya, bahkan pada akselerator GPU yang sangat canggih, tugas pelatihan dapat mengalami hambatan performa. Bottleneck ini dapat disebabkan oleh masalah I/O data di lapisan penyimpanan atau batasan performa model.

Berfokus pada performa holistik alur ML

Seiring dengan meningkatnya persyaratan pelatihan dalam hal ukuran model dan ukuran cluster, rasio kegagalan dan biaya infrastruktur dapat meningkat. Oleh karena itu, biaya kegagalan dapat meningkat secara kuadratik. Anda tidak dapat hanya mengandalkan metrik efisiensi resource konvensional seperti pemanfaatan FLOP model (MFU). Untuk memahami mengapa MFU mungkin bukan indikator yang memadai untuk performa pelatihan secara keseluruhan, periksa siklus proses tugas pelatihan umum. Siklus proses terdiri dari alur siklus berikut:

  1. Pembuatan cluster: Node pekerja disediakan.
  2. Inisialisasi: Pelatihan diinisialisasi pada node pekerja.
  3. Eksekusi pelatihan: Resource digunakan untuk propagasi maju atau mundur.
  4. Interupsi: Proses pelatihan terganggu selama pembuatan checkpoint model atau karena preempti node pekerja.

Setelah setiap gangguan, alur sebelumnya akan diulang.

Langkah eksekusi pelatihan merupakan sebagian kecil dari siklus proses tugas ML. Oleh karena itu, pemakaian node pekerja untuk langkah eksekusi pelatihan tidak menunjukkan efisiensi keseluruhan tugas. Misalnya, meskipun langkah eksekusi pelatihan berjalan dengan efisiensi 100%, efisiensi keseluruhan mungkin rendah jika sering terjadi gangguan atau jika perlu waktu lama untuk melanjutkan pelatihan setelah terjadi gangguan.

Menerapkan dan melacak metrik goodput

Untuk memastikan pengukuran dan pengoptimalan performa secara menyeluruh, alihkan fokus Anda dari metrik efisiensi resource konvensional seperti MFU ke goodput. Goodput mempertimbangkan ketersediaan dan pemanfaatan cluster dan resource komputasi Anda, serta membantu mengukur efisiensi resource di beberapa lapisan.

Fokus metrik goodput adalah progres keseluruhan tugas, bukan apakah tugas tampaknya sedang sibuk. Metrik goodput membantu Anda mengoptimalkan tugas pelatihan untuk mendapatkan peningkatan produktivitas dan performa secara keseluruhan yang nyata.

Goodput memberi Anda pemahaman mendalam tentang potensi penurunan efisiensi melalui metrik berikut:

  • Scheduling goodput adalah proporsi waktu saat semua resource yang diperlukan untuk pelatihan atau penayangan tersedia untuk digunakan.
  • Runtime goodput menunjukkan proporsi langkah pelatihan yang bermanfaat yang diselesaikan selama periode tertentu.
  • Program goodput adalah performa hardware puncak atau MFU yang dapat diekstrak oleh tugas pelatihan dari akselerator. Hal ini bergantung pada pemanfaatan resource komputasi pokok yang efisien selama pelatihan.

Mengoptimalkan goodput penjadwalan

Untuk mengoptimalkan goodput penjadwalan untuk workload, Anda harus mengidentifikasi persyaratan infrastruktur spesifik workload. Misalnya, inferensi batch, inferensi streaming, dan pelatihan memiliki persyaratan yang berbeda:

  • Workload inferensi batch mungkin mengakomodasi beberapa gangguan dan keterlambatan dalam ketersediaan resource.
  • Workload inferensi streaming memerlukan infrastruktur stateless.
  • Beban kerja pelatihan memerlukan komitmen infrastruktur jangka panjang.
Memilih mode perolehan yang sesuai

Dalam cloud computing, ketersediaan adalah kemampuan untuk menyediakan resource saat diperlukan. Google Cloud menyediakan mode ketersediaan berikut:

  • VM sesuai permintaan: Anda menyediakan VM Compute Engine saat diperlukan dan menjalankan workload di VM tersebut. Permintaan penyediaan tunduk pada ketersediaan resource, seperti GPU. Jika jumlah jenis resource yang diminta tidak tersedia, permintaan akan gagal.
  • Spot VM: Anda membuat VM menggunakan kapasitas komputasi yang tidak digunakan. Spot VM ditagih dengan harga diskon jika dibandingkan dengan VM sesuai permintaan, tetapiGoogle Cloud dapat melakukan preempt Spot VM kapan saja. Sebaiknya gunakan Spot VM untuk workload stateless yang dapat gagal dengan baik saat VM host di-preempt.
  • Reservasi: Anda mencadangkan kapasitas sebagai kumpulan VM. Pemesanan ideal untuk workload yang memerlukan jaminan kapasitas. Gunakan reservasi untuk memaksimalkan goodput penjadwalan dengan memastikan resource tersedia saat diperlukan.
  • Dynamic Workload Scheduler: Mekanisme penyediaan ini mengantrekan permintaan untuk VM yang didukung GPU dalam kumpulan khusus. Dynamic Workload Scheduler membantu Anda menghindari batasan mode ketersediaan lainnya:

    • Situasi kehabisan stok dalam mode on demand.
    • Batasan statelessness dan risiko preemption Spot VM.
    • Implikasi biaya dan ketersediaan reservasi.

Tabel berikut meringkas mode ketersediaan untuk layanan Google Cloud dan menyediakan link ke dokumentasi yang relevan:

Produk VM sesuai permintaan Spot VM Reservasi Dynamic Workload Scheduler
Compute Engine Buat dan mulai instance Compute Engine Tentang Spot VM Tentang reservasi Membuat MIG dengan VM GPU
GKE Menambahkan dan mengelola node pool Tentang Spot VM di GKE Menggunakan resource zona yang dicadangkan Penggunaan GPU, TPU, dan H4D dengan penyediaan mulai fleksibel
Cloud Batch Membuat dan menjalankan tugas Tugas batch dengan Spot VM Memastikan ketersediaan resource menggunakan reservasi VM Menggunakan GPU dan VM flex-start
Vertex AI Training Membuat tugas pelatihan tanpa server Menggunakan Spot VM untuk tugas pelatihan Menggunakan reservasi untuk tugas pelatihan Menjadwalkan tugas pelatihan berdasarkan ketersediaan resource
Vertex AI Dapatkan inferensi batch dan inferensi online dari model yang dilatih khusus. Menggunakan Spot VM untuk inferensi Menggunakan reservasi untuk inferensi online Menggunakan VM flex-start untuk inferensi
Merencanakan peristiwa pemeliharaan

Anda dapat meningkatkan goodput penjadwalan dengan mengantisipasi dan merencanakan pemeliharaan dan upgrade infrastruktur.

Mengoptimalkan goodput runtime

Proses pelatihan model sering terganggu oleh peristiwa seperti pembuatan titik pemeriksaan model dan penghentian sementara resource. Untuk mengoptimalkan goodput runtime, Anda harus memastikan sistem melanjutkan pelatihan dan inferensi secara efisien setelah infrastruktur yang diperlukan siap dan setelah terjadi gangguan.

Selama pelatihan model, peneliti AI menggunakan checkpointing untuk melacak progres dan meminimalkan hilangnya pembelajaran akibat penghentian sementara resource. Ukuran model yang lebih besar membuat gangguan pembuatan titik pemeriksaan lebih lama, yang selanjutnya memengaruhi efisiensi secara keseluruhan. Setelah terganggu, aplikasi pelatihan harus dimulai ulang di setiap node dalam cluster. Mulai ulang ini dapat memakan waktu beberapa saat karena artefak yang diperlukan harus dimuat ulang.

Untuk mengoptimalkan goodput runtime, gunakan teknik berikut:

Teknik Deskripsi
Menerapkan checkpointing otomatis.

Checkpointing yang sering memungkinkan Anda melacak progres pelatihan pada tingkat perincian. Namun, proses pelatihan terganggu untuk setiap titik pemeriksaan, yang mengurangi goodput runtime. Untuk meminimalkan gangguan, Anda dapat menyiapkan pembuatan titik pemeriksaan otomatis, dengan sinyal SIGTERM host memicu pembuatan titik pemeriksaan. Pendekatan ini membatasi gangguan pembuatan titik pemeriksaan hanya saat host memerlukan pemeliharaan. Ingatlah bahwa beberapa kegagalan hardware mungkin tidak memicu sinyal SIGTERM; oleh karena itu, Anda harus menemukan keseimbangan yang sesuai antara pembuatan titik pemeriksaan otomatis dan peristiwa SIGTERM.

Anda dapat menyiapkan pembuatan titik pemeriksaan otomatis menggunakan teknik berikut:

Gunakan strategi pemuatan container yang sesuai.

Di cluster GKE, sebelum node dapat melanjutkan tugas pelatihan, mungkin perlu waktu beberapa saat untuk menyelesaikan pemuatan artefak yang diperlukan seperti data atau checkpoint model. Untuk mengurangi waktu yang diperlukan untuk memuat ulang data dan melanjutkan pelatihan, gunakan teknik berikut:

Untuk mengetahui informasi selengkapnya tentang cara mengurangi waktu pemuatan ulang data, lihat Tips dan trik untuk mengurangi latensi cold start di GKE.

Gunakan cache kompilasi. Jika pelatihan memerlukan stack berbasis kompilasi, periksa apakah Anda dapat menggunakan cache kompilasi. Saat Anda menggunakan cache kompilasi, grafik komputasi tidak dikompilasi ulang setelah setiap gangguan pelatihan. Pengurangan waktu dan biaya yang dihasilkan sangat bermanfaat saat Anda menggunakan TPU. JAX memungkinkan Anda menyimpan cache kompilasi di bucket Cloud Storage, lalu menggunakan data yang di-cache jika terjadi gangguan.

Mengoptimalkan goodput program

Program goodput menunjukkan pemanfaatan resource puncak selama pelatihan, yang merupakan cara konvensional untuk mengukur efisiensi pelatihan dan inferensi. Untuk meningkatkan goodput program, Anda memerlukan strategi distribusi yang dioptimalkan, tumpang-tindih komputasi-komunikasi yang efisien, akses memori yang dioptimalkan, dan pipeline yang efisien.

Untuk mengoptimalkan goodput program, gunakan strategi berikut:

Strategi Deskripsi
Gunakan opsi penyesuaian tingkat framework. Framework atau compiler seperti Accelerated Linear Algebra (XLA) menyediakan banyak komponen utama program goodput. Untuk mengoptimalkan performa lebih lanjut, Anda dapat menyesuaikan komponen mendasar dari grafik komputasi. Misalnya, Pallas mendukung kernel kustom untuk TPU dan GPU.
Melepaskan memori ke DRAM host. Untuk pelatihan skala besar, yang memerlukan memori yang sangat tinggi dari akselerator, Anda dapat memindahkan sebagian penggunaan memori ke DRAM host. Misalnya, XLA memungkinkan Anda menurunkan aktivasi model dari penerusan ke memori host, bukan menggunakan memori akselerator. Dengan strategi ini, Anda dapat meningkatkan performa pelatihan dengan meningkatkan kapasitas model atau ukuran batch.
Manfaatkan kuantisasi selama pelatihan.

Anda dapat meningkatkan efisiensi pelatihan dan goodput program dengan memanfaatkan kuantisasi model selama pelatihan. Strategi ini mengurangi presisi gradien atau bobot selama langkah-langkah tertentu dalam pelatihan; oleh karena itu, kualitas program goodput meningkat. Namun, strategi ini mungkin memerlukan upaya engineering tambahan selama pengembangan model.

Untuk informasi selengkapnya, lihat referensi berikut:

Terapkan paralelisme.

Untuk meningkatkan pemanfaatan resource komputasi yang tersedia, Anda dapat menggunakan strategi paralelisme di tingkat model selama pelatihan dan saat memuat data.

Untuk mengetahui informasi tentang paralelisme model, lihat artikel berikut:

Untuk mencapai paralelisme data, Anda dapat menggunakan alat seperti berikut:

Berfokus pada persyaratan khusus workload

Untuk memastikan upaya pengoptimalan performa Anda efektif dan holistik, Anda harus mencocokkan keputusan pengoptimalan dengan persyaratan spesifik workload pelatihan dan inferensi Anda. Pilih model AI yang sesuai dan gunakan strategi pengoptimalan perintah yang relevan. Pilih framework dan alat yang sesuai berdasarkan persyaratan workload Anda.

Mengidentifikasi persyaratan khusus workload

Evaluasi persyaratan dan batasan workload Anda di seluruh area berikut:

Area Deskripsi
Persyaratan tugas dan kualitas

Tentukan tugas inti workload dan dasar performa. Jawab pertanyaan seperti berikut:

  • Apakah tugas melibatkan regresi, klasifikasi, atau pembuatan?
  • Berapa kualitas minimum yang dapat diterima: misalnya, akurasi, presisi, atau perolehan?
Konteks penayangan

Analisis lingkungan operasional tempat Anda berencana men-deploy model. Konteks penayangan sering kali memiliki dampak yang signifikan terhadap keputusan desain. Pertimbangkan faktor-faktor berikut:

  • Latensi: Apakah sistem memerlukan prediksi sinkron secara real-time, atau apakah proses batch asinkron dapat diterima?
  • Konektivitas: Apakah Anda perlu menjalankan model secara offline atau di perangkat edge?
  • Volume: Berapa tingkat rata-rata dan puncak yang diharapkan untuk beban prediksi? Tingkat beban memengaruhi keputusan Anda terkait strategi penskalaan dan infrastruktur.
Keterampilan dan ekonomi tim Menilai nilai bisnis pembelian solusi terhadap biaya dan kompleksitas pembangunan serta pemeliharaannya. Tentukan apakah tim Anda memiliki keterampilan khusus yang diperlukan untuk pengembangan model kustom atau apakah layanan terkelola dapat memberikan waktu yang lebih cepat untuk mendapatkan nilai.

Pilih model yang sesuai

Jika API atau model terbuka dapat memberikan performa dan kualitas yang diperlukan, gunakan API atau model tersebut.

  • Untuk tugas khusus modalitas seperti pengenalan karakter optik (OCR), pelabelan, dan moderasi konten, pilih ML API seperti berikut:

  • Untuk aplikasi AI generatif, pertimbangkan model Google seperti Gemini, Imagen, dan Veo.

    Jelajahi Model Garden dan pilih dari koleksi pilihan model dasar dan model khusus tugas Google. Model Garden juga menyediakan model terbuka seperti Gemma dan model pihak ketiga, yang dapat Anda jalankan di Vertex AI atau di-deploy di runtime seperti GKE.

  • Jika tugas dapat diselesaikan dengan menggunakan ML API atau model AI generatif, pertimbangkan kompleksitas tugas tersebut. Untuk tugas yang kompleks, model besar seperti Gemini mungkin memberikan performa yang lebih tinggi daripada model yang lebih kecil.

Meningkatkan kualitas melalui perintah yang lebih baik

Untuk meningkatkan kualitas perintah Anda dalam skala besar, gunakan pengoptimal perintah Vertex AI. Anda tidak perlu menulis ulang petunjuk dan perintah sistem secara manual. Pengoptimal prompt mendukung pendekatan berikut:

  • Pengoptimalan zero-shot: Pendekatan latensi rendah yang meningkatkan kualitas perintah atau petunjuk sistem tunggal secara real time.
  • Pengoptimalan berbasis data: Pendekatan lanjutan yang meningkatkan kualitas perintah dengan mengevaluasi respons model terhadap contoh perintah berdasarkan metrik evaluasi tertentu.

Untuk mengetahui panduan pengoptimalan perintah selengkapnya, lihat Ringkasan strategi perintah.

Meningkatkan performa untuk endpoint ML dan AI generatif

Untuk meningkatkan latensi atau throughput (token per detik) untuk endpoint ML dan AI generatif, pertimbangkan rekomendasi berikut:

Menggunakan solusi low-code dan penyesuaian

Jika model terlatih tidak memenuhi persyaratan Anda, Anda dapat meningkatkan performanya untuk domain tertentu menggunakan solusi berikut:

  • AutoML adalah solusi low-code untuk meningkatkan hasil inferensi dengan sedikit upaya teknis untuk berbagai tugas. AutoML memungkinkan Anda membuat model yang dioptimalkan dalam beberapa dimensi: arsitektur, performa, dan tahap pelatihan (melalui pembuatan titik pemeriksaan).
  • Penyesuaian membantu Anda menghasilkan kualitas yang lebih tinggi, pembuatan yang lebih stabil, dan latensi yang lebih rendah dengan perintah yang lebih pendek dan tanpa banyak data. Sebaiknya mulai penyesuaian dengan menggunakan nilai default untuk hyperparameter. Untuk mengetahui informasi selengkapnya, lihat Supervised Fine Tuning for Gemini: A best practices guide.

Mengoptimalkan pelatihan yang dikelola sendiri

Dalam beberapa kasus, Anda dapat memutuskan untuk melatih ulang model atau mengelola sepenuhnya tugas penyesuaian. Pendekatan ini memerlukan keterampilan tingkat lanjut dan waktu tambahan, bergantung pada model, framework, dan resource yang Anda gunakan.

Manfaatkan opsi framework yang dioptimalkan untuk performa, seperti berikut:

  • Gunakan image deep learning atau container, yang mencakup dependensi software terbaru dan library khususGoogle Cloud.

  • Menjalankan pelatihan model dengan Ray di Google Cloud:

    • Ray di Vertex AI memungkinkan Anda menggunakan framework pelatihan terdistribusi Ray di Compute Engine atau GKE dan menyederhanakan overhead pengelolaan framework.
    • Anda dapat mengelola sendiri Ray di GKE dengan KubeRay dengan men-deploy operator Ray di cluster yang ada.
  • Deploy workload pelatihan di cluster komputasi yang Anda sediakan dengan menggunakan Cluster Toolkit open source. Untuk menyediakan cluster yang dioptimalkan untuk performa secara efisien, gunakan cetak biru berbasis YAML. Mengelola cluster menggunakan penjadwal seperti Slurm dan GKE.

  • Latih arsitektur model standar menggunakan resep yang dioptimalkan untuk GPU.

Bangun arsitektur dan strategi pelatihan yang mengoptimalkan performa dengan menggunakan teknik berikut:

  • Terapkan pelatihan terdistribusi di Vertex AI atau di framework yang dijelaskan sebelumnya. Pelatihan terdistribusi memungkinkan paralelisme model dan paralelisme data, yang dapat membantu meningkatkan ukuran set data pelatihan dan ukuran model, serta membantu mengurangi waktu pelatihan.
  • Untuk pelatihan model yang efisien dan menjelajahi berbagai konfigurasi performa, jalankan pembuatan titik pemeriksaan pada interval yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan goodput runtime.

Mengoptimalkan penayangan yang dikelola sendiri

Untuk penayangan yang dikelola sendiri, Anda memerlukan operasi inferensi yang efisien dan throughput yang tinggi (jumlah inferensi per unit waktu).

Untuk mengoptimalkan model Anda untuk inferensi, pertimbangkan pendekatan berikut:

  • Kuantisasi: Mengurangi ukuran model dengan merepresentasikan parameternya dalam format presisi yang lebih rendah. Pendekatan ini membantu mengurangi konsumsi memori dan latensi. Namun, kuantisasi setelah pelatihan dapat mengubah kualitas model. Misalnya, kuantisasi setelah pelatihan dapat menyebabkan penurunan akurasi.

    • Kuantisasi pasca-pelatihan (PTQ) adalah tugas yang dapat diulang. Framework ML utama seperti PyTorch dan TensorFlow mendukung PTQ.
    • Anda dapat mengorkestrasi PTQ menggunakan pipeline di Vertex AI Pipelines.
    • Untuk menstabilkan performa model dan mendapatkan manfaat dari pengurangan ukuran model, Anda dapat menggunakan Qwix.
  • Paralelisme tensor: Meningkatkan throughput inferensi dengan mendistribusikan beban komputasi di beberapa GPU.

  • Pengoptimalan memori: Tingkatkan throughput dan optimalkan penyiapan cache perhatian, ukuran batch, dan ukuran input.

Gunakan framework yang dioptimalkan untuk inferensi, seperti berikut:

Mengoptimalkan konsumsi resource berdasarkan sasaran performa

Pengoptimalan resource membantu mempercepat pelatihan, melakukan iterasi secara efisien, meningkatkan kualitas model, dan meningkatkan kapasitas penayangan.

Memilih jenis pemroses yang sesuai

Pilihan platform komputasi dapat memberikan dampak signifikan pada efisiensi pelatihan model.

  • Model deep learning berperforma baik di GPU dan TPU karena model tersebut memerlukan memori dalam jumlah besar dan komputasi matriks paralel. Untuk mengetahui informasi selengkapnya tentang workload yang cocok untuk CPU, GPU, dan TPU, lihat Kapan harus menggunakan TPU.
  • VM yang dioptimalkan untuk komputasi ideal untuk workload HPC.

Mengoptimalkan pelatihan dan penyajian di GPU

Untuk mengoptimalkan performa workload pelatihan dan inferensi yang di-deploy di GPU, pertimbangkan rekomendasi berikut:

Rekomendasi Deskripsi
Pilih spesifikasi memori yang sesuai. Saat Anda memilih jenis mesin GPU, pilih spesifikasi memori berdasarkan faktor berikut:
  • Kapasitas model: Ukuran memori total (jejak memori) dari parameter dan gradien model yang dapat dilatih.
  • Jenis workload: Pelatihan memerlukan lebih banyak memori daripada penayangan.
  • Ukuran batch pelatihan: Untuk batch yang lebih besar, lebih banyak aktivasi yang disimpan dan persyaratan memori lebih tinggi.
  • Jenis data: Workload yang memproses gambar berkualitas tinggi atau yang menggunakan aritmetika presisi tinggi memerlukan jenis mesin dengan spesifikasi memori yang lebih besar.
Menilai persyaratan bandwidth inti dan memori. Selain ukuran memori, pertimbangkan persyaratan lain seperti jumlah core Tensor dan bandwidth memori. Faktor-faktor ini memengaruhi kecepatan akses dan komputasi data di chip.
Pilih jenis mesin GPU yang sesuai.

Pelatihan dan penayangan mungkin memerlukan jenis mesin GPU yang berbeda.

  • Tugas pelatihan memerlukan satu atau beberapa GPU, atau bahkan beberapa node, dengan memori dan bandwidth yang sangat besar.
  • Workload inferensi memerlukan memori yang relatif lebih sedikit dan GPU berperforma tinggi yang lebih sedikit.

Sebaiknya gunakan jenis mesin besar untuk pelatihan dan jenis mesin yang lebih kecil dan hemat biaya untuk inferensi. Untuk mendeteksi masalah pemanfaatan resource, gunakan alat pemantauan seperti agen NVIDIA DCGM dan sesuaikan resource dengan tepat.

Manfaatkan berbagi GPU di GKE.

Mendedikasikan GPU penuh ke satu container mungkin merupakan pendekatan yang tidak efisien dalam beberapa kasus. Untuk membantu Anda mengatasi inefisiensi ini, GKE mendukung strategi berbagi GPU berikut:

Untuk memaksimalkan pemanfaatan resource, sebaiknya gunakan kombinasi strategi yang tepat. Misalnya, saat Anda memvirtualisasikan GPU H100 besar menggunakan strategi GPU berbagi waktu dan GPU multi-instance, platform penayangan dapat melakukan penskalaan naik dan turun berdasarkan traffic. Resource GPU diubah fungsinya secara real time berdasarkan beban pada container model.

Mengoptimalkan perutean dan load balancing. Saat men-deploy beberapa model di cluster, Anda dapat menggunakan GKE Inference Gateway untuk load balancing dan perutean yang dioptimalkan. Inference Gateway memperluas mekanisme perutean Kubernetes Gateway API dengan menggunakan kemampuan berikut:
Bagikan resource untuk endpoint Vertex AI. Anda dapat mengonfigurasi beberapa endpoint Vertex AI untuk menggunakan kumpulan resource umum. Untuk mengetahui informasi selengkapnya tentang fitur ini dan batasannya, lihat Membagikan resource di seluruh deployment.

Mengoptimalkan pelatihan dan inferensi di TPU

TPU adalah chip Google yang membantu memecahkan tantangan skala besar untuk algoritma ML. Chip ini memberikan performa optimal untuk beban kerja inferensi dan pelatihan AI. Jika dibandingkan dengan GPU, TPU memberikan efisiensi yang lebih tinggi untuk pelatihan dan penayangan deep learning. Untuk mengetahui informasi tentang kasus penggunaan yang cocok untuk TPU, lihat Kapan harus menggunakan TPU. TPU kompatibel dengan framework ML seperti TensorFlow, PyTorch, dan JAX.

Untuk mengoptimalkan performa TPU, gunakan teknik berikut, yang dijelaskan dalam panduan performa Cloud TPU:

  • Maksimalkan ukuran batch untuk setiap unit memori TPU.
  • Pastikan TPU tidak dalam kondisi tidak ada aktivitas. Misalnya, terapkan pembacaan data paralel.
  • Mengoptimalkan compiler XLA. Sesuaikan dimensi tensor sesuai kebutuhan dan hindari padding. XLA otomatis mengoptimalkan performa eksekusi grafik dengan menggunakan alat seperti penggabungan dan penyiaran.

Mengoptimalkan pelatihan di TPU dan penyajian di GPU

TPU mendukung pelatihan yang efisien. GPU memberikan fleksibilitas dan ketersediaan yang lebih luas untuk workload inferensi. Untuk menggabungkan keunggulan TPU dan GPU, Anda dapat melatih model di TPU dan menyajikannya di GPU. Pendekatan ini dapat membantu mengurangi biaya keseluruhan dan mempercepat pengembangan, terutama untuk model besar. Untuk mengetahui informasi tentang lokasi tempat jenis mesin TPU dan GPU tersedia, lihat Region dan zona TPU dan Lokasi GPU.

Mengoptimalkan lapisan penyimpanan

Lapisan penyimpanan infrastruktur pelatihan dan penayangan Anda sangat penting untuk performa. Tugas pelatihan dan workload inferensi melibatkan aktivitas terkait penyimpanan berikut:

  • Memuat dan memproses data.
  • Membuat checkpoint model selama pelatihan.
  • Memuat ulang biner untuk melanjutkan pelatihan setelah preempti node.
  • Memuat model secara efisien untuk menangani inferensi dalam skala besar.

Faktor berikut menentukan persyaratan Anda untuk kapasitas penyimpanan, bandwidth, dan latensi:

  • Ukuran model
  • Volume set data pelatihan
  • Frekuensi pembuatan titik pemeriksaan
  • Pola penskalaan

Jika data pelatihan Anda ada di Cloud Storage, Anda dapat mengurangi latensi pemuatan data dengan menggunakan penyimpanan file dalam cache di Cloud Storage FUSE. Dengan Cloud Storage FUSE, Anda dapat memasang bucket Cloud Storage di node komputasi yang memiliki disk SSD Lokal. Untuk mengetahui informasi tentang cara meningkatkan performa Cloud Storage FUSE, lihat Praktik terbaik penyesuaian performa.

Konektor PyTorch ke Cloud Storage memberikan performa tinggi untuk pembacaan dan penulisan data. Konektor ini sangat bermanfaat untuk pelatihan dengan set data besar dan untuk membuat titik pemeriksaan model besar.

Compute Engine mendukung berbagai jenis Persistent Disk. Dengan Google Cloud Hyperdisk ML, Anda dapat menyediakan throughput dan IOPS yang diperlukan berdasarkan kebutuhan pelatihan. Untuk mengoptimalkan performa disk, mulailah dengan mengubah ukuran disk, lalu pertimbangkan untuk mengubah jenis mesin. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan performa Persistent Disk. Untuk menguji beban performa dan latensi baca-tulis di lapisan penyimpanan, Anda dapat menggunakan alat seperti Penguji I/O fleksibel (FIO).

Untuk mengetahui informasi selengkapnya tentang cara memilih dan mengoptimalkan layanan penyimpanan untuk workload AI dan ML Anda, lihat dokumentasi berikut:

Mengoptimalkan lapisan jaringan

Untuk mengoptimalkan performa workload AI dan ML, konfigurasi jaringan VPC Anda untuk menyediakan bandwidth yang memadai dan throughput maksimum dengan latensi minimum. Pertimbangkan rekomendasi berikut:

Rekomendasi Teknik yang disarankan untuk penerapan
Mengoptimalkan jaringan VPC.
Tempatkan VM lebih dekat satu sama lain.
Konfigurasi VM untuk mendukung kecepatan jaringan yang lebih tinggi.

Untuk berinovasi, memecahkan masalah, dan menyelidiki masalah performa, Anda harus menetapkan hubungan yang jelas antara pilihan desain dan hasil performa. Anda memerlukan catatan yang andal tentang asal-usul aset ML, deployment, output model, dan konfigurasi serta input terkait yang menghasilkan output.

Membangun sistem silsilah data dan model

Untuk meningkatkan performa secara andal, Anda memerlukan kemampuan untuk melacak setiap versi model kembali ke data, kode, dan konfigurasi persis yang digunakan untuk menghasilkan model. Saat Anda menskalakan model, penelusuran semacam itu menjadi sulit. Anda membutuhkan sistem silsilah yang mengotomatiskan proses penelusuran dan membuat catatan yang jelas dan dapat dikueri untuk setiap eksperimen. Sistem ini memungkinkan tim Anda mengidentifikasi dan mereproduksi secara efisien pilihan yang menghasilkan model dengan performa optimal.

Untuk melihat dan menganalisis silsilah artefak pipeline untuk workload di Vertex AI, Anda dapat menggunakan Vertex ML Metadata atau Dataplex Universal Catalog. Kedua opsi memungkinkan Anda mendaftarkan peristiwa atau artefak untuk memenuhi persyaratan tata kelola dan mengkueri metadata serta mengambil informasi jika diperlukan. Bagian ini memberikan ringkasan tentang kedua opsi tersebut. Untuk mengetahui informasi mendetail tentang perbedaan antara Vertex ML Metadata dan Dataplex Universal Catalog, lihat bagian Melacak silsilah artefak pipeline.

Implementasi default: Vertex AI ML Metadata

Operasi pipeline atau eksperimen pertama Anda di Vertex AI akan membuat layanan Vertex ML Metadata default. Parameter dan metadata artefak yang digunakan dan dihasilkan oleh pipeline secara otomatis didaftarkan ke penyimpanan Vertex ML Metadata. Model data yang digunakan untuk mengatur dan menghubungkan metadata yang disimpan berisi elemen berikut:

  • Konteks: Sekelompok artefak dan eksekusi yang merepresentasikan jalannya eksperimen.
  • Eksekusi: Langkah dalam alur kerja, seperti validasi data atau pelatihan model.
  • Artefak: Entity, objek, atau bagian data input atau output yang dihasilkan dan digunakan oleh alur kerja.
  • Peristiwa: Hubungan antara artefak dan eksekusi.

Secara default, Vertex ML Metadata menangkap dan melacak semua artefak input dan output dari eksekusi pipeline. Vertex ML Metadata mengintegrasikan artefak ini dengan Vertex AI Experiments, Model Registry, dan set data terkelola Vertex AI.

Autologging adalah fitur bawaan di Vertex AI Training untuk otomatis mencatat data ke Vertex AI Experiment. Untuk melacak eksperimen secara efisien guna mengoptimalkan performa, gunakan integrasi bawaan antara Vertex AI Experiments dan layanan Vertex ML Metadata terkait.

Vertex ML Metadata menyediakan sintaksis dan operator pemfilteran untuk menjalankan kueri tentang artefak, eksekusi, dan konteks. Jika diperlukan, tim Anda dapat mengambil informasi secara efisien tentang link registri model dan set datanya atau evaluasinya untuk menjalankan eksperimen tertentu. Metadata ini dapat membantu mempercepat penemuan pilihan yang mengoptimalkan performa. Misalnya, Anda dapat membandingkan operasi pipeline, membandingkan model, dan membandingkan operasi eksperimen. Untuk mengetahui informasi selengkapnya, termasuk contoh kueri, lihat Menganalisis Metadata Vertex ML.

Implementasi alternatif: Dataplex Universal Catalog

Dataplex Universal Catalog menemukan metadata dari Google Cloud resource, termasuk artefak Vertex AI. Anda juga dapat mengintegrasikan sumber data kustom.

Dataplex Universal Catalog dapat membaca metadata di beberapa region dan penyimpanan di seluruh organisasi, sedangkan Vertex ML Metadata adalah resource khusus project. Jika dibandingkan dengan Vertex ML Metadata, Dataplex Universal Catalog memerlukan lebih banyak upaya penyiapan. Namun, Dataplex Universal Catalog mungkin cocok jika Anda memerlukan integrasi dengan portofolio data yang lebih luas di Google Cloud dan dengan penyimpanan di seluruh organisasi.

Dataplex Universal Catalog menemukan dan mengumpulkan metadata untuk project tempat Data Lineage API diaktifkan. Metadata dalam katalog diatur menggunakan model data yang terdiri dari project, grup entri, entri, dan aspek. Dataplex Universal Catalog menyediakan sintaksis tertentu yang dapat Anda gunakan untuk menemukan artefak. Jika diperlukan, Anda dapat memetakan artefak Vertex ML Metadata ke Dataplex Universal Catalog.

Menggunakan alat penjelasan

Perilaku model AI didasarkan pada data yang digunakan untuk melatih model tersebut. Perilaku ini dienkode sebagai parameter dalam fungsi matematika. Memahami secara persis mengapa model berperforma dengan cara tertentu bisa jadi sulit. Namun, pengetahuan ini sangat penting untuk pengoptimalan performa.

Misalnya, pertimbangkan model klasifikasi gambar yang data pelatihannya hanya berisi gambar mobil merah. Model mungkin belajar mengidentifikasi label "mobil" berdasarkan warna objek, bukan atribut spasial dan bentuk objek. Saat model diuji dengan gambar yang menampilkan mobil dengan warna yang berbeda, performa model dapat menurun. Bagian berikut menjelaskan alat yang dapat Anda gunakan untuk mengidentifikasi dan mendiagnosis masalah tersebut.

Mendeteksi bias data

Pada fase analisis data eksploratif (EDA) project ML, Anda mengidentifikasi masalah pada data, seperti set data yang tidak seimbang kelasnya dan bias.

Dalam sistem produksi, Anda sering kali melatih ulang model dan menjalankan eksperimen dengan set data yang berbeda. Untuk menstandardisasi data dan membandingkan di seluruh eksperimen, sebaiknya gunakan pendekatan sistematis untuk EDA yang mencakup karakteristik berikut:

  • Otomatisasi: Seiring bertambahnya ukuran set pelatihan, proses EDA harus berjalan secara otomatis di latar belakang.
  • Cakupan luas: Saat Anda menambahkan fitur baru, EDA harus mengungkapkan insight tentang fitur baru tersebut.

Banyak tugas EDA khusus untuk jenis data dan konteks bisnis. Untuk mengotomatiskan proses EDA, gunakan BigQuery atau layanan pemrosesan data terkelola seperti Dataflow. Untuk mengetahui informasi selengkapnya, lihat Klasifikasi pada data yang tidak seimbang dan Metrik bias data untuk Vertex AI.

Memahami karakteristik dan perilaku model

Selain memahami distribusi data dalam set pelatihan dan validasi serta biasnya, Anda perlu memahami karakteristik dan perilaku model pada waktu prediksi. Untuk memahami perilaku model, gunakan alat berikut:

Alat Deskripsi Tujuan
Penjelasan berbasis contoh Anda dapat menggunakan penjelasan berbasis contoh di Vertex Explainable AI untuk memahami prediksi dengan menemukan contoh paling mirip dari data pelatihan. Pendekatan ini didasarkan pada prinsip bahwa input yang serupa akan menghasilkan output yang serupa.
  • Identifikasi dan perbaiki kesenjangan dalam data pelatihan dengan menemukan contoh serupa untuk prediksi yang salah.
  • Mengklasifikasikan input yang awalnya tidak dilatih untuk dikenali oleh model, dengan menggunakan tetangga dari set referensi.
  • Mengidentifikasi anomali dengan menemukan input yang sangat berbeda dari semua contoh pelatihan yang diketahui.
  • Membuat pengumpulan data lebih efisien dengan mengidentifikasi kasus ambigu, seperti saat tetangga memiliki label yang berbeda. Prioritaskan kasus tersebut untuk peninjauan manual.
Penjelasan berbasis fitur

Untuk prediksi yang didasarkan pada data tabulasi atau gambar, penjelasan berbasis fitur menunjukkan seberapa besar pengaruh setiap fitur terhadap prediksi jika dibandingkan dengan dasar pengukuran.

Vertex AI menyediakan berbagai metode atribusi fitur, bergantung pada jenis model dan tugas. Metode ini biasanya mengandalkan pengambilan sampel dan analisis sensitivitas untuk mengukur seberapa besar perubahan output sebagai respons terhadap perubahan dalam fitur input.

  • Mengidentifikasi bias yang mungkin terlewatkan oleh langkah validasi.
  • Mengoptimalkan performa dengan mengidentifikasi fitur yang paling penting untuk prediksi. Untuk meningkatkan kualitas dan performa model, engineer ML dapat secara sengaja menambahkan, menghapus, atau merekayasa fitur.
What-If Tool What-If Tool dikembangkan oleh inisiatif People + AI Research (PAIR) Google untuk membantu Anda memahami dan memvisualisasikan perilaku model gambar dan tabel. Untuk contoh penggunaan alat ini, lihat Demo Web Alat Simulasi.
  • Men-debug dan menemukan akar penyebab prediksi yang salah.
  • Selidiki performa model di berbagai subset data dengan mengidentifikasi bias melalui analisis keadilan.
  • Memahami perilaku model, terutama hubungan antara prediksi model dan fitur input.
  • Bandingkan prediksi menggunakan alat perbandingan visual yang memerlukan dua model atau dasar pengukuran kebenaran nyata.

Kontributor

Penulis:

Kontributor lainnya: