Introducción a Vertex AI Pipelines

Vertex AI Pipelines te permite automatizar, supervisar y gestionar tus sistemas de aprendizaje automático (AA) de manera sin servidores mediante el uso de tuberías de AA para orquestar tus flujos de trabajo de AA. Puedes ejecutar en lotes tuberías de ML definidas utilizando Kubeflow Pipelines (Kubeflow Pipelines) o TensorFlow Extended. Para obtener información sobre cómo elegir un framework a fin de definir tu canalización de AA, consulta Interfaces para definir una canalización.

En esta página, se proporciona una descripción general de los siguientes temas:

¿Qué es una canalización de AA?

Una canalización de AA es una descripción portátil y extensible de un flujo de trabajo de MLOps como una serie de pasos llamados tareas de canalización. Cada tarea realiza un paso específico en el flujo de trabajo para entrenar o implementar un modelo de AA.

Con las canalizaciones de AA, puedes aplicar estrategias de MLOps para automatizar y supervisar procesos repetibles en tu práctica de AA. Por ejemplo, puedes volver a usar una definición de canalización para volver a entrenar un modelo de forma continua en los datos de producción más recientes. Para obtener más información sobre MLOps en Vertex AI, consulta MLOps en Vertex AI.

Estructura de una canalización de AA

Una canalización de AA es un grafo acíclico dirigido (DAG) de las tareas de canalización en contenedores que se interconectan mediante dependencias de entrada y salida. Puedes crear cada tarea en Python o como imágenes de contenedor compiladas previamente.

Puedes definir la canalización como un DAG mediante el SDK de Kubeflow Pipelines o el SDK de TFX, compilarlo en su YAML para la representación intermedia y, luego, ejecutar la canalización. De forma predeterminada, las tareas de canalización se ejecutan en paralelo. Puedes vincular las tareas para ejecutarlas en serie. Para obtener más información sobre las tareas de canalización, consulta Tarea de canalización. Para obtener más información sobre el flujo de trabajo para definir, compilar y ejecutar la canalización, consulta Ciclo de vida de una canalización de AA.

Tareas y componentes de la canalización

Una tarea de canalización es una creación de instancias de un componente de canalización con entradas específicas. Mientras defines tu canalización de AA, puedes interconectar varias tareas para formar un DAG, si enrutas los resultados de una tarea de canalización a las entradas para la siguiente tarea de canalización en el flujo de trabajo de AA. También puedes usar las entradas de la canalización de AA como entradas para una tarea de canalización.

Componente de canalización

Un componente de canalización es un conjunto de código autónomo que realiza un paso específico de un flujo de trabajo del AA, como el procesamiento previo de los datos, el entrenamiento de modelos o la implementación de modelos. Por lo general, un componente consta de los siguientes elementos:

  • Entradas: Un componente puede tener uno o más parámetros y artefactos de entrada.

  • Salidas: Cada componente tiene uno o más parámetros o artefactos de salida.

  • Logic: Este es el código ejecutable del componente. Para los componentes alojados en contenedores, la lógica también contiene la definición del entorno o la imagen de contenedor, en la que el componente se ejecuta.

Los componentes son la base de la definición de tareas en una canalización de AA. Para definir tareas de canalización, puedes usar los componentes de canalización de Google Cloud predefinidos o crear tus propios componentes personalizados.

Componentes predefinidos

Usa los componentes predefinidos de la canalización de Google Cloud si deseas usar funciones de Vertex AI, como AutoML, en tu canalización. Si deseas obtener información sobre cómo usar los componentes de canalización de Google Cloud para definir una canalización, consulta Compila una canalización.

Componentes personalizados

Puedes crear tus propios componentes personalizados para usarlos en la canalización de AA. Para obtener más información sobre la creación de componentes personalizados, consulta Compila tus propios componentes de canalización.

Para obtener información sobre cómo crear componentes personalizados de Kubeflow Pipelines, consulta el notebook de Jupyter “Canalizaciones con componentes básicos basados en funciones de Python” en GitHub. Si deseas obtener información para crear componentes de TFX personalizados, consulta el instructivo de componentes de funciones de Python de TFX en los instructivos de TensorFlow Extended en producción.

Tarea de canalización

Una tarea de canalización es la creación de instancias de un componente de canalización y realiza un paso específico en tu flujo de trabajo de AA. Puedes crear tareas de canalización de AA con Python o como imágenes de contenedor compiladas previamente.

Dentro de una tarea, puedes compilar las capacidades de procesamiento a pedido de Vertex AI con Kubernetes para ejecutar la ejecución de tu código de forma escalable, o delegar tu carga de trabajo a otro motor de ejecución, como BigQuery, Dataflow o Dataproc sin servidores.

Ciclo de vida de una canalización de AA

