Menjalankan pipeline

Dengan Agent Platform 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.

Anda dapat menggunakan Gemini Enterprise Agent Platform Experiments untuk melacak, menganalisis, dan membandingkan operasi pipeline dengan mengaitkan operasi pipeline dengan eksperimen atau operasi eksperimen. Dengan membandingkan parameter, output, dan metrik performa operasi pipeline, Anda dapat mengidentifikasi konfigurasi pipeline yang paling sesuai untuk kasus penggunaan Anda. Untuk mengetahui informasi selengkapnya, lihat Pengantar Eksperimen Gemini Enterprise Agent Platform.

Sebelum memulai

Sebelum menjalankan pipeline dengan Agent Platform Pipelines, gunakan petunjuk berikut untuk menyiapkan project dan lingkungan pengembanganGoogle Cloud :

  1. Membangun pipeline.

  2. Agar dapat menjalankan pipeline menggunakan Agent Platform 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 Agent Platform, buka halaman Pipelines.

    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 Sumber eksekusi. Tersedia opsi-opsi berikut:

      • Select from existing pipelines: Untuk membuat operasi pipeline 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.

      • Select a Template Gallery pipeline: Untuk membuat operasi pipeline berdasarkan template pipeline buatan Google dari Template Gallery, klik Select a Template Gallery pipeline dan masukkan detail berikut:

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

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

      • 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.

      • Import from Cloud Storage: Untuk mengimpor file definisi pipeline dari Cloud Storage, klik Import from Cloud Storage, lalu masukkan detail berikut:

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

          Atau, masukkan Cloud Storage URI atau URL HTTP/HTTPS file definisi pipeline.

        2. Tentukan Nama pipeline atau komponen.

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

  1. Optional: To schedule recurring pipeline runs, specify the **Run schedule**, as follows:

      1. Select **Recurring**.

      1. Under **Start time**, specify when the schedule becomes active.

          * To schedule the first run to occur immediately after schedule creation, select **Immediately**.

          * To schedule the first run to occur at a specific time and date, select **On**.

      1. In the **Frequency** field, specify the frequency to schedule and execute the
      pipeline runs, using a cron schedule expression based on
      [unix-cron](https://man7.org/linux/man-pages/man5/crontab.5.html).

      1. Under **Ends**, specify when the schedule ends.

          * To indicate that the schedule creates pipeline runs indefinitely, select **Never**.

          * To indicate that the schedule ends on a specific date and time, select **On**, and specify the end date and time for the schedule.

      1. Optional: To specify that the pipeline run uses a custom service account,
      Customer-managed encryption keys (CMEK), or a peered VPC network, click
      **Advanced options**, and then follow these instructions:

          *  To specify a service account, select a service account from the
            **Service account** drop-down list.

              If you don't specify a service account,
              Agent Platform Pipelines runs your pipeline using the default
              Compute Engine service account.

              Learn more about [configuring a service account for use with
              Agent Platform Pipelines](/gemini-enterprise-agent-platform/machine-learning/pipelines/configure-project#service-account).

          *  To use a CMEK, select **Use a customer-managed encryption key**. The **Select a customer-managed key** drop-down list appears. In the **Select a customer-managed key** drop-down list, select the key that you want to use.

          *  To use a peered VPC network in this pipeline run, enter the VPC
          network name in the **Peered VPC network** box.

  1. Click **Continue**.
  1. Di bagian Runtime configuration, 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.

  2. Untuk membuat operasi pipeline, klik Submit.

Python

Gunakan petunjuk berikut untuk menjalankan pipeline ML menggunakan Agent Platform 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 Create service account.

      Buka Buat akun layanan

    2. Di kolom Nama akun layanan, masukkan nama.
    3. Opsional: Di kolom Deskripsi akun layanan, masukkan deskripsi.
    4. Klik Buat.
    5. Klik kolom Pilih peran. Di bagian All roles, pilih Gemini Enterprise Agent Platform > Agent Platform User.
    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 Keys.
    3. Klik Tambahkan kunci, lalu Buat kunci baru.
    4. Klik Buat. 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 Pipeline Gemini Enterprise Agent Platform, akun layanan ini sama dengan yang Anda buat di bagian Konfigurasikan akun layanan dengan izin terperinci. Jika tidak, Gemini Enterprise Agent Platform 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 PipelineJob Gemini Enterprise Agent Platform, Anda harus membuat resource 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 KFP SDK 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 mengetahui 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,
           reserved_ip_ranges=RESERVED_IP_RANGES)

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. Ini dapat berupa Cloud Storage URI, URL HTTP/HTTPS, atau jalur lokal.

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

    • COMPILED_PIPELINE_PATH:TAG, dengan TAG sebagai 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 pekerjaan tidak ditentukan, Agent Platform Pipelines akan membuat ID pekerjaan 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.

    Agent Platform 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 Agent Platform Pipelines tersedia, lihat panduan lokasi Gemini Enterprise Agent Platform. 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, Agent Platform 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.

  • RESERVED_IP_RANGES: Opsional. Daftar nama untuk rentang IP yang dicadangkan dalam jaringan VPC yang digunakan untuk workload operasi pipeline, misalnya: ['vertex-ai-ip-range'].

Langkah berikutnya