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:
Definir: El proceso de definir una canalización de AA y su tarea también se llama compilación de una canalización. En esta sección, debes realizar los siguientes pasos:
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.
Define tareas y configura la canalización: Para obtener más información, consulta Compila una canalización.
Compilación: En esta etapa, debes realizar los siguientes pasos:
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.
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.
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.
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:
Configurar las notificaciones por correo electrónico para las fallas de la canalización. Para obtener más información, consulta Configura las notificaciones por correo electrónico.
Usa Cloud Logging a fin de crear entradas de registro para supervisar eventos. Para obtener más información, consulta Visualiza los registros de los trabajos de canalización.
Visualiza, analiza y compara ejecuciones de canalizaciones. Para obtener más información, consulta Visualiza y analiza los resultados de la canalización.
Usa la exportación de la Facturación de Cloud a BigQuery para analizar los costos de ejecución de la canalización. Para obtener más información, consulta Comprende los costos de ejecución de la canalización.
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.
Para obtener información sobre la captura y el almacenamiento de metadatos de ejecución de canalización con Vertex ML Metadata, consulta Usa Vertex ML Metadata para hacer un seguimiento del linaje de artefactos del AA.
Si deseas obtener información sobre cómo usar las ejecuciones de canalizaciones para experimentar en tu flujo de trabajo de AA mediante Vertex AI Experiments, consulta Agrega las ejecuciones de canalizaciones a experimentos.
Realizar un seguimiento del linaje de los artefactos del AA
Una ejecución de canalización contiene varios artefactos y parámetros, incluidos los metadatos de la 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 tus ejecuciones de canalización de AA. El linaje de un artefacto de AA incluye todos los factores que contribuyeron a su creación, junto con metadatos y referencias a artefactos derivados de él.
Los grafos de linaje te ayudan a analizar la causa raíz ascendente y el impacto descendente. Cada ejecución de la canalización produce un gráfico de linaje de parámetros y artefactos que se ingresan en la ejecución, se materializan en la ejecución y se obtienen como resultado de esta. Los metadatos que componen este grafo de linaje se almacenan en Vertex ML Metadata. Estos metadatos también se pueden sincronizar con Dataplex.
Usa Vertex ML Metadata para hacer un seguimiento del linaje de los artefactos de canalización
Cuando ejecutas una canalización con Vertex AI Pipelines, todos los parámetros y los metadatos de artefactos que consume y genera la canalización se almacenan en Vertex ML Metadata. Vertex ML Metadata es una implementación administrada de la biblioteca de metadatos de AA en TensorFlow y admite el registro y la escritura de esquemas de metadatos personalizados. Cuando creas una ejecución de canalización en Vertex AI Pipelines, los metadatos de la ejecución de la canalización se almacenan en el almacén de metadatos predeterminado para el proyecto y la región en los que ejecutas la canalización.
Usa Dataplex para realizar un seguimiento del linaje de artefactos de canalización (vista previa)
Dataplex es un tejido de datos global y entre proyectos integrado en varios sistemas dentro de Google Cloud, como Vertex AI, BigQuery y Cloud Composer. Dentro de Dataplex, puedes buscar un artefacto de canalización y ver su grafo de linaje. Ten en cuenta que para evitar conflictos de artefactos, cualquier recurso catalogado en Dataplex se identifica con un nombre completamente calificado (FQN).
Para obtener más información sobre cómo realizar un seguimiento del linaje de artefactos del AA con Vertex ML Metadata y Dataplex, 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 los resultados de las 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?
Obtén información sobre las interfaces que puedes usar para definir y ejecutar canalizaciones con Vertex AI Pipelines.
Para comenzar, aprende a definir una canalización con el SDK de Kubeflow Pipelines.
Obtén información sobre cómo ejecutar una canalización.
Conoce las prácticas recomendadas para implementar modelos de AA entrenados de forma personalizada en la Vertex IA.