Praktik terbaik untuk mengimplementasikan machine learning di Google Cloud

Last reviewed 2024-09-09 UTC

Dokumen ini memperkenalkan praktik terbaik untuk menerapkan machine learning (ML) di Google Cloud, dengan fokus pada model yang dilatih khusus berdasarkan data dan kode Anda. Panduan ini memberikan rekomendasi tentang cara mengembangkan model yang dilatih khusus di seluruh alur kerja ML, termasuk tindakan dan link utama untuk dibaca lebih lanjut.

Diagram berikut memberikan ringkasan umum tentang tahapan dalam alur kerja ML yang dibahas dalam dokumen ini, termasuk produk terkait:

  1. Pengembangan ML
  2. Persiapan data
  3. Pelatihan ML
  4. Deployment dan penayangan model
  5. Orkestrasi alur kerja ML
  6. Organisasi artefak
  7. Pemantauan model

Alur kerja ML di Google Cloud.

Dokumen ini bukanlah daftar rekomendasi lengkap; tujuannya adalah untuk membantu data scientist dan arsitek ML memahami cakupan aktivitas yang terlibat dalam penggunaan ML di Google Cloud dan membuat perencanaan yang sesuai. Meskipun alternatif pengembangan ML seperti AutoML telah disebutkan dalam Menggunakan alat dan produk yang direkomendasikan, dokumen ini berfokus terutama pada model yang dilatih khusus.

Sebelum mengikuti praktik terbaik dalam dokumen ini, sebaiknya Anda membaca Pengantar Vertex AI.

Dokumen ini mengasumsikan hal berikut:

  • Anda utamanya menggunakan layanan Google Cloud; pendekatan hybrid dan lokal tidak dibahas dalam dokumen ini.
  • Anda berencana untuk mengumpulkan data pelatihan dan menyimpannya di Google Cloud.
  • Anda memiliki pengetahuan tingkat menengah tentang ML, alat big data, dan prapemrosesan data, serta telah memahami dasar-dasar Cloud Storage, BigQuery, dan Google Cloud.

Jika Anda baru mengenal ML, lihat Kursus Singkat ML Google.

Tabel berikut mencantumkan alat dan produk yang direkomendasikan untuk setiap fase alur kerja ML seperti yang diuraikan dalam dokumen ini:

Langkah alur kerja ML Alat dan produk yang direkomendasikan
Penyiapan lingkungan ML
Pengembangan ML
Persiapan data
Pelatihan ML
Deployment dan penayangan model
Orkestrasi alur kerja ML
Organisasi artefak
Pemantauan model
Platform open source terkelola

Google menawarkan AutoML, peramalan dengan Vertex AI, dan BigQuery ML sebagai alternatif rutinitas pelatihan bawaan untuk solusi model Vertex AI yang dilatih khusus. Tabel berikut memberikan rekomendasi tentang kapan harus menggunakan opsi ini untuk Vertex AI.

Lingkungan ML Deskripsi Pilih lingkungan ini jika...
BigQuery ML BigQuery ML menyatukan data, infrastruktur, dan jenis model yang telah ditentukan ke dalam satu sistem.
AutoML (dalam konteks Vertex AI) AutoML menyediakan rutinitas pelatihan untuk masalah umum seperti klasifikasi gambar dan regresi tabel. Hampir semua aspek pelatihan dan penyaluran model, seperti memilih arsitektur, penyesuaian hyperparameter, dan penyediaan mesin, akan ditangani untuk Anda.
Model Vertex AI yang dilatih khusus Dengan Vertex, Anda dapat menjalankan rutinitas pelatihan kustom Anda sendiri dan men-deploy model apa pun dari jenis apa pun pada arsitektur serverless. Vertex AI menawarkan layanan tambahan, seperti penyesuaian dan pemantauan hyperparameter, untuk mempermudah pengembangan model. Lihat Memilih metode pelatihan kustom.
  • Masalah Anda tidak cocok dengan kriteria yang tercantum dalam tabel ini untuk BigQuery ML atau AutoML.
  • Anda sudah menjalankan pelatihan di infrastruktur lokal atau di platform cloud lainnya, dan Anda memerlukan konsistensi di seluruh platform.

Penyiapan lingkungan ML

Sebaiknya gunakan praktik terbaik berikut saat menyiapkan lingkungan ML:

Menggunakan instance Vertex AI Workbench untuk eksperimen dan pengembangan

