Pengantar Vertex AI Pipelines

Dengan Vertex AI Pipelines, Anda dapat mengotomatiskan, memantau, dan mengatur sistem machine learning (ML) secara serverless menggunakan pipeline ML untuk mengorkestrasi alur kerja ML Anda. Anda dapat menjalankan batch pipeline ML yang ditentukan menggunakan Kubeflow Pipeline atau framework TensorFlow Extended (TFX). Untuk mempelajari cara memilih framework guna menentukan pipeline ML Anda, lihat Antarmuka untuk menentukan pipeline.

Halaman ini memberikan ringkasan tentang:

Apa itu pipeline ML?

Pipeline ML adalah deskripsi portabel dan dapat diperluas dari alur kerja MLOps sebagai serangkaian langkah yang disebut tugas pipeline. Setiap tugas menjalankan langkah tertentu dalam alur kerja untuk melatih dan/atau men-deploy model ML.

Dengan pipeline ML, Anda dapat menerapkan strategi MLOps untuk mengotomatiskan dan memantau proses yang dapat diulang dalam praktik ML Anda. Misalnya, Anda dapat menggunakan kembali definisi pipeline untuk terus melatih ulang model pada data produksi terbaru. Untuk mengetahui informasi selengkapnya tentang MLOps di Vertex AI, lihat MLOps di Vertex AI.

Struktur pipeline ML

Pipeline ML adalah directed acyclic graph (DAG) dari tugas pipeline dalam container yang saling terhubung menggunakan dependensi input-output. Anda dapat menulis setiap tugas dengan Python atau sebagai image container bawaan.

Anda dapat menentukan pipeline sebagai DAG menggunakan Kubeflow Pipelines SDK atau TFX SDK, mengompilasinya ke YAML-nya untuk representasi perantara, lalu menjalankan pipeline tersebut. Secara default, tugas pipeline berjalan secara paralel. Anda dapat menautkan tugas untuk menjalankannya secara seri. Untuk informasi selengkapnya tentang tugas pipeline, lihat Tugas pipeline. Untuk informasi selengkapnya tentang alur kerja dalam menentukan, mengompilasi, dan menjalankan pipeline, lihat Siklus proses pipeline ML.

Tugas dan komponen pipeline

Tugas pipeline adalah pembuatan instance komponen pipeline dengan input tertentu. Saat menentukan pipeline ML, Anda dapat menghubungkan beberapa tugas untuk membentuk DAG, dengan mengarahkan output dari satu tugas pipeline ke input untuk tugas pipeline berikutnya dalam alur kerja ML. Anda juga dapat menggunakan input untuk pipeline ML sebagai input untuk tugas pipeline.

Komponen pipeline

Komponen pipeline adalah kumpulan kode mandiri yang melakukan langkah tertentu dalam alur kerja ML, seperti prapemrosesan data, pelatihan model, atau deployment model. Komponen biasanya terdiri dari hal berikut:

  • Input: Komponen mungkin memiliki satu atau beberapa parameter input dan artefak.

  • Output: Setiap komponen memiliki satu atau beberapa parameter output atau artefak.

  • Logika: Ini adalah kode komponen yang dapat dieksekusi. Untuk komponen dalam container, logika juga berisi definisi lingkungan, atau image container, tempat komponen dijalankan.

Komponen adalah dasar dari penentuan tugas di pipeline ML. Untuk menentukan tugas pipeline, Anda dapat menggunakan Komponen Pipeline Google Cloud yang telah ditetapkan atau membuat komponen kustom Anda sendiri.

Komponen yang telah ditentukan sebelumnya

Gunakan Komponen Google Cloud Pipeline yang telah ditetapkan jika Anda ingin menggunakan fitur Vertex AI, seperti AutoML, di pipeline Anda. Untuk mempelajari cara menggunakan Komponen Pipeline Google Cloud guna menentukan pipeline, lihat Membuat Pipeline.

Komponen kustom

Anda dapat menulis komponen kustom sendiri untuk digunakan dalam pipeline ML Anda. Untuk informasi selengkapnya tentang cara menulis komponen kustom, lihat Membuat komponen pipeline Anda sendiri.

