Esegui di nuovo una pipeline

Puoi eseguire di nuovo attività specifiche da esecuzioni di pipeline di machine learning (ML) completate, annullate o non riuscite. Quando avvii una nuova esecuzione, puoi modificare le configurazioni a livello di attività o scegliere di saltare le attività, quindi creare un'esecuzione in base alla configurazione aggiornata. La nuova esecuzione della pipeline mantiene un riferimento all'esecuzione della pipeline originale per la tracciabilità. Se un'attività è stata completata correttamente in un'esecuzione precedente, Vertex AI Pipelines riutilizza i risultati memorizzati nella cache per questa attività. In caso contrario, se il passaggio non è riuscito, Vertex AI Pipelines lo esegue durante la nuova esecuzione della pipeline.

In questo modo puoi risolvere in modo efficiente gli errori della pipeline ML apportando modifiche alla pipeline ML senza riavviarla completamente. Puoi modificare un'attività non riuscita, confrontare i risultati con diversi insiemi di parametri o saltare un'attività non essenziale che non va a buon fine.

L'esecuzione di nuovo di una pipeline è utile per i professionisti MLOps che gestiscono pipeline ML complesse in produzione. Ecco alcuni esempi di scenari in cui è utile:

  • Gestione degli errori parziali nei processi paralleli: quando una parte di un ampio processo parallelo non riesce, puoi saltare l'attività non riuscita e lasciare che il resto della pipeline continui a essere eseguito. Ad esempio, se una pipeline di dati per un'attività su 100 non va a buon fine, puoi saltarla.

  • Riesecuzione di un'attività con dati di input aggiornati: se una singola attività deve essere rieseguita con dati aggiornati, puoi rieseguire l'attività specifica.

  • Eseguire il debug dei problemi di produzione senza richiedere modifiche al codice: esegui di nuovo un'attività specifica e tutte le attività che dipendono da essa senza coinvolgere l'autore del codice della pipeline.

Esegui di nuovo una pipeline

Per eseguire nuovamente una pipeline, utilizza l'SDK Vertex AI per Python.

Python

Utilizza il seguente esempio per eseguire nuovamente una pipeline saltando un'attività non riuscita ed eseguendo nuovamente un'altra attività con parametri aggiornati utilizzando il metodo 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)

Sostituisci quanto segue:

  • PROJECT_ID: Il Google Cloud progetto contenente l'esecuzione della pipeline.
  • LOCATION: la regione in cui si trova l'esecuzione della pipeline. Per saperne di più sulle regioni in cui è disponibile Vertex AI Pipelines, consulta la guida alle località di Vertex AI.
  • PIPELINE_RUN_RESOURCE_NAME: il nome risorsa completo dell'esecuzione della pipeline completata, non riuscita o annullata che vuoi eseguire di nuovo. Inserisci il nome della risorsa nel formato projects/PROJECT_NUMBER/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID, dove:

    • PROJECT_NUMBER: il numero di progetto. Puoi trovare questo numero di progetto nella console Google Cloud . Per ulteriori informazioni, consulta Trovare il nome, il numero e l'ID del progetto.
    • PIPELINE_RUN_ID con l'ID univoco dell'esecuzione della pipeline che vuoi eseguire di nuovo. L'ID viene visualizzato nella scheda Esecuzioni nella pagina Pipeline della console Google Cloud .
  • RERUN_TASK_NAME: il nome del task da eseguire di nuovo con i parametri aggiornati.
  • SKIP_FAILED_TASK_NAME: il nome dell'attività non riuscita da ignorare durante la ripetizione.
  • TASK_PARAMETER_1 e TASK_PARAMETER_2: i nomi dei parametri dell'attività di cui vuoi eseguire l'override nella nuova esecuzione della pipeline.
  • TASK_PARAMETER_1_VALUE e TASK_PARAMETER_2_VALUE: I nuovi valori di TASK_PARAMETER_1 e TASK_PARAMETER_2 rispettivamente nella ripetizione della pipeline.
  • PIPELINE_PARAMETER_VALUES: (Facoltativo) I valori dei parametri a livello di esecuzione della pipeline aggiornati da utilizzare per la ripetizione dell'esecuzione della pipeline.
  • RERUN_PIPELINE_JOB_ID: (Facoltativo) Un ID univoco da assegnare al nuovo job di ripetizione della pipeline.