Terlepas dari alat yang Anda gunakan, sebaiknya gunakan instance Vertex AI Workbench untuk eksperimen dan pengembangan, termasuk menulis kode, memulai tugas, menjalankan kueri, dan memeriksa status. Dengan instance Vertex AI Workbench, Anda dapat mengakses semua layanan data dan AI Google Cloud dengan cara yang sederhana dan dapat direproduksi.

Instance Vertex AI Workbench juga memberi Anda serangkaian software dan pola akses yang aman secara langsung. Menyesuaikan properti Google Cloud, seperti Network and Identity and Access Management, dan software (melalui container) yang terkait dengan instance Vertex AI Workbench merupakan praktik yang umum dilakukan. Untuk mengetahui informasi selengkapnya, lihat Pengantar Vertex AI dan Pengantar instance Vertex AI Workbench.

Atau, Anda dapat menggunakan Colab Enterprise, yang merupakan lingkungan notebook terkelola kolaboratif yang menggunakan kemampuan keamanan dan kepatuhan Google Cloud.

Membuat instance Vertex AI Workbench untuk setiap anggota tim

Buat instance Vertex AI Workbench untuk setiap anggota tim data science Anda. Jika anggota tim terlibat dalam beberapa project, terutama project yang memiliki dependensi berbeda, sebaiknya gunakan beberapa instance. Perlakukan setiap instance sebagai ruang kerja virtual. Perlu diperhatikan bahwa Anda dapat menghentikan instance Vertex AI Workbench saat tidak digunakan.

Menyimpan resource dan artefak ML berdasarkan kebijakan perusahaan Anda

Kontrol akses yang paling sederhana adalah menyimpan resource dan artefak serta Vertex AI mentah Anda, seperti set data dan model, dalam project Google Cloud yang sama. Biasanya, perusahaan Anda memiliki kebijakan yang mengontrol akses. Jika resource dan artefak Anda disimpan di seluruh project, Anda dapat mengonfigurasi kontrol akses lintas project perusahaan Anda dengan Identity and Access Management (IAM).

Menggunakan Vertex AI SDK untuk Python

Gunakan Vertex AI SDK untuk Python, cara Pythonic menggunakan Vertex AI untuk alur kerja pembuatan model menyeluruh Anda, yang berfungsi lancar dengan framework ML favorit Anda, termasuk PyTorch, TensorFlow, XGBoost, dan scikit-learn.

Atau, Anda dapat menggunakan konsol Google Cloud, yang mendukung fungsi Vertex AI sebagai antarmuka pengguna melalui browser.

Pengembangan ML

Sebaiknya lakukan praktik terbaik berikut untuk pengembangan ML:

Pengembangan ML membahas penyiapan data, eksperimen, dan evaluasi model. Saat memecahkan masalah ML, biasanya Anda perlu mem-build dan membandingkan berbagai model untuk mengetahui model mana yang paling sesuai.

Biasanya, data scientist melatih model menggunakan arsitektur, set data input, hyperparameter, dan hardware yang berbeda. Data scientist mengevaluasi model yang dihasilkan dengan melihat metrik performa gabungan, seperti akurasi, presisi, dan perolehan pada set data pengujian. Terakhir, data scientist mengevaluasi performa model berdasarkan subkumpulan tertentu dari datanya, versi model yang berbeda, dan arsitektur model yang berbeda.

Menyiapkan data pelatihan

Data yang digunakan untuk melatih model dapat berasal dari sejumlah sistem, misalnya, log dari sistem layanan online, image dari perangkat lokal, atau dokumen yang disalin dari web.

Terlepas dari asal data Anda, ekstrak data dari sistem sumber dan konversikan ke format dan penyimpanan (terpisah dari sumber operasional) yang dioptimalkan untuk pelatihan ML. Untuk informasi selengkapnya tentang cara menyiapkan data pelatihan untuk penggunaan dengan Vertex AI, lihat Melatih dan menggunakan model Anda sendiri.

Menyimpan data terstruktur dan semi-terstruktur di BigQuery

Jika Anda bekerja dengan data terstruktur atau semi-terstruktur, sebaiknya simpan semua data di BigQuery, dengan mengikuti rekomendasi BigQuery untuk struktur project. Pada umumnya, Anda juga dapat menyimpan data perantara yang diproses di BigQuery. Untuk kecepatan maksimum, sebaiknya simpan data terwujud daripada menggunakan tampilan atau subkueri untuk data pelatihan.

