Configura el almacenamiento en caché de 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 los siguientes elementos:

  1. Las entradas del paso de canalización Estas entradas incluyen el valor de los parámetros de entrada (si existen) y el ID del artefacto de entrada (si hay alguno).

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

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

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

Si hay una ejecución coincidente en los metadatos de Vertex ML, se usan los resultados de esa ejecución y se omite el paso. Esto ayuda a reducir los costos, ya que omite los cálculos que se completaron en una ejecución de canalización anterior.

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

eval_task.set_caching_options(False)

Puedes desactivar el almacenamiento en caché de ejecución para un trabajo de canalización completo. Cuando ejecutas una canalización con PipelineJob(), puedes usar el argumento enable_caching para especificar que esta ejecución de canalización no use el almacenamiento en caché. Todos los pasos dentro del trabajo de canalización no usarán el almacenamiento en caché. Obtén más información sobre cómo crear ejecuciones de canalizaciones.

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

Se aplican las siguientes limitaciones a esta función:

  • El resultado almacenado en caché no tiene un tiempo de actividad (TTL) y se puede volver a usar siempre que la entrada no se borre de Vertex ML Metadata. Si la entrada se borra de Vertex ML Metadata, la tarea se volverá a ejecutar para volver a generar el resultado.