Quando Vertex AI Pipelines esegue una pipeline, controlla se in Vertex ML Metadata esiste o meno un'esecuzione con l'interfaccia (chiave della cache) di ogni passaggio della pipeline.
L'interfaccia del passaggio è definita come la combinazione di quanto segue:
Gli input del passaggio della pipeline. Questi input includono l'input parametri e l'eventuale ID artefatto di input.
La definizione dell'output del passaggio della pipeline. Questa definizione di output include la definizione del parametro di output (nome, se presente) e l'artefatto di output (nome, se presente).
La specifica del componente. Questa specifica include immagini, comandi, argomenti e variabili di ambiente in uso dell'ordine dei e argomenti.
Inoltre, solo le pipeline con lo stesso nome condivideranno la cache.
Se in Vertex ML Metadata è presente un'esecuzione corrispondente, vengono utilizzati gli output di quell'esecuzione e il passaggio viene ignorato. In questo modo, puoi ridurre i costi evitando i calcoli completati in un'esecuzione precedente della pipeline.
Puoi disattivare la memorizzazione nella cache dell'esecuzione a livello di attività impostando quanto segue:
eval_task.set_caching_options(False)
Puoi disattivare la memorizzazione nella cache dell'esecuzione per un intero job della pipeline. Quando esegui
una pipeline utilizzando PipelineJob()
, puoi utilizzare l'argomento enable_caching
per
specificare che questa esecuzione della pipeline non utilizza la memorizzazione nella cache. Tutti i passaggi all'interno del job della pipeline non utilizzeranno la memorizzazione nella cache.
Scopri di più sulla creazione di esecuzioni della pipeline.
Usa il seguente esempio per disattivare la memorizzazione nella cache:
pl = PipelineJob(
display_name="My first pipeline",
# Whether or not to enable caching
# True = enable the current run to use caching results from previous runs
# False = disable the current run's use of caching results from previous runs
# None = defer to cache option for each pipeline component in the pipeline definition
enable_caching=False,
# Local or Cloud Storage path to a compiled pipeline definition
template_path="pipeline.yaml",
# Dictionary containing input parameters for your pipeline
parameter_values=parameter_values,
# Cloud Storage path to act as the pipeline root
pipeline_root=pipeline_root,
)
A questa funzionalità si applicano le seguenti limitazioni:
- Il risultato memorizzato nella cache non ha una durata (TTL) e può essere riutilizzato purché la voce non venga eliminata dalla Vertex ML Metadata. Se la voce viene eliminata da Vertex ML Metadata, l'attività verrà eseguita di nuovo per rigenerare il risultato.