Membaca data dari BigQuery menggunakan BigQuery Storage API. Untuk pelacakan artefak, pertimbangkan untuk menggunakan set data tabulasi terkelola. Tabel berikut mencantumkan alat Google Cloud yang mempermudah penggunaan API:

Jika Anda menggunakan... Menggunakan alat Google Cloud ini
TensorFlow untuk Keras Pembaca tf.data.dataset untuk BigQuery
TFX Klien BigQuery
Dataflow Konektor I/O Google BigQuery
Framework lainnya (seperti PyTorch, XGBoost, atau scilearn-kit) Mengimpor model di BigQuery

Menyimpan data gambar, video, audio, dan tidak terstruktur di Cloud Storage

Simpan data ini dalam format container besar di Cloud Storage. Hal ini berlaku untuk file TFRecord yang di-sharding jika Anda menggunakan TensorFlow, atau file Avro jika Anda menggunakan framework lain.

Gabungkan banyak klip gambar, video, atau audio individual ke dalam file besar karena hal ini akan meningkatkan throughput baca dan tulis Anda ke Cloud Storage. Usahakan file berukuran minimal 100 MB, dan berukuran antara 100 hingga 10.000 shard.

Untuk mengaktifkan pengelolaan data, gunakan bucket dan direktori Cloud Storage untuk mengelompokkan shard. Untuk informasi selengkapnya, lihat Ringkasan produk Cloud Storage.

Menggunakan layanan pelabelan data dengan Konsol Google Cloud

Anda dapat membuat dan mengimpor data pelatihan melalui halaman Vertex AI di konsol Google Cloud. Dengan menggunakan kemampuan perintah dan penyesuaian Gemini, Anda dapat mengelola data teks dengan klasifikasi, ekstraksi entitas, dan analisis sentimen kustom. Ada juga solusi pelabelan data di Marketplace konsol Google Cloud, seperti Labelbox dan Snorkel Flow.

Menggunakan Vertex AI Feature Store dengan data terstruktur

Anda dapat menggunakan Vertex AI Feature Store untuk membuat, mengelola, membagikan, dan menyalurkan fitur ML di lokasi terpusat. Layanan ini dioptimalkan untuk menayangkan beban kerja yang memerlukan latensi rendah, dan memungkinkan Anda menyimpan data fitur di tabel atau tampilan BigQuery. Untuk menggunakan Vertex AI Feature Store, Anda harus membuat instance penyimpanan online dan menentukan tampilan fitur. BigQuery menyimpan semua data fitur, termasuk data fitur historis, sehingga Anda dapat bekerja secara offline.

Menggunakan Vertex AI TensorBoard dan Vertex AI Experiment untuk menganalisis eksperimen

Saat mengembangkan model, gunakan Vertex AI TensorBoard untuk memvisualisasikan dan membandingkan eksperimen tertentu, misalnya, berdasarkan hyperparameter. Vertex AI TensorBoard adalah layanan terkelola yang siap digunakan perusahaan dengan solusi aman dan hemat biaya yang memungkinkan data scientist dan peneliti ML berkolaborasi dengan memudahkan pelacakan, membandingkan, dan membagikan eksperimen mereka. Vertex AI TensorBoard dapat melacak metrik eksperimen seperti kehilangan dan akurasi dari waktu ke waktu, memvisualisasikan grafik model, memproyeksikan embedding ke ruang dimensi yang lebih rendah, dan banyak lagi.

Gunakan Vertex AI Experiments untuk berintegrasi dengan Vertex ML Metadata dan untuk membuat log serta membuat penautan di seluruh parameter, metrik, dan set data, serta artefak model.

Melatih model dalam instance Vertex AI Workbench untuk set data kecil

Melatih model dalam instance Vertex AI Workbench mungkin cukup untuk set data kecil, atau subset dari set data yang lebih besar. Sebaiknya gunakan layanan pelatihan untuk set data yang lebih besar atau untuk pelatihan yang terdistribusi. Menggunakan layanan pelatihan Vertex AI juga direkomendasikan untuk memproduksi pelatihan bahkan pada set data kecil jika pelatihan dilakukan sesuai jadwal atau sebagai respons terhadap kedatangan data tambahan.

Memaksimalkan akurasi prediktif model Anda dengan penyesuaian hyperparameter

