Menjalankan ulang pipeline

Anda dapat menjalankan ulang tugas tertentu dari pipeline machine learning (ML) yang telah selesai, dibatalkan, atau gagal. Saat memulai penayangan ulang, Anda dapat mengubah konfigurasi tingkat tugas, atau memilih untuk melewati tugas, lalu membuat run berdasarkan konfigurasi yang diperbarui. Operasi pipeline baru mempertahankan referensi ke operasi pipeline asli untuk ketertelusuran. Jika tugas berhasil dalam proses sebelumnya, Vertex AI Pipelines akan menggunakan kembali hasil yang di-cache untuk tugas tersebut. Jika tidak, jika langkah gagal, Vertex AI Pipelines akan menjalankan langkah selama penyusunan ulang pipeline.

Hal ini memungkinkan Anda mengatasi kegagalan pipeline ML secara efisien dengan melakukan penyesuaian pada pipeline ML tanpa memulai ulang seluruh pipeline ML. Anda dapat menyesuaikan tugas yang gagal, membandingkan hasil dengan berbagai set parameter, atau melewati tugas yang tidak penting yang gagal.

Menjalankan ulang pipeline berguna bagi praktisi MLOps yang mengelola pipeline ML yang kompleks dalam produksi. Contoh skenario yang berguna mencakup hal berikut:

  • Menangani kegagalan sebagian dalam proses paralel: Jika satu bagian dari proses paralel yang besar gagal, Anda dapat melewati tugas yang gagal dan membiarkan pipeline yang tersisa terus berjalan. Misalnya, jika pipeline data untuk satu dari 100 tugas gagal, Anda dapat melewatinya.

  • Menjalankan ulang tugas dengan data input yang diperbarui: Jika satu tugas perlu dijalankan ulang dengan data yang diperbarui, Anda dapat menjalankan ulang tugas tertentu tersebut.

  • Men-debug masalah produksi tanpa memerlukan perubahan kode: Jalankan ulang tugas tertentu dan semua tugas yang bergantung padanya tanpa melibatkan penulis kode pipeline.

Menjalankan ulang pipeline

Untuk menjalankan ulang pipeline, gunakan Vertex AI SDK untuk Python.

Python

Gunakan contoh berikut untuk menjalankan ulang pipeline dengan melewati tugas yang gagal dan menjalankan ulang tugas lain dengan parameter yang diperbarui menggunakan metode PipelineJob.rerun():

from google.cloud import aiplatform
from google.cloud.aiplatform.preview.pipelinejob.pipeline_jobs import (
  _PipelineJob as PipelineJob
)
from google.cloud.aiplatform_v1beta1.types.ui_pipeline_spec import RuntimeArtifact
from google.protobuf.struct_pb2 import Value
from google.cloud.aiplatform_v1beta1.types import PipelineTaskRerunConfig
aiplatform.init(project="PROJECT_ID", location="LOCATION")
job = aiplatform.PipelineJob.get(resource_name="PIPELINE_RUN_RESOURCE_NAME")
original_job_name = job.resource_name
rerun_task_id = None
skip_failed_task_id = None
task_inputs_override = PipelineTaskRerunConfig.Inputs(
    parameter_values={
      "TASK_PARAMETER_1": Value(TASK_PARAMETER_1_VALUE),
      "TASK_PARAMETER_2": Value(TASK_PARAMETER_2_VALUE)
    }
)
for task in job.task_details:
    if task.task_name == RERUN_TASK_NAME:
        rerun_task_id = task.task_id
    if task.task_name == SKIP_FAILED_TASK_NAME:
        skip_failed_task_id = task.task_id
pipeline_job.rerun(original_pipelinejob_name=original_job_name,
  pipeline_task_rerun_configs=[
    PipelineTaskRerunConfig(task_id = rerun_task_id,
      skip_task = False,
      inputs = PipelineTaskRerunConfig.Inputs(task_inputs_override)
    ),
    PipelineTaskRerunConfig(task_id = skip_failed_task_id,
      skip_task = True
    )
  ],
  parameter_values=PIPELINE_PARAMETER_VALUES,
  job_id=RERUN_PIPELINE_JOB_ID)

Ganti kode berikut:

  • PROJECT_ID: Google Cloud Project yang berisi eksekusi pipeline.
  • LOCATION: Region tempat proses pipeline berada. Untuk mengetahui informasi selengkapnya tentang region yang menyediakan Vertex AI Pipelines, lihat panduan lokasi Vertex AI.
  • PIPELINE_RUN_RESOURCE_NAME: Nama resource yang sepenuhnya memenuhi syarat dari proses pipeline yang telah selesai, gagal, atau dibatalkan yang ingin Anda jalankan ulang. Masukkan nama resource dalam format projects/PROJECT_NUMBER/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID, dengan:

    • PROJECT_NUMBER: Nomor project untuk project Anda. Anda dapat menemukan nomor project ini di konsol Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Menemukan nama, nomor, dan ID project.
    • PIPELINE_RUN_ID dengan ID unik dari proses pipeline yang ingin Anda jalankan ulang. ID ditampilkan di tab Runs di halaman Pipelines di konsol Google Cloud .
  • RERUN_TASK_NAME: Nama tugas yang akan dijalankan ulang dengan parameter yang diperbarui.
  • SKIP_FAILED_TASK_NAME: Nama tugas yang gagal untuk dilewati selama penayangan ulang.
  • TASK_PARAMETER_1 dan TASK_PARAMETER_2: Nama parameter untuk tugas yang ingin Anda ganti dalam penayangan ulang pipeline.
  • TASK_PARAMETER_1_VALUE dan TASK_PARAMETER_2_VALUE: Nilai baru TASK_PARAMETER_1 dan TASK_PARAMETER_2 masing-masing dalam penayangan ulang pipeline.
  • PIPELINE_PARAMETER_VALUES: Opsional. Nilai parameter tingkat operasi pipeline yang diperbarui untuk digunakan dalam penayangan ulang pipeline.
  • RERUN_PIPELINE_JOB_ID: Opsional. ID unik untuk ditetapkan ke tugas penayangan ulang pipeline baru.