Menjalankan pipeline

Dengan Vertex AI Pipelines, Anda dapat menjalankan pipeline machine learning (ML) yang dibangun menggunakan Kubeflow Pipelines SDK atau TensorFlow Extended dengan cara serverless. Dokumen ini menjelaskan cara menjalankan pipeline ML.

Anda juga dapat membuat proses pipeline menggunakan template bawaan di Galeri Template. Untuk mengetahui informasi selengkapnya tentang Galeri Template, lihat Menggunakan template bawaan dari Galeri Template.

Sebelum memulai

Sebelum menjalankan pipeline dengan Vertex AI Pipelines, gunakan petunjuk berikut untuk menyiapkan project dan lingkungan pengembangan Google Cloud:

  1. Membangun pipeline.

  2. Agar dapat menjalankan pipeline menggunakan Vertex AI SDK untuk Python, instal Vertex SDK.

Membuat proses pipeline

Gunakan petunjuk berikut untuk menjalankan pipeline ML menggunakan konsol Google Cloud atau Python.

Konsol

Gunakan petunjuk berikut untuk menjalankan pipeline ML menggunakan konsol Google Cloud.

  1. Di konsol Google Cloud, di bagian Vertex AI, buka halaman Pipeline.

    Buka Pipeline

  2. Di menu drop-down Region, pilih region untuk membuat proses pipeline.

  3. Klik Buat proses untuk membuka panel Buat proses pipeline.

  4. Di bagian Run details, lakukan hal berikut:

    1. Klik Run source. Tersedia opsi-opsi berikut:

      • Select from existing pipelines: Untuk membuat pipeline dijalankan berdasarkan template pipeline yang ada, klik Select from existing pipelines dan masukkan detail berikut:

        1. Pilih Repositori yang berisi file definisi pipeline atau komponen.

        2. Pilih Pipeline atau komponen dan Versi.

        3. Tentukan Run name untuk mengidentifikasi operasi pipeline secara unik.

      • Memilih pipeline Galeri Template: Untuk membuat pipeline yang dijalankan berdasarkan template pipeline yang ditulis Google dari Galeri Template, klik Pilih pipeline Galeri Template dan masukkan detail berikut:

        1. Dalam daftar pipeline Galeri Template, pilih template pipeline.

        2. Opsional: Ubah Run name default yang secara unik mengidentifikasi proses pipeline yang dijalankan.

      • Upload file: Untuk mengupload definisi pipeline yang dikompilasi, klik Upload file dan masukkan detail berikut:

        1. Klik Cari untuk membuka pemilih file. Buka file YAML pipeline yang dikompilasi yang ingin Anda jalankan, pilih pipeline, lalu klik Buka.

        2. Nama pipeline atau komponen menampilkan nama yang ditentukan dalam definisi pipeline secara default. Atau, tentukan nama Pipeline yang berbeda.

        3. Tentukan Run name untuk mengidentifikasi operasi pipeline secara unik.

      • Impor dari Cloud Storage: Untuk mengimpor file definisi pipeline dari Cloud Storage, klik Impor dari Cloud Storage dan masukkan detail berikut:

        1. Klik Cari untuk membuka bucket Cloud Storage yang berisi objek definisi pipeline, pilih file, lalu klik Pilih.

        2. Tentukan Nama pipeline atau komponen.

        3. Tentukan Run name untuk mengidentifikasi operasi pipeline secara unik.

    2. Opsional: Untuk menjadwalkan proses pipeline berulang, tentukan Jadwal proses, seperti berikut:

      1. Pilih Berulang.

      2. Di bagian Start time, tentukan jadwal pengaktifan.

        • Untuk menjadwalkan operasi pertama agar segera dilakukan setelah pembuatan jadwal, pilih Immediately.

        • Untuk menjadwalkan proses pertama agar dilakukan pada waktu dan tanggal tertentu, pilih Aktif.

      3. Di kolom Frequency, tentukan frekuensi untuk menjadwalkan dan menjalankan operasi pipeline, menggunakan ekspresi jadwal cron berdasarkan unix-cron.

      4. Di bagian Berakhir, tentukan waktu berakhir jadwal.

        • Untuk menunjukkan bahwa jadwal membuat operasi pipeline tanpa batas waktu, pilih Never.

        • Untuk menunjukkan bahwa jadwal berakhir pada tanggal dan waktu tertentu, pilih Aktif, lalu tentukan tanggal dan waktu berakhir untuk jadwal tersebut.

      5. Opsional: Untuk menentukan bahwa pipeline dijalankan menggunakan akun layanan kustom, kunci enkripsi yang dikelola pelanggan (CMEK), atau jaringan VPC yang di-peering, klik Advanced options, lalu ikuti petunjuk berikut:

        • Untuk menentukan akun layanan, pilih akun layanan dari menu drop-down Akun layanan.

          Jika Anda tidak menentukan akun layanan, Vertex AI Pipelines akan menjalankan pipeline menggunakan akun layanan Compute Engine default.

          Pelajari lebih lanjut cara mengonfigurasi akun layanan untuk digunakan dengan Vertex AI Pipelines.

        • Untuk menggunakan CMEK, pilih Gunakan kunci enkripsi yang dikelola pelanggan. Menu drop-down Pilih kunci yang dikelola pelanggan akan muncul. Di menu drop-down Pilih kunci yang dikelola pelanggan, pilih kunci yang ingin Anda gunakan.

        • Untuk menggunakan jaringan VPC yang di-peering dalam operasi pipeline ini, masukkan nama jaringan VPC di kotak Peered VPC network.

    3. Klik Lanjutkan.

  5. Di bagian Konfigurasi runtime, konfigurasikan operasi pipeline, sebagai berikut:

    1. Di bagian Lokasi Cloud Storage, klik Cari untuk memilih bucket Cloud Storage guna menyimpan artefak output pipeline, lalu klik Pilih.

    2. Opsional: Guna mengonfigurasi kebijakan kegagalan dan cache untuk operasi pipeline, klik Advanced options, lalu gunakan petunjuk berikut:

      • Di bagian Kebijakan kegagalan, tentukan kebijakan kegagalan untuk seluruh pipeline. Pelajari lebih lanjut kebijakan kegagalan pipeline.

        • Untuk mengonfigurasi pipeline agar dapat terus menjadwalkan tugas setelah satu tugas gagal, pilih Jalankan semua langkah untuk diselesaikan. Opsi ini dipilih secara default.

        • Untuk mengonfigurasi pipeline agar gagal setelah satu tugas gagal, pilih Gagalkan proses ini sesaat setelah satu langkah gagal.

      • Di bagian Konfigurasi caching, tentukan konfigurasi cache untuk seluruh pipeline.

        • Untuk menggunakan konfigurasi cache level tugas untuk tugas dalam pipeline, pilih Jangan ganti konfigurasi cache level tugas.

        • Guna mengaktifkan caching untuk semua tugas dalam pipeline dan mengganti konfigurasi cache level tugas, pilih Aktifkan baca dari cache untuk semua langkah (tercepat).

        • Guna menonaktifkan caching untuk semua tugas dalam pipeline dan mengganti konfigurasi cache level tugas, pilih Nonaktifkan baca dari cache untuk semua langkah (tercepat).

    3. Opsional: Jika pipeline Anda memiliki parameter, di bagian Parameter pipeline, tentukan parameter operasi pipeline Anda.

  6. Untuk membuat pipeline run, klik Kirim.