Untuk memaksimalkan akurasi prediksi model, gunakan penyesuaian hyperparameter, pengoptimal model otomatis yang disediakan oleh layanan pelatihan Vertex AI yang memanfaatkan infrastruktur pemrosesan Google Cloud dan Vertex AI Vizier untuk menguji berbagai konfigurasi hyperparameter saat melatih model Anda. Penyesuaian hyperparameter menghilangkan kebutuhan untuk menyesuaikan hyperparameter secara manual selama berbagai pelatihan yang dijalankan untuk mendapatkan nilai yang optimal.

Untuk mempelajari penyesuaian hyperparameter lebih lanjut, lihat Ringkasan penyesuaian hyperparameter dan Membuat tugas penyesuaian hyperparameter.

Menggunakan instance Vertex AI Workbench untuk memahami model Anda

Gunakan instance Vertex AI Workbench untuk mengevaluasi dan memahami model Anda. Selain library umum bawaan seperti scikit-learn, instance Vertex AI Workbench juga menyertakan What-if Tool (WIT) dan Language Interpretability Tool (LIT). WIT memungkinkan Anda menganalisis bias pada model secara interaktif menggunakan beberapa teknik, sementara LIT membantu Anda memahami perilaku model natural language processing melalui alat visual, interaktif, dan dapat diperluas.

Menggunakan atribusi fitur untuk mendapatkan insight tentang prediksi model

Vertex Explainable AI adalah bagian integral dari proses implementasi ML, yang menawarkan atribusi fitur untuk memberikan insight tentang alasan model menghasilkan prediksi. Dengan menjelaskan pentingnya setiap fitur yang digunakan model sebagai input untuk membuat prediksi, Vertex Explainable AI dapat membantu Anda lebih memahami perilaku model dan membangun kepercayaan terhadap model Anda.

Vertex Explainable AI mendukung model yang dilatih khusus berdasarkan data tabel dan gambar.

Untuk informasi selengkapnya tentang Vertex Explainable AI, lihat:

Persiapan data

Kami merekomendasikan praktik terbaik berikut untuk persiapan data:

Pendekatan yang direkomendasikan untuk memproses data bergantung pada framework dan jenis data yang Anda gunakan. Bagian ini memberikan rekomendasi tingkat tinggi untuk skenario umum.

Menggunakan BigQuery untuk memproses data terstruktur dan semi-terstruktur

Gunakan BigQuery untuk menyimpan data terstruktur atau semi-terstruktur yang belum diproses. Jika Anda membuat model menggunakan BigQuery ML, gunakan transformasi yang ada di BigQuery untuk melakukan prapemrosesan data. Jika Anda menggunakan AutoML, gunakan transformasi yang ada di dalam AutoML untuk melakukan prapemrosesan data. Jika Anda sedang membuat model kustom, menggunakan transformasi BigQuery mungkin merupakan metode yang paling hemat biaya.

Untuk set data besar, pertimbangkan untuk menggunakan partisi di BigQuery. Praktik ini dapat meningkatkan performa kueri dan efisiensi biaya.

Menggunakan Dataflow untuk memproses data

Dengan volume data yang besar, pertimbangkan untuk menggunakan Dataflow, yang menggunakan model pemrograman Apache Beam. Anda dapat menggunakan Dataflow untuk mengonversi data tidak terstruktur ke dalam format data biner seperti TFRecord, yang dapat meningkatkan performa penyerapan data selama proses pelatihan.

Gunakan Dataproc untuk pemrosesan data Spark serverless

Atau, jika organisasi Anda berinvestasi dalam codebase dan keterampilan Apache Spark, pertimbangkan untuk menggunakan Dataproc. Menggunakan skrip Python satu kali untuk set data lebih kecil yang sesuai dengan memori.

Jika perlu melakukan transformasi yang tidak dapat dinyatakan di Cloud SQL atau untuk streaming, Anda dapat menggunakan kombinasi Dataflow dan library pandas.

Menggunakan set data terkelola dengan metadata ML

Setelah data Anda menjalani prapemrosesan untuk ML, sebaiknya pertimbangkan untuk menggunakan set data terkelola di Vertex AI. Dengan set data terkelola, Anda dapat membuat hubungan yang jelas antara data dan model yang dilatih khusus, serta menyediakan statistik deskriptif dan pemisahan otomatis atau manual ke dalam set pelatihan, pengujian, dan validasi.

Set data terkelola tidak diperlukan; Anda dapat memilih untuk tidak menggunakannya jika menginginkan kontrol lebih besar dalam membagi data dalam kode pelatihan, atau jika garis turunan antara data dan model tidak penting bagi aplikasi Anda.

