Sie können bestimmte Aufgaben aus abgeschlossenen, abgebrochenen oder fehlgeschlagenen Machine-Learning-Pipelineausführungen (ML) noch einmal ausführen. Wenn Sie eine erneute Ausführung starten, können Sie Konfigurationen auf Aufgabenebene ändern oder Aufgaben überspringen und dann eine Ausführung basierend auf der aktualisierten Konfiguration erstellen. Die neue Pipelineausführung enthält einen Verweis auf die ursprüngliche Pipelineausführung, um die Nachverfolgung zu ermöglichen. Wenn eine Aufgabe in einer vorherigen Ausführung erfolgreich war, verwendet Vertex AI Pipelines die im Cache gespeicherten Ergebnisse für diese Aufgabe wieder. Andernfalls, wenn der Schritt fehlgeschlagen war, führt Vertex AI Pipelines den Schritt während der erneuten Ausführung der Pipeline aus.
So können Sie ML-Pipelinefehler effizient beheben, indem Sie Anpassungen an Ihrer ML-Pipeline vornehmen, ohne die gesamte ML-Pipeline neu zu starten. Sie können eine fehlgeschlagene Aufgabe anpassen, Ergebnisse mit verschiedenen Parametersätzen vergleichen oder eine nicht unbedingt erforderliche Aufgabe überspringen, die fehlschlägt.
Das erneute Ausführen einer Pipeline ist für MLOps-Experten nützlich, die komplexe ML-Pipelines in der Produktion verwalten. Beispiele für Szenarien, in denen dies nützlich ist:
Umgang mit teilweisen Fehlern in parallelen Prozessen: Wenn ein Teil eines großen parallelen Prozesses fehlschlägt, können Sie die fehlgeschlagene Aufgabe überspringen und den Rest der Pipeline weiter ausführen lassen. Wenn beispielsweise eine Datenpipeline für eine von 100 Aufgaben fehlschlägt, können Sie sie überspringen.
Aufgabe mit aktualisierten Eingabedaten noch einmal ausführen: Wenn eine einzelne Aufgabe mit aktualisierten Daten noch einmal ausgeführt werden muss, können Sie diese bestimmte Aufgabe noch einmal ausführen.
Produktionsprobleme ohne Codeänderungen beheben: Führen Sie eine bestimmte Aufgabe und alle davon abhängigen Aufgaben noch einmal aus, ohne den Autor des Pipelinecodes einzubeziehen.
Pipeline noch einmal ausführen
Verwenden Sie das Vertex AI SDK für Python, um eine Pipeline noch einmal auszuführen.
Python
Verwenden Sie das folgende Beispiel, um eine Pipeline noch einmal auszuführen, indem Sie eine fehlgeschlagene Aufgabe überspringen und eine andere Aufgabe mit aktualisierten Parametern noch einmal ausführen. Verwenden Sie dazu die Methode 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)
Ersetzen Sie Folgendes:
- PROJECT_ID: Das Google Cloud Projekt, das die Pipelineausführung enthält.
- LOCATION: Die Region, in der sich die Pipelineausführung befindet. Weitere Informationen zu den Regionen, in denen Vertex AI Pipelines verfügbar ist, finden Sie in der Anleitung zu Vertex AI-Standorten.
PIPELINE_RUN_RESOURCE_NAME: Der vollständig qualifizierte Ressourcenname der abgeschlossenen, fehlgeschlagenen oder abgebrochenen Pipelineausführung, die Sie noch einmal ausführen möchten. Geben Sie den Ressourcennamen im Format
projects/PROJECT_NUMBER/locations/LOCATION/pipelineJobs/PIPELINE_RUN_IDein, wobei gilt:- PROJECT_NUMBER: Die Projektnummer für Ihr Projekt. Sie finden diese Projektnummer in der Google Cloud Console. Weitere Informationen finden Sie unter Projektname, -nummer und -ID ermitteln.
- PIPELINE_RUN_ID durch die eindeutige ID der Pipelineausführung die Sie noch einmal ausführen möchten. Die ID wird in der Google Cloud Console auf der Seite Pipelines auf dem Tab Ausführungen angezeigt.
- RERUN_TASK_NAME: Der Name der Aufgabe, die mit aktualisierten Parametern noch einmal ausgeführt werden soll.
- SKIP_FAILED_TASK_NAME: Der Name der fehlgeschlagenen Aufgabe, die während der erneuten Ausführung übersprungen werden soll.
- TASK_PARAMETER_1 und TASK_PARAMETER_2: Die Namen der Parameter für die Aufgabe, die Sie bei der erneuten Ausführung der Pipeline überschreiben möchten.
- TASK_PARAMETER_1_VALUE und TASK_PARAMETER_2_VALUE: Die neuen Werte von TASK_PARAMETER_1 bzw. TASK_PARAMETER_2 bei der erneuten Ausführung der Pipeline.
- PIPELINE_PARAMETER_VALUES: Optional. Die aktualisierten Parameterwerte auf Pipelineausführungsebene , die für die erneute Ausführung der Pipeline verwendet werden sollen.
- RERUN_PIPELINE_JOB_ID: Optional. Eine eindeutige ID, die dem neuen Job für die erneute Ausführung der Pipeline zugewiesen werden soll.