Configurar el almacenamiento en caché de una ejecución

Cuando Vertex AI Pipelines ejecuta una canalización, comprueba si existe una ejecución en Vertex ML Metadata con la interfaz (clave de caché) de cada paso de la canalización.

La interfaz del paso se define como la combinación de lo siguiente:

  1. Las entradas del paso del flujo de trabajo. Estas entradas incluyen el valor de los parámetros de entrada (si los hay) y el ID del artefacto de entrada (si lo hay).

  2. La definición de la salida del paso de la canalización. Esta definición de salida incluye la definición del parámetro de salida (nombre, si lo hay) y la definición del artefacto de salida (nombre, si lo hay).

  3. La especificación del componente. Esta especificación incluye la imagen, los comandos, los argumentos y las variables de entorno que se utilizan, así como el orden de los comandos y los argumentos.

Además, solo las canalizaciones con el mismo nombre compartirán la caché.

Si hay una ejecución coincidente en los metadatos de Vertex ML, se usan las salidas de esa ejecución y se omite el paso. Esto ayuda a reducir los costes al omitir los cálculos que se completaron en una ejecución anterior de la canalización.

Para desactivar el almacenamiento en caché de la ejecución a nivel de tarea, define lo siguiente:

eval_task.set_caching_options(False)

Puedes desactivar el almacenamiento en caché de la ejecución de una tarea de canalización completa. Cuando ejecutas una pipeline con PipelineJob(), puedes usar el argumento enable_caching para especificar que esta ejecución de la pipeline no use la caché. Ningún paso del trabajo de la pipeline usará el almacenamiento en caché. Más información sobre cómo crear ejecuciones de la canalización

Usa el siguiente ejemplo para desactivar el almacenamiento en caché:

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,
)

Esta función está sujeta a las siguientes limitaciones:

  • El resultado almacenado en caché no tiene un tiempo de vida (TTL) y se puede reutilizar siempre que la entrada no se elimine de los metadatos de Vertex ML. Si se elimina la entrada de los metadatos de Vertex ML, la tarea se volverá a ejecutar para regenerar el resultado.