Untuk informasi selengkapnya, lihat Set Data dan Menggunakan set data terkelola dalam aplikasi pelatihan kustom.

Pelatihan ML

Kami merekomendasikan praktik terbaik berikut untuk pelatihan ML:

Dalam pelatihan ML, pelatihan yang dioperasikan mengacu pada proses membuat pelatihan model dapat diulang dengan melacak pengulangan, dan mengelola performa. Meskipun instance Vertex AI Workbench nyaman untuk pengembangan iteratif pada set data kecil, sebaiknya operasikan kode Anda agar dapat direproduksi dan dapat diskalakan ke set data besar. Di bagian ini, kita akan membahas alat dan praktik terbaik untuk mengoperasikan rutinitas pelatihan Anda.

Menjalankan kode dalam layanan terkelola

Sebaiknya jalankan kode Anda di layanan pelatihan Vertex AI atau orkestrasi dengan Vertex AI Pipelines. Atau, Anda dapat menjalankan kode secara langsung di Deep Learning VM Image, Deep Learning Containers, atau Compute Engine. Namun, sebaiknya jangan gunakan pendekatan ini jika Anda menggunakan fitur Vertex AI seperti penskalaan otomatis dan kemampuan burst.

Mengoperasikan eksekusi tugas dengan pipeline pelatihan

Untuk mengoperasionalkan eksekusi tugas pelatihan di Vertex AI, Anda dapat membuat pipeline pelatihan. Pipeline pelatihan, yang berbeda dari pipeline ML umum, mengenkapsulasi tugas pelatihan. Untuk mempelajari pipeline pelatihan lebih lanjut, lihat Membuat pipeline pelatihan dan Resource REST: projects.locations.trainingPipelines.

Menggunakan checkpoint pelatihan untuk menyimpan status eksperimen Anda saat ini

Alur kerja ML dalam dokumen ini mengasumsikan bahwa Anda tidak melakukan pelatihan secara interaktif. Jika model Anda gagal dan tidak mengalami checkpoint, tugas pelatihan atau pipeline akan selesai dan data akan hilang karena model tidak ada dalam memori. Untuk mencegah skenario ini, praktikkan selalu gunakan checkpoint pelatihan untuk memastikan Anda tidak kehilangan status.

Sebaiknya simpan checkpoint pelatihan di Cloud Storage. Buat folder yang berbeda untuk setiap eksperimen atau pelatihan yang dijalankan.

Untuk mempelajari checkpoint lebih lanjut, lihat Checkpoint pelatihan untuk TensorFlow Core, Menyimpan dan memuat General Checkpoint di PyTorch, dan Pola Desain ML.

Mempersiapkan artefak model untuk ditayangkan di Cloud Storage

Untuk model yang dilatih khusus atau container kustom, simpan artefak model Anda di bucket Cloud Storage, dengan region bucket yang cocok dengan endpoint regional yang Anda gunakan untuk produksi. Lihat Region bucket untuk informasi selengkapnya.

Cloud Storage mendukung pembuatan versi objek. Untuk memberikan mitigasi terhadap kerusakan atau kehilangan data yang tidak disengaja, aktifkan pembuatan versi objek di Cloud Storage.

Simpan bucket Cloud Storage Anda dalam project Google Cloud yang sama. Jika bucket Cloud Storage Anda berada di project Google Cloud lain, Anda perlu memberi Vertex AI akses untuk membaca artefak model Anda.

Jika Anda menggunakan container bawaan Vertex AI, pastikan artefak model Anda memiliki nama file yang sama persis dengan contoh berikut:

  • TensorFlow SavedModel: saved_model.pb
  • Scikit-learn: model.joblib atau model.pkl
  • XGBoost: model.bst
  • PyTorch: model.pth

Untuk mempelajari cara menyimpan model dalam bentuk satu atau beberapa artefak model, lihat Mengekspor artefak model untuk prediksi.

Menghitung nilai fitur baru secara rutin

Sering kali, sebuah model akan menggunakan subset fitur yang bersumber dari Vertex AI Feature Store. Fitur di Vertex AI Feature Store sudah siap untuk penayangan online. Untuk semua fitur baru yang dibuat oleh data scientist dengan mengambil data dari data lake, sebaiknya jadwalkan tugas pemrosesan data dan rekayasa fitur yang sesuai (atau idealnya Dataflow) untuk menghitung nilai fitur baru secara rutin di ritme yang diperlukan, bergantung pada kebutuhan keaktualan fitur, dan memasukkannya ke Vertex AI Feature Store untuk penayangan online atau batch.

