Anda dapat menjalankan kembali tugas tertentu dari proses pipeline machine learning (ML) yang selesai, dibatalkan, atau gagal. Saat memulai proses ulang, Anda dapat mengubah konfigurasi tingkat tugas, atau memilih untuk melewati tugas, lalu membuat proses berdasarkan konfigurasi yang diperbarui. Proses pipeline baru mempertahankan referensi ke proses pipeline asli untuk ketertelusuran. Jika tugas berhasil dalam proses sebelumnya, Gemini Enterprise Agent Platform Pipelines akan menggunakan kembali hasil yang di-cache untuk tugas tersebut. Jika tidak, jika langkah tersebut gagal, Agent Platform Pipelines akan menjalankan langkah tersebut selama proses 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 kumpulan parameter yang berbeda, atau melewati tugas yang tidak penting yang gagal.
Menjalankan kembali pipeline berguna bagi praktisi MLOps yang mengelola pipeline ML kompleks dalam produksi. Contoh skenario yang berguna mencakup hal berikut:
Menangani kegagalan sebagian dalam proses paralel: Jika satu bagian dari proses paralel besar gagal, Anda dapat melewati tugas yang gagal dan membiarkan sisa proses pipeline terus berjalan. Misalnya, jika pipeline data untuk satu dari 100 tugas gagal, Anda dapat melewatinya.
Menjalankan kembali tugas dengan data input yang diperbarui: Jika satu tugas perlu dijalankan kembali dengan data yang diperbarui, Anda dapat menjalankan kembali tugas tertentu tersebut.
Men-debug masalah produksi tanpa memerlukan perubahan kode: Jalankan kembali tugas tertentu dan semua tugas yang bergantung padanya tanpa melibatkan penulis kode pipeline.
Menjalankan kembali pipeline
Untuk menjalankan kembali pipeline, gunakan Agent Platform SDK untuk Python.
Python
Gunakan contoh berikut untuk menjalankan kembali pipeline dengan melewati tugas yang gagal dan menjalankan kembali 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: Project yang berisi proses pipeline. Google Cloud
- LOCATION: Region tempat proses pipeline berada. Untuk mengetahui informasi selengkapnya tentang region yang menyediakan Agent Platform Pipelines, lihat panduan lokasi Gemini Enterprise Agent Platform.
PIPELINE_RUN_RESOURCE_NAME: Nama resource yang sepenuhnya memenuhi syarat dari proses pipeline yang selesai, gagal, atau dibatalkan yang ingin Anda jalankan kembali. 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 Google Cloud konsol. Untuk mengetahui informasi selengkapnya, lihat Menemukan nama, nomor, dan ID project.
- PIPELINE_RUN_ID dengan ID unik dari proses pipeline yang ingin Anda jalankan kembali. ID ditampilkan di tab Runs di halaman Pipelines di Google Cloud konsol.
- RERUN_TASK_NAME: Nama tugas yang akan dijalankan kembali dengan parameter yang diperbarui.
- SKIP_FAILED_TASK_NAME: Nama tugas yang gagal untuk dilewati selama proses ulang.
- TASK_PARAMETER_1 dan TASK_PARAMETER_2: Nama parameter untuk tugas yang ingin Anda ganti dalam proses ulang pipeline.
- TASK_PARAMETER_1_VALUE dan TASK_PARAMETER_2_VALUE: Nilai baru TASK_PARAMETER_1 dan TASK_PARAMETER_2 masing-masing dalam proses ulang pipeline.
- PIPELINE_PARAMETER_VALUES: Opsional. Nilai parameter tingkat proses pipeline yang diperbarui untuk digunakan dalam proses ulang pipeline.
- RERUN_PIPELINE_JOB_ID: Opsional. ID unik untuk ditetapkan ke tugas proses ulang pipeline baru.