Untuk mempelajari cara menulis komponen Kubeflow Pipeline kustom, lihat notebook Jupyter "Pipeline dengan komponen ringan berdasarkan fungsi Python" di GitHub. Untuk mempelajari cara menulis komponen TFX kustom, lihat tutorial komponen fungsi TFX Python di tutorial TensorFlow Extended in Production.

Tugas pipeline

Tugas pipeline adalah pembuatan instance komponen pipeline dan melakukan langkah tertentu dalam alur kerja ML Anda. Anda dapat menulis tugas pipeline ML menggunakan Python atau sebagai image container bawaan.

Dalam satu tugas, Anda dapat membangun kemampuan komputasi on-demand Vertex AI dengan Kubernetes untuk menjalankan kode secara skalabel, atau mendelegasikan workload ke mesin eksekusi lain, seperti BigQuery, Dataflow, atau Dataproc Serverless.

Siklus proses pipeline ML

Dari definisi hingga eksekusi dan pemantauan, siklus proses pipeline ML terdiri dari tahapan tingkat tinggi berikut:

  1. Mendefinisikan: Proses penetapan pipeline ML dan tugasnya juga disebut membangun pipeline. Pada tahap ini, Anda harus melakukan langkah-langkah berikut:

    1. Memilih framework ML: Vertex AI Pipelines mendukung pipeline ML yang ditentukan menggunakan framework TFX atau Kubeflow Pipelines. Jika ingin mempelajari cara memilih framework untuk membuat pipeline, baca bagian Antarmuka untuk menentukan pipeline.

    2. Menentukan tugas pipeline dan mengonfigurasi pipeline: Untuk mengetahui informasi selengkapnya, lihat Membuat Pipeline.

  2. Kompilasi: Pada tahap ini, Anda perlu melakukan langkah-langkah berikut:

    1. Buat definisi pipeline ML Anda dalam file YAML terkompilasi untuk representasi menengah, yang dapat digunakan untuk menjalankan pipeline ML Anda.

    2. Opsional: Anda dapat mengupload file YAML yang dikompilasi sebagai template pipeline ke repositori dan menggunakannya kembali untuk membuat operasi pipeline ML.

  3. Jalankan: Buat instance eksekusi pipeline ML Anda menggunakan file YAML yang dikompilasi atau template pipeline. Instance eksekusi dari definisi pipeline disebut pipeline run.

    Anda dapat membuat satu kali operasi pipeline atau menggunakan API penjadwal untuk membuat operasi pipeline berulang dari definisi pipeline ML yang sama. Anda juga dapat meng-clone proses pipeline yang sudah ada. Untuk mempelajari cara memilih antarmuka untuk menjalankan pipeline ML, lihat Antarmuka untuk menjalankan pipeline. Untuk mengetahui informasi selengkapnya tentang cara membuat proses pipeline, lihat Menjalankan pipeline.

  4. Memantau, memvisualisasi, dan menganalisis operasi: Setelah membuat operasi pipeline, Anda dapat melakukan hal berikut untuk memantau performa, status, dan biaya operasi pipeline:

  5. Opsional: hentikan atau hapus operasi pipeline: Tidak ada batasan terkait durasi pipeline terus aktif. Secara opsional, Anda dapat melakukan hal berikut:

    • Menghentikan proses pipeline.

    • Menjeda atau melanjutkan jadwal pengoperasian pipeline.

    • Hapus template pipeline, operasi pipeline, atau jadwal operasi pipeline yang ada.

Apa yang dimaksud dengan operasi pipeline?

Operasi pipeline adalah instance eksekusi dari definisi pipeline ML Anda. Setiap pipeline run diidentifikasi oleh nama run unik. Dengan menggunakan Vertex AI Pipelines, Anda dapat membuat pipeline ML yang dijalankan dengan cara berikut:

  • Menggunakan definisi YAML yang dikompilasi dari suatu pipeline

  • Menggunakan template pipeline dari Galeri Template

