Praktik terbaik untuk mengimplementasikan machine learning di Google Cloud

Last reviewed 2022-12-15 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. Kami memberikan rekomendasi tentang cara mengembangkan model yang dilatih khusus di seluruh alur kerja machine learning, 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, yang meliputi:

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

Alur kerja machine learning di Google Cloud

Dokumen ini bukanlah daftar rekomendasi lengkap; tujuannya adalah untuk membantu data scientist dan arsitek machine learning 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 pada model yang dilatih khusus.

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

Untuk tujuan dokumen ini, diasumsikan bahwa:

  • 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 machine learning, alat big data, dan prapemrosesan data, serta telah memahami Cloud Storage, BigQuery, serta dasar-dasar Google Cloud.

Jika Anda baru mengenal machine learning, lihat Kursus Singkat Machine Learning Google.

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

Langkah alur kerja machine learning Alat dan produk yang direkomendasikan
Penyiapan lingkungan ML
Pengembangan ML
Pemrosesan data
Pelatihan yang dioperasikan
Deployment dan penayangan model
Orkestrasi alur kerja ML
Organisasi artefak
Pemantauan model

Google menawarkan AutoML, Vertex AI Forecasting, dan BigQuery ML sebagai alternatif rutinitas pelatihan bawaan untuk Vertex AI kustom solusi model 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 membutuhkan konsistensi di seluruh platform.

Penyiapan lingkungan machine learning

Gunakan notebook Vertex AI Workbench untuk eksperimen dan pengembangan

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

Instance notebook 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 notebook merupakan praktik yang umum dilakukan. Lihat Komponen Vertex AI dan Pengantar notebook yang dikelola pengguna untuk informasi selengkapnya.

Membuat instance notebook untuk setiap anggota tim

Buat instance notebook yang dikelola pengguna untuk setiap anggota tim data science. Jika anggota tim terlibat dalam beberapa project, terutama project yang memiliki dependensi berbeda, sebaiknya gunakan beberapa instance notebook. Perlakukan setiap instance sebagai ruang kerja virtual. Perlu diperhatikan bahwa Anda dapat menghentikan instance notebook 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, sebuah 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 machine learning

Pengembangan machine learning membahas penyiapan data, eksperimen, dan evaluasi model. Saat memecahkan masalah machine learning, 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 Menyiapkan data pelatihan untuk digunakan dengan Vertex AI.

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... Gunakan alat Google Cloud ini
TensorFlow atau Keras Pembaca tf.data.dataset untuk BigQuery
TFX Klien BigQuery
Dataflow Konektor I/O BigQuery
Framework lainnya (seperti PyTorch, XGBoost, atau scilearn-kit) Library klien Python 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 Apa itu Cloud Storage?

Menggunakan Vertex AI Data Labeling untuk data yang tidak terstruktur

Anda mungkin memerlukan manusia untuk memberi label pada data Anda, terutama jika terkait dengan data yang tidak terstruktur. Gunakan Vertex AI Data Labeling untuk tugas ini. Anda dapat menyewa pemberi label sendiri dan menggunakan software Google Cloud untuk mengelola pekerjaan mereka, atau Anda dapat menggunakan pemberi label internal Google untuk tugas tersebut. Untuk informasi selengkapnya, lihat Meminta pelabelan data.

Menggunakan Vertex AI Feature Store dengan data terstruktur

Saat Anda melatih model dengan data terstruktur, di mana pun Anda melatih model tersebut, ikuti langkah-langkah berikut:

  1. Telusuri Vertex AI Feature Store untuk menentukan apakah fitur yang ada memenuhi kebutuhan Anda.

    1. Buka Vertex AI Feature Store dan lakukan penelusuran untuk mengetahui apakah sudah ada fitur yang terkait dengan kasus penggunaan Anda atau mencakup sinyal bahwa Anda ingin meneruskan ke model.

    2. Jika ada fitur di Vertex AI Feature Store yang ingin Anda gunakan, ambil fitur tersebut untuk label pelatihan Anda menggunakan kemampuan penyaluran batch Vertex AI Feature Store.

  2. Buat fitur baru. Jika Vertex AI Feature Store tidak memiliki fitur yang Anda perlukan, buat fitur baru menggunakan data dari data lake Anda.

    1. Ambil data mentah dari data lake Anda dan tulis skrip Anda untuk melakukan pemrosesan dan rekayasa fitur yang diperlukan.

    2. Gabungkan nilai fitur yang Anda ambil dari Vertex AI Feature Store dan nilai fitur baru yang Anda buat dari data lake. Menggabungkan nilai fitur tersebut menghasilkan set data pelatihan.

    3. Siapkan tugas berkala untuk menghitung nilai fitur baru yang telah diperbarui. Setelah menentukan bahwa suatu fitur berguna dan Anda ingin menerapkannya ke produksi, siapkan tugas terjadwal secara berkala dengan rangkaian yang diperlukan untuk menghitung nilai terbaru dari fitur tersebut dan memasukkannya ke dalam Vertex AI Feature Store. Dengan menambahkan fitur baru ke Vertex AI Feature Store, Anda secara otomatis memiliki solusi untuk melakukan penayangan fitur secara online (untuk kasus penggunaan prediksi online), dan Anda dapat membagikan fitur kepada orang lain di organisasi yang mungkin mendapatkan nilai darinya untuk model ML mereka sendiri.