Desde la definición hasta la ejecución y la supervisión, el ciclo de vida de una canalización de AA consta de las siguientes etapas de alto nivel:

  1. Definir: El proceso de definir una canalización de AA y su tarea también se denomina compilar una canalización. En esta sección, debes realizar los siguientes pasos:

    1. Elige un framework de AA: Vertex AI Pipelines admite canalizaciones de AA definidas mediante el framework de TFX o Kubeflow Pipelines. Si deseas obtener información sobre cómo elegir un framework para compilar tu canalización, consulta Interfaces a fin de definir una canalización.

    2. Define tareas y configura la canalización: Para obtener más información, consulta Compila una canalización.

  2. Compilación: En esta etapa, debes realizar los siguientes pasos:

    1. Genera la definición de tu canalización de AA en un archivo YAML compilado para la representación intermedia, que puedes usar a fin de ejecutar tu canalización de AA.

    2. Opcional: Puedes subir el archivo YAML compilado como una plantilla de canalización a un repositorio y reutilizarlo para crear ejecuciones de canalización de AA.

  3. Ejecutar: Crea una instancia de ejecución de tu canalización de AA con el archivo YAML compilado o una plantilla de canalización. La instancia de ejecución de una definición de canalización se denomina ejecución de canalización.

    Puedes crear un caso único de ejecución de una canalización o usar Vertex AI Scheduler para crear ejecuciones recurrentes de canalización a partir de la misma definición de canalización de AA. También puedes clonar una ejecución de canalización existente. Si deseas obtener información sobre cómo elegir una interfaz a fin de ejecutar una canalización de AA, consulta Interfaces para ejecutar una canalización. Para obtener más información sobre cómo crear una ejecución de canalización, consulta Ejecuta una canalización.

  4. Supervisa, visualiza y analiza ejecuciones: Después de crear una ejecución de canalización, puedes hacer lo siguiente para supervisar el rendimiento, el estado y los costos de las ejecuciones de canalización:

  5. Opcional: Detén o borra ejecuciones de canalización: No hay restricciones sobre cuánto tiempo puedes mantener activa una ejecución de canalización. De manera opcional, puedes hacer lo siguiente:

    • Detén una ejecución de canalización.

    • Pausa o reanuda una programación de ejecución de la canalización.

    • Borra una plantilla de canalización, una ejecución de canalización o un programa de ejecución de canalización existentes.

¿Qué es una ejecución de canalización?

Una ejecución de canalización es una instancia de ejecución de tu definición de canalización de AA. Cada ejecución de la canalización se identifica con un nombre de ejecución único. Con Vertex AI Pipelines, puedes crear una canalización de AA de las siguientes maneras:

  • Usa la definición YAML compilada de una canalización

  • Usar una plantilla compilada previamente de la Galería de plantillas

Para obtener más información sobre cómo crear una ejecución de canalización, consulta Ejecuta una canalización. Para obtener más información sobre cómo crear una ejecución de canalización a partir de una plantilla de canalización, consulta Crea, sube y usa una plantilla de canalización.

Si deseas obtener información para realizar un seguimiento y almacenar artefactos de ejecución de canalizaciones y metadatos mediante Vertex ML Metadata, consulta Usa Vertex ML Metadata para hacer un seguimiento del linaje de artefactos de AA.

Si deseas obtener información sobre el uso de ejecuciones de canalizaciones para experimentar en tu flujo de trabajo del AA con Vertex AI Experiments, consulta Agrega ejecuciones de canalizaciones a los experimentos.

Usa Vertex ML Metadata para hacer un seguimiento del linaje de artefactos de AA

Una ejecución de canalización contiene varios artefactos y parámetros, incluidos los metadatos de canalización. Para comprender los cambios en el rendimiento o la exactitud de tu sistema de AA, debes analizar los metadatos y el linaje de artefactos de AA de las ejecuciones de canalizaciones de AA. El linaje de un artefacto de AA incluye todos los factores que contribuyeron a su creación, junto con los artefactos y los metadatos que se derivan de él.

Administrar estos metadatos de manera ad hoc puede ser difícil y tedioso. Puedes utilizar Vertex ML Metadata para gestionar eficientemente estos metadatos. Cuando ejecutas una tubería de ML utilizando Vertex AI Pipelines, los artefactos y metadatos de la ejecución de la tubería se almacenan utilizando Vertex ML Metadata.

Para obtener más información sobre el seguimiento del linaje de artefactos de AA mediante Vertex ML Metadata, consulta Realiza un seguimiento del linaje de artefactos de canalización.

Para obtener más información sobre cómo visualizar, analizar y comparar ejecuciones de canalizaciones, consulta Visualiza y analiza resultados de canalizaciones. Para obtener una lista de los tipos de artefactos de origen definidos en los componentes de canalización de Google Cloud, consulta Tipos de artefactos de metadatos de AA.

Agregar ejecuciones de tuberías a experimentos

Vertex AI Experiments te permite realizar un seguimiento y analizar varias arquitecturas de modelos, hiperparámetros y entornos de entrenamiento a fin de encontrar el mejor modelo para tu caso de uso del AA. Después de crear una ejecución de canalización de AA, puedes asociarla con un experimento o una ejecución de experimento. Al hacerlo, puedes experimentar con diferentes conjuntos de variables, como hiperparámetros, número de pasos de entrenamiento o iteraciones.

Para obtener más información sobre cómo experimentar con flujos de trabajo de AA mediante Vertex AI Experiments, consulta Introducción a Vertex AI Experiments.

¿Qué sigue?