Untuk mengetahui informasi selengkapnya tentang cara membuat proses pipeline, lihat Menjalankan pipeline. Untuk mengetahui informasi selengkapnya tentang cara membuat proses pipeline dari template pipeline, lihat Membuat, mengupload, dan menggunakan template pipeline.

Untuk informasi tentang cara mengambil dan menyimpan metadata pengoperasian pipeline menggunakan Metadata Vertex ML, lihat Menggunakan Metadata Vertex ML untuk melacak silsilah artefak ML.

Untuk mengetahui informasi tentang cara menggunakan pipeline yang dijalankan untuk bereksperimen di alur kerja ML Anda menggunakan Vertex AI Experiment, lihat Menambahkan operasi pipeline ke eksperimen.

Melacak silsilah artefak ML

Proses pipeline berisi beberapa artefak dan parameter, termasuk metadata pipeline. Untuk memahami perubahan performa atau akurasi sistem ML, Anda perlu menganalisis metadata dan silsilah artefak ML dari pipeline ML yang dijalankan. Silsilah artefak ML mencakup semua faktor yang berkontribusi pada pembuatannya, beserta metadata dan referensi ke artefak yang berasal darinya.

Grafik silsilah membantu Anda menganalisis akar masalah upstream dan dampak downstream. Setiap proses pipeline menghasilkan grafik silsilah parameter dan artefak yang merupakan input ke proses, yang diwujudkan dalam proses, dan output dari operasi. Metadata yang menyusun grafik silsilah ini disimpan di Vertex ML Metadata. Metadata ini juga dapat disinkronkan ke Dataplex.

  • Menggunakan Metadata Vertex ML untuk melacak silsilah artefak pipeline

    Saat Anda menjalankan pipeline menggunakan Vertex AI Pipelines, semua parameter dan metadata artefak yang digunakan dan dihasilkan oleh pipeline akan disimpan di Vertex ML Metadata. Vertex ML Metadata adalah implementasi terkelola dari library Metadata ML di TensorFlow, serta mendukung pendaftaran dan penulisan skema metadata kustom. Saat Anda membuat operasi pipeline di Vertex AI Pipelines, metadata dari proses pipeline disimpan di penyimpanan metadata default untuk project dan region tempat Anda menjalankan pipeline.

  • Menggunakan Dataplex untuk melacak silsilah artefak pipeline (pratinjau)

    Dataplex adalah data fabric global dan lintas project yang terintegrasi dengan beberapa sistem dalam Google Cloud, seperti Vertex AI, BigQuery, dan Cloud Composer. Dalam Dataplex, Anda dapat mencari artefak pipeline dan melihat grafik silsilahnya. Perhatikan bahwa untuk mencegah konflik artefak, setiap resource yang dikatalogkan di Dataplex diidentifikasi dengan nama yang sepenuhnya memenuhi syarat (FQN).

    Pelajari biaya penggunaan Dataplex.

Untuk mengetahui informasi selengkapnya tentang pelacakan silsilah artefak ML menggunakan Vertex ML Metadata dan Dataplex, lihat Melacak silsilah artefak pipeline.

Untuk informasi selengkapnya tentang memvisualisasikan, menganalisis, dan membandingkan operasi pipeline, lihat Memvisualisasikan dan menganalisis hasil pipeline. Untuk mengetahui daftar jenis artefak pihak pertama yang ditentukan dalam Komponen Pipeline Google Cloud, lihat jenis artefak Metadata ML.

Menambahkan operasi pipeline ke eksperimen

Eksperimen Vertex AI memungkinkan Anda melacak dan menganalisis berbagai arsitektur model, hyperparameter, dan lingkungan pelatihan untuk menemukan model terbaik untuk kasus penggunaan ML Anda. Setelah membuat pipeline ML yang dijalankan, Anda dapat mengaitkannya dengan eksperimen atau eksperimen yang dijalankan. Dengan demikian, Anda dapat bereksperimen dengan berbagai kumpulan variabel, seperti hyperparameter, jumlah langkah pelatihan, atau iterasi.

Untuk mengetahui informasi selengkapnya tentang bereksperimen dengan alur kerja ML menggunakan Vertex AI Experiment, lihat Pengantar Eksperimen Vertex AI.

Langkah selanjutnya