Vertex AI SDK untuk Python

Gunakan petunjuk berikut untuk menjalankan pipeline ML menggunakan Vertex AI SDK untuk Python. Sebelum menjalankan contoh kode berikut, Anda harus menyiapkan autentikasi.

Menyiapkan autentikasi

Untuk menyiapkan autentikasi, Anda harus membuat kunci akun layanan dan menetapkan variabel lingkungan untuk jalur ke kunci akun layanan.

  1. Membuat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account

    2. Di kolom Nama akun layanan, masukkan nama.
    3. Opsional: Di kolom Deskripsi akun layanan, masukkan deskripsi.
    4. Klik Create.
    5. Klik kolom Pilih peran. Di bagian Semua peran, pilih Vertex AI > Pengguna Vertex AI.
    6. Klik Selesai untuk membuat akun layanan.

      Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.

  2. Membuat kunci akun layanan untuk autentikasi:

    1. Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
    2. Klik Kunci.
    3. Klik Tambahkan kunci, lalu Buat kunci baru.
    4. Klik Create. File kunci JSON akan didownload ke komputer Anda.
    5. Klik Tutup.
  3. Beri akun layanan baru Anda akses ke akun layanan yang digunakan untuk menjalankan pipeline.
    1. Klik untuk kembali ke daftar akun layanan.
    2. Klik nama akun layanan yang Anda gunakan untuk menjalankan pipeline. Halaman Detail akun layanan akan muncul.

      Jika Anda mengikuti petunjuk dalam panduan mengonfigurasi project untuk Vertex AI Pipelines, akun layanan ini sama dengan yang Anda buat di bagian Konfigurasikan akun layanan dengan izin terperinci. Jika tidak, Vertex AI akan menggunakan akun layanan default Compute Engine untuk menjalankan pipeline. Akun layanan default Compute Engine diberi nama seperti berikut: PROJECT_NUMBER-compute@developer.gserviceaccount.com

    3. Klik tab Izin.
    4. Klik Berikan akses. Panel Tambahkan akun utama akan muncul.
    5. Di kotak Akun utama baru, masukkan alamat email untuk akun layanan yang Anda buat di langkah sebelumnya.
    6. Di menu drop-down Peran, pilih Akun layanan > Pengguna akun layanan.
    7. Klik Simpan
  4. Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke jalur file JSON yang berisi kunci akun layanan Anda. Variabel ini hanya berlaku untuk sesi shell Anda saat ini. Jadi, jika Anda membuka sesi baru, tetapkan variabel kembali.

    Contoh: Linux atau macOS

    Ganti [PATH] dengan jalur file JSON yang berisi kunci akun layanan Anda.

    export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

    Contoh:

    export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

    Contoh: Windows

    Ganti [PATH] dengan jalur file JSON yang berisi kunci akun layanan Anda, dan [FILE_NAME] dengan nama file.

    Dengan PowerShell:

    $env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

    Contoh:

    $env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

    Dengan command prompt:

    set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