Deployment dan penayangan model

Kami merekomendasikan praktik terbaik berikut untuk deployment dan penayangan model:

Deployment dan penayangan model mengacu pada penempatan model ke dalam produksi. Output tugas pelatihan adalah satu atau beberapa artefak model yang disimpan di Cloud Storage, yang dapat Anda upload ke Model Registry agar file tersebut dapat digunakan untuk penayangan prediksi. Ada dua jenis penyaluran prediksi: prediksi batch digunakan untuk menilai batch data secara rutin, dan prediksi online digunakan untuk penilaian data mendekati real-time untuk aplikasi live. Kedua pendekatan tersebut memungkinkan Anda mendapatkan prediksi dari model terlatih dengan meneruskan data input ke model ML yang dihosting di cloud dan mendapatkan inferensi untuk setiap instance data.Untuk mempelajari lebih lanjut, lihat Mendapatkan prediksi batch dan Mendapatkan prediksi online dari model yang dilatih khusus.

Untuk menurunkan latensi bagi permintaan peer-to-peer antara klien dan server model, gunakan endpoint pribadi Vertex AI. Endpoint pribadi sangat berguna jika aplikasi Anda yang membuat permintaan prediksi dan biner penayangan berada dalam jaringan lokal yang sama. Anda dapat menghindari overhead perutean internet dan membuat koneksi peer-to-peer menggunakan Virtual Private Cloud.

Menentukan jumlah dan jenis mesin yang Anda butuhkan

Untuk men-deploy model untuk prediksi, pilih hardware yang sesuai untuk model Anda, seperti berbagai jenis virtual machine (VM) unit pemrosesan pusat (CPU) atau unit pemrosesan grafis (GPU). Untuk informasi selengkapnya, lihat Menentukan jenis mesin atau tingkat skala.

Merencanakan input ke model

Selain men-deploy model, Anda harus menentukan cara meneruskan input ke model. Jika menggunakan prediksi batch, Anda dapat mengambil data dari data lake, atau dari Vertex AI Feature Store API penyaluran batch. Jika menggunakan prediksi online, Anda dapat mengirim instance input ke layanan yang akan menampilkan prediksi Anda dalam respons. Untuk informasi selengkapnya, lihat Detail isi respons.

Jika men-deploy model untuk prediksi online, Anda memerlukan cara berlatensi rendah dan skalabel untuk menyalurkan input atau fitur yang perlu diteruskan ke endpoint model. Anda dapat melakukannya dengan menggunakan salah satu dari banyak layanan Database di Google Cloud, atau menggunakan API penayangan online Vertex AI Feature Store. Klien yang memanggil endpoint prediksi online terlebih dahulu dapat memanggil solusi penyaluran fitur untuk mengambil input fitur, lalu memanggil endpoint prediksi dengan input tersebut. Anda dapat menayangkan beberapa model ke endpoint yang sama, misalnya, untuk mengganti model secara bertahap. Atau, Anda dapat men-deploy model ke beberapa endpoint,misalnya, dalam pengujian dan produksi, dengan berbagi resource di seluruh deployment.

Penyerapan streaming memungkinkan Anda membuat update real-time pada nilai fitur. Metode ini berguna jika memiliki data terbaru yang tersedia untuk penayangan online menjadi prioritas. Misalnya, Anda dapat menyerap data peristiwa streaming dan, dalam beberapa detik, penyerapan streaming Vertex AI Feature Store akan menyediakan data tersebut untuk skenario penayangan online.

Anda juga dapat menyesuaikan penanganan dan format input (permintaan) dan output (respons) ke dan dari server model menggunakan rutinitas prediksi kustom.

Mengaktifkan penskalaan otomatis

Jika Anda menggunakan layanan prediksi online, dalam sebagian besar kasus, sebaiknya aktifkan penskalaan otomatis dengan menetapkan node minimum dan maksimum. Untuk informasi lebih lanjut, lihat Mendapatkan prediksi untuk model terlatih kustom. Untuk memastikan perjanjian tingkat layanan (SLA) ketersediaan tinggi, tetapkan penskalaan otomatis dengan minimal dua node.

Untuk mempelajari opsi penskalaan lebih lanjut, lihat Menskalakan prediksi ML.

Orkestrasi alur kerja ML

Kami merekomendasikan praktik terbaik berikut untuk orkestrasi alur kerja ML:

Vertex AI menyediakan orkestrasi alur kerja ML untuk mengotomatiskan alur kerja ML dengan Vertex AI Pipelines, layanan terkelola sepenuhnya yang memungkinkan Anda melatih ulang model sesering diperlukan. Meskipun pelatihan ulang memungkinkan model Anda beradaptasi dengan perubahan dan mempertahankan performa dari waktu ke waktu, pertimbangkan seberapa besar perubahan data Anda saat memilih ritme pelatihan ulang model yang optimal.

Alur kerja orkestrasi ML paling cocok untuk pelanggan yang telah mendesain dan mem-build model, menerapkannya ke dalam produksi, serta ingin menentukan hal yang berfungsi dan tidak berfungsi dalam model ML. Kode yang Anda gunakan untuk eksperimen kemungkinan akan berguna untuk alur kerja ML lainnya dengan beberapa modifikasi. Untuk menggunakan alur kerja ML otomatis, Anda harus fasih menggunakan Python, memahami infrastruktur dasar seperti container, dan memiliki pengetahuan ML dan data science.

Menggunakan Vertex AI Pipelines untuk mengorkestrasi alur kerja ML

Meskipun Anda dapat memulai setiap proses, pelatihan, evaluasi, pengujian, dan deployment data secara manual, sebaiknya gunakan Vertex AI Pipelines untuk orkestrasi alur. Untuk informasi selengkapnya, lihat MLOps level 1: Otomatisasi pipeline ML.

Vertex AI Pipelines mendukung pengoperasian DAG yang dihasilkan oleh Kubeflow, TensorFlow Extended (TFX), dan Airflow.

Menggunakan Kubeflow Pipeline untuk konstruksi pipeline yang fleksibel

Sebaiknya gunakan Kubeflow Pipelines SDK untuk sebagian besar pengguna yang ingin menulis pipeline terkelola. Kubeflow Pipelines fleksibel, memungkinkan Anda menggunakan kode untuk membuat pipeline. Kubeflow Pipelines juga menyediakan komponen pipeline Google Cloud, yang memungkinkan Anda menyertakan fungsi Vertex AI seperti AutoML di pipeline Anda. Untuk mempelajari Kubeflow Pipelines lebih lanjut, lihat Kubeflow Pipelines dan Vertex AI Pipelines.

Menggunakan Ray di Vertex AI untuk alur kerja ML terdistribusi

Ray menyediakan framework terdistribusi umum dan terpadu untuk menskalakan alur kerja machine learning melalui framework komputasi terdistribusi, skalabel, dan open source Python. Framework ini dapat membantu menyelesaikan tantangan yang muncul akibat memiliki berbagai framework terdistribusi di ekosistem ML Anda, seperti harus menangani beberapa mode paralelisme tugas, penjadwalan, dan pengelolaan resource. Anda dapat menggunakan Ray on Vertex AI untuk mengembangkan aplikasi di Vertex AI.

Organisasi artefak

Sebaiknya gunakan praktik terbaik berikut untuk mengatur artefak:

Artefak adalah output yang dihasilkan dari setiap langkah dalam alur kerja ML. Praktik terbaiknya adalah mengaturnya dengan cara standar.

Mengatur artefak model ML Anda

Simpan artefak Anda di lokasi ini:

Lokasi penyimpanan Artifacts
Repositori kontrol sumber
  • Instance Vertex AI Workbench
  • Kode sumber pipeline
  • Fungsi prapemrosesan
  • Kode sumber model
  • Paket pelatihan model
  • Fungsi penayangan
Eksperimen dan metadata ML
  • Experiments
  • Parameter
  • Hyperparameter
  • Metaparameter
  • Metrik
  • Artefak set data
  • Artefak model
  • Metadata pipeline
Model Registry
  • Model yang telah dilatih
Artifact Registry
  • Container pipeline
  • Lingkungan pelatihan kustom
  • Lingkungan prediksi kustom
Vertex AI Prediction
  • Model yang di-deploy

Menggunakan repositori kontrol sumber untuk definisi pipeline dan kode pelatihan

Anda dapat menggunakan kontrol sumber untuk mengontrol versi pipeline ML dan komponen kustom yang Anda build untuk pipeline tersebut. Gunakan Artifact Registry untuk menyimpan, mengelola, dan mengamankan image container Docker tanpa membuatnya terlihat secara publik.

Pemantauan model

Setelah men-deploy model ke produksi, Anda perlu memantau performa untuk memastikan bahwa model tersebut berperforma seperti yang diharapkan. Vertex AI menyediakan dua cara untuk memantau model ML Anda:

  • Deteksi kemiringan: Pendekatan ini mencari tingkat distorsi antara pelatihan model dan data produksi Anda
  • Deteksi penyimpangan: Dalam jenis pemantauan ini, Anda mencari penyimpangan dalam data produksi. Drift terjadi saat properti statistik input dan target, yang coba diprediksi oleh model, berubah seiring waktu dengan cara yang tidak terduga. Hal ini menyebabkan masalah karena prediksi bisa menjadi kurang akurat seiring berjalannya waktu.

Pemantauan model berfungsi untuk data terstruktur, seperti fitur numerik dan kategoris, tetapi tidak untuk data tidak terstruktur, seperti gambar. Untuk informasi selengkapnya, lihat Memantau model untuk kemiringan atau penyimpangan fitur.

Gunakan deteksi kemiringan dan penyimpangan

Sebisa mungkin, gunakan deteksi kemiringan karena mengetahui bahwa data produksi Anda menyimpang dari data pelatihan merupakan indikator kuat bahwa model Anda tidak berperforma seperti yang diharapkan dalam produksi. Untuk deteksi kemiringan, siapkan tugas pemantauan model dengan memberikan pointer ke data pelatihan yang Anda gunakan untuk melatih model.

Jika Anda tidak memiliki akses ke data pelatihan, aktifkan deteksi penyimpangan agar Anda akan mengetahui kapan input berubah dari waktu ke waktu.

Gunakan deteksi penyimpangan untuk memantau apakah data produksi Anda menyimpang dari waktu ke waktu. Untuk deteksi penyimpangan, aktifkan fitur yang ingin dipantau dan nilai minimum yang sesuai untuk memicu pemberitahuan.

Batas notifikasi penyesuaian

Sesuaikan nilai minimum yang digunakan untuk pemberitahuan agar Anda mengetahui kapan kemiringan atau penyimpangan terjadi dalam data. Nilai minimum pemberitahuan ditentukan oleh kasus penggunaan, keahlian domain pengguna, dan oleh metrik pemantauan model awal. Untuk mempelajari cara menggunakan pemantauan guna membuat dasbor atau mengonfigurasi pemberitahuan berdasarkan metrik, lihat Metrik Cloud Monitoring.

Menggunakan atribusi fitur untuk mendeteksi penyimpangan atau kecondongan data

Anda dapat menggunakan atribusi fitur di Vertex Explainable AI untuk mendeteksi penyimpangan atau kecondongan data sebagai indikator awal bahwa performa model mungkin menurun. Misalnya, jika model Anda awalnya mengandalkan lima fitur untuk membuat prediksi dalam data pelatihan dan pengujian, tetapi model mulai mengandalkan fitur yang sama sekali berbeda saat memasuki tahap produksi, atribusi fitur akan membantu Anda mendeteksi penurunan ini dalam performa model.

Hal ini sangat berguna untuk jenis fitur yang kompleks, seperti embedding dan deret waktu, yang sulit dibandingkan dengan menggunakan metode kemiringan dan drift tradisional. Dengan Vertex Explainable AI, atribusi fitur dapat menunjukkan saat performa model mengalami penurunan.

Menggunakan BigQuery untuk mendukung pemantauan model

Pemantauan model BigQuery ML adalah kumpulan alat dan fungsi yang membantu Anda melacak dan mengevaluasi performa model ML dari waktu ke waktu. Pemantauan model sangat penting untuk mempertahankan akurasi dan keandalan model dalam aplikasi dunia nyata. Sebaiknya pantau masalah berikut:

  • Diferensiasi data: Masalah ini terjadi saat distribusi nilai fitur berbeda antara data pelatihan dan data penayangan. Statistik pelatihan, yang disimpan selama pelatihan model, memungkinkan deteksi bias tanpa memerlukan data asli.
  • Drift data: Data dunia nyata sering berubah dari waktu ke waktu. Pemantauan model membantu Anda mengidentifikasi kapan data input yang dilihat model dalam produksi (data penayangan) mulai berbeda secara signifikan dengan data yang digunakan untuk melatihnya (data pelatihan). Drift ini dapat menyebabkan penurunan performa.
  • Kecondongan atau penyimpangan data lanjutan: Jika Anda menginginkan statistik kemiringan atau penyimpangan yang terperinci, pantau kemiringan atau penyimpangan data lanjutan.

Langkah selanjutnya