Untuk mempelajari lebih lanjut, lihat Vertex AI Feature Store.

Menghindari menyimpan data di block storage

Hindari menyimpan data di block storage, seperti Network File System atau di hard disk mesin virtual (VM). Fitur tersebut lebih sulit dikelola daripada Cloud Storage atau BigQuery, dan sering kali menghadirkan tantangan dalam menyesuaikan performa. Demikian pula, hindari membaca data langsung dari database seperti Cloud SQL. Sebagai gantinya, simpan data di BigQuery dan Cloud Storage. Untuk informasi selengkapnya, lihat dokumentasi Cloud Storage dan Pengantar cara memuat data untuk BigQuery.

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 Vertex AI TensorBoard yang dikelola perusahaan dengan solusi aman dan hemat biaya yang memungkinkan data scientist dan peneliti ML berkolaborasi dengan mudah 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 Experiment 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 notebook untuk dataset kecil

Melatih model dalam instance notebook 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 Vertex AI Training 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 Anda, gunakan penyesuaian hyperparameter, penyempurna model otomatis yang disediakan oleh Vertex AI Training yang memanfaatkan infrastruktur pemrosesan Google Cloud dan Vertex AI Vizier untuk menguji konfigurasi hyperparameter yang berbeda 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 Menggunakan penyesuaian hyperparameter.

Menggunakan instance notebook untuk memahami model Anda

Gunakan instance notebook untuk mengevaluasi dan memahami model Anda. Selain library umum bawaan seperti scikit-learn, instance notebook juga menyertakan What-if Tool (WIT) dan Alat Penafsiran Bahasa (LIT). WIT memungkinkan Anda menganalisis bias pada model secara interaktif menggunakan beberapa teknik, sementara LIT memungkinkan 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:

Pemrosesan 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 membangun model menggunakan BigQuery ML, gunakan transformasi yang ada di BigQuery untuk melakukan prapemrosesan data. Jika Anda menggunakan AutoML, gunakan transformasi yang terdapat di dalam AutoML untuk melakukan prapemrosesan data. Jika Anda sedang membangun model kustom, menggunakan transformasi BigQuery mungkin merupakan metode yang paling hemat 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 yang dioperasikan

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

Menjalankan kode dalam layanan terkelola

Sebaiknya jalankan kode Anda di layanan Vertex AI Training atau Vertex AI Pipelines.

Anda juga dapat menjalankan kode secara langsung dalam container Deep Learning Virtual Machine atau di Compute Engine; tetapi, kami tidak merekomendasikan pendekatan ini karena layanan terkelola Vertex AI menyediakan penskalaan otomatis dan kemampuan burst yang lebih hemat biaya.

Mengoperasikan eksekusi tugas dengan pipeline pelatihan

Membuat pipeline pelatihan untuk mengoperasionalkan eksekusi tugas pelatihan di Vertex AI. 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.

Gunakan 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 Machine Learning

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.

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 Vertex AI yang telah dibuat sebelumnya, 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

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 Vertex AI 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 latensi yang lebih rendah bagi permintaan peer-to-peer antara klien dan server model, gunakan endpoint pribadi Vertex AI. Hal ini 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.

Tentukan 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, kemudian memanggil endpoint prediksi dengan input tersebut.

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 machine learning.

Orkestrasi alur kerja machine learning

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, 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 bekerja dengan 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

Kubeflow Pipelines SDK direkomendasikan untuk sebagian besar pengguna yang ingin menulis pipeline terkelola. Kubeflow Pipelines fleksibel, memungkinkan Anda menggunakan kode sederhana untuk membuat pipeline; serta menyediakan Komponen Google Cloud Pipeline, yang memungkinkan Anda menyertakan fungsi Vertex AI seperti AutoML di pipeline Anda. Untuk mempelajari lebih lanjut tentang Kubeflow Pipelines, lihat Kubeflow Pipelines dan Vertex AI Pipelines.

Organisasi 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 Artefak
Repositori kontrol sumber
  • Notebook 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
Registry Vertex AI Model
  • 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.

Langkah selanjutnya