Pengantar Vertex AI Pipelines

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

Halaman ini memberikan ringkasan tentang hal berikut:

Apa itu pipeline ML?

Pipeline ML adalah deskripsi yang portabel dan dapat diperluas tentang 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 berulang 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 di 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 menengah, lalu menjalankan pipeline. Secara default, tugas pipeline dijalankan secara paralel. Anda dapat menautkan tugas untuk menjalankannya secara berurutan. Untuk mengetahui informasi selengkapnya tentang tugas pipeline, lihat Tugas pipeline. Untuk mengetahui informasi selengkapnya tentang alur kerja penentuan, kompilasi, 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 merutekan 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 rangkaian kode mandiri yang menjalankan langkah tertentu dari alur kerja ML, seperti pra-pemrosesan data, pelatihan model, atau deployment model. Komponen biasanya terdiri dari hal-hal berikut:

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

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

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

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

Komponen yang telah ditetapkan

Gunakan Komponen Pipeline Google Cloud yang telah ditentukan sebelumnya 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 mengetahui informasi selengkapnya tentang pembuatan komponen kustom, lihat Membuat komponen pipeline sendiri.

Untuk mempelajari cara menulis komponen Kubeflow Pipeline kustom, lihat "Pipeline dengan komponen ringan berdasarkan fungsi Python" Notebook Jupyter di GitHub. Untuk mempelajari cara menulis komponen TFX kustom, lihat tutorial komponen fungsi Python TFX 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 gambar container bawaan.

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

Siklus proses pipeline ML

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

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

    1. Memilih framework ML: Vertex AI Pipelines mendukung pipeline ML yang ditentukan menggunakan framework TFX atau Kubeflow Pipelines. Untuk mempelajari cara memilih framework guna membangun pipeline, lihat Antarmuka untuk menentukan pipeline.

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

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

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

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

  3. Run: Buat instance eksekusi pipeline ML Anda menggunakan file YAML yang dikompilasi atau template pipeline. Instance eksekusi definisi pipeline disebut jalan pipeline.

    Anda dapat membuat satu kali kejadian operasi pipeline yang dijalankan, atau menggunakan Vertex AI Scheduler untuk membuat pipeline berulang yang dijalankan dari definisi pipeline ML yang sama. Anda juga dapat meng-clone operasi pipeline yang ada. Untuk mempelajari cara memilih antarmuka guna menjalankan pipeline ML, baca bagian Antarmuka untuk menjalankan pipeline. Untuk mengetahui informasi selengkapnya tentang cara membuat operasi pipeline, lihat Menjalankan pipeline.

  4. Pantau, visualisasikan, dan analisis operasi yang dijalankan: Setelah membuat pipeline run, Anda dapat melakukan hal berikut untuk memantau performa, status, dan biaya operasi pipeline:

  5. Opsional: hentikan atau hapus operasi pipeline: Tidak ada batasan berapa lama Anda dapat membuat pipeline tetap aktif. Anda juga dapat melakukan hal berikut:

    • Menghentikan operasi pipeline.

    • Menjeda atau melanjutkan jadwal operasi pipeline.

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

Apa itu operasi pipeline?

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

  • Menggunakan definisi YAML yang dikompilasi dari pipeline

  • Menggunakan template pipeline dari Galeri Template

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

Untuk informasi tentang pelacakan dan penyimpanan artefak dan metadata operasi 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 Eksperimen Vertex AI, lihat Menambahkan operasi pipeline ke eksperimen.

Menggunakan Vertex ML Metadata untuk melacak silsilah artefak ML

Operasi 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 Anda jalankan. Silsilah artefak ML mencakup semua faktor yang berkontribusi pada pembuatannya, beserta artefak dan metadata yang berasal darinya.

Mengelola metadata ini secara ad-hoc bisa jadi sulit dan memakan waktu. Anda dapat menggunakan Metadata Vertex ML untuk mengelola metadata ini secara efisien. Saat Anda menjalankan pipeline ML menggunakan Vertex AI Pipelines, artefak dan metadata dari pipeline yang dijalankan akan disimpan menggunakan Vertex ML Metadata.

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

Untuk mengetahui informasi selengkapnya tentang cara 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

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

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

Langkah selanjutnya