Menjalankan pipeline

Untuk menjalankan Vertex AI PipelineJob, Anda harus membuat objek PipelineJob, lalu memanggil metode submit.

Jenis input khusus yang didukung oleh KFP

Saat membuat operasi pipeline, Anda juga dapat meneruskan placeholder berikut yang didukung oleh SDK KFP sebagai input:

  • {{$.pipeline_job_name_placeholder}}

  • {{$.pipeline_job_resource_name_placeholder}}

  • {{$.pipeline_job_id_placeholder}}

  • {{$.pipeline_task_name_placeholder}}

  • {{$.pipeline_task_id_placeholder}}

  • {{$.pipeline_job_create_time_utc_placeholder}}

  • {{$.pipeline_root_placeholder}}

Untuk informasi selengkapnya, lihat Jenis input khusus dalam dokumentasi Kubeflow Pipelines v2.

from google.cloud import aiplatform

job = aiplatform.PipelineJob(display_name = DISPLAY_NAME,
                             template_path = COMPILED_PIPELINE_PATH,
                             job_id = JOB_ID,
                             pipeline_root = PIPELINE_ROOT_PATH,
                             parameter_values = PIPELINE_PARAMETERS,
                             enable_caching = ENABLE_CACHING,
                             encryption_spec_key_name = CMEK,
                             labels = LABELS,
                             credentials = CREDENTIALS,
                             project = PROJECT_ID,
                             location = LOCATION,
                             failure_policy = FAILURE_POLICY)

job.submit(service_account=SERVICE_ACCOUNT,
           network=NETWORK)

Ganti kode berikut:

  • DISPLAY_NAME: Nama pipeline yang akan muncul di konsol Google Cloud.
  • COMPILED_PIPELINE_PATH: Jalur ke file YAML pipeline Anda yang dikompilasi. Parameter ini dapat berupa jalur lokal atau URI Cloud Storage.

    Opsional: Untuk menentukan versi tertentu dari pipeline yang dikompilasi, sertakan tag versi dalam salah satu format berikut:

    • COMPILED_PIPELINE_PATH:TAG, dengan TAG adalah tag versi.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, dengan SHA256_TAG adalah nilai hash sha256 dari versi pipeline.

  • JOB_ID: (opsional) ID unik untuk proses pipeline ini. Jika ID tugas tidak ditentukan, Vertex AI Pipelines akan membuat ID tugas untuk Anda menggunakan nama pipeline dan stempel waktu saat proses pipeline dimulai.

  • PIPELINE_ROOT_PATH: (opsional) Untuk mengganti jalur root pipeline yang ditentukan dalam definisi pipeline, tentukan jalur yang dapat diakses oleh tugas pipeline Anda, seperti URI bucket Cloud Storage.

  • PIPELINE_PARAMETERS: (opsional) Parameter pipeline yang akan diteruskan ke proses ini. Misalnya, buat dict() dengan nama parameter sebagai kunci kamus dan nilai parameter sebagai nilai kamus.

  • ENABLE_CACHING: (opsional) Menentukan apakah proses pipeline ini menggunakan caching eksekusi. Caching eksekusi mengurangi biaya dengan melewati tugas pipeline yang outputnya diketahui untuk kumpulan input saat ini. Jika argumen caching aktif tidak ditentukan, caching eksekusi akan digunakan dalam proses pipeline ini. Pelajari lebih lanjut caching eksekusi.

  • CMEK: (opsional) Nama kunci enkripsi yang dikelola pelanggan yang ingin Anda gunakan untuk proses pipeline ini.

  • LABELS: (opsional) Pengguna menentukan label untuk mengatur PipelineJob ini. Untuk mengetahui informasi selengkapnya tentang label resource, lihat Membuat dan mengelola label di Dokumentasi Resource Manager.

    Vertex AI Pipelines secara otomatis melampirkan label berikut ke proses pipeline Anda:

    vertex-ai-pipelines-run-billing-id: pipeline_run_id

    dengan pipeline_run_id adalah ID unik dari proses pipeline.

    Label ini menghubungkan penggunaan resource Google Cloud yang dihasilkan oleh proses pipeline di laporan penagihan.

  • CREDENTIALS: (opsional) Kredensial kustom yang digunakan untuk membuat PipelineJob ini. Mengganti kredensial yang ditetapkan di aiplatform.init.

  • PROJECT_ID: (opsional) Project Google Cloud tempat Anda ingin menjalankan pipeline. Jika Anda tidak menetapkan parameter ini, project yang ditetapkan di aiplatform.init akan digunakan.

  • LOCATION: (opsional) Region tempat Anda ingin menjalankan pipeline. Untuk mengetahui informasi selengkapnya tentang region tempat Vertex AI Pipelines tersedia, lihat panduan lokasi Vertex AI. Jika Anda tidak menetapkan parameter ini, lokasi default yang ditetapkan di aiplatform.init akan digunakan.

  • FAILURE_POLICY: (opsional) Menentukan kebijakan kegagalan untuk seluruh pipeline. Konfigurasi berikut ini tersedia:

    • Untuk mengonfigurasi pipeline agar gagal setelah satu tugas gagal, masukkan fast.

    • Untuk mengonfigurasi pipeline agar dapat terus menjadwalkan tugas setelah satu tugas gagal, masukkan slow.

    Jika Anda tidak menetapkan parameter ini, konfigurasi kebijakan kegagalan akan ditetapkan ke slow secara default. Pelajari lebih lanjut kebijakan kegagalan pipeline.

  • SERVICE_ACCOUNT: (opsional) Nama akun layanan yang akan digunakan untuk proses pipeline ini. Jika Anda tidak menentukan akun layanan, Vertex AI Pipelines akan menjalankan pipeline Anda menggunakan akun layanan Compute Engine default.

  • NETWORK: (opsional) :Nama jaringan yang di-peering VPC yang akan digunakan untuk proses pipeline ini.