Vertex AI Pipelines te permite automatizar, supervisar y administrar 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 canalizaciones de AA definidas con Kubeflow Pipelines o TensorFlow Extended. Para aprender a elegir un framework para definir tu canalización de AA, consulta Interfaces para definir una canalización.
En esta página, se proporciona una descripción general de lo siguiente:
¿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 operaciones 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 reutilizar una definición de canalización para volver a entrenar un modelo de forma continua con 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 tareas de canalización en contenedores que se interconectan con dependencias de entrada y salida. Puedes escribir cada tarea en Python o como imágenes de contenedores precompiladas.
Puedes definir la canalización como un DAG con el SDK de Kubeflow Pipelines o el SDK de TFX, compilarla 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 aprendizaje automático.
Tareas y componentes de la canalización
Una tarea de canalización es una instancia 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 enrutar los resultados de una tarea de canalización a las entradas de 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 independiente de código que realiza un paso específico de un flujo de trabajo de 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 lo siguiente:
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.
Lógica: Es el código ejecutable del componente. En el caso de los componentes en contenedores, la lógica también contiene la definición del entorno, o la imagen de contenedor, en el que se ejecuta el componente.
Los componentes son la base para definir 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 componentes de canalización de Google Cloud predefinidos si deseas usar funciones de Vertex AI, como AutoML, en tu canalización. Para aprender a 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 tu canalización de AA. Para obtener más información sobre la creación de componentes personalizados, consulta Cómo compilar 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 ligeros basados en funciones de Python” en GitHub. Si deseas obtener información para crear componentes personalizados de TFX, consulta el instructivo del componente de función 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 una instancia 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 contenedores compilados 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 con el framework de TFX o Kubeflow Pipelines. Para aprender a elegir un framework para compilar tu canalización, consulta Interfaces para definir una canalización.
Define tareas de canalización y configúralas: Para obtener más información, consulta Crea 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 para ejecutar tu canalización de AA.
Opcional: Puedes subir el archivo YAML compilado como una plantilla de canalización a un repositorio y volver a usarlo para crear ejecuciones de canalización de IA.
Run: 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 una ocurrencia única de una ejecución de canalización o usar la API de Scheduler para crear ejecuciones de canalizaciones recurrentes a partir de la misma definición de canalización de AA. También puedes clonar una ejecución de canalización existente. Para aprender cómo elegir una interfaz para 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 las 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:
Configura notificaciones por correo electrónico para los errores de 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 Cómo ver los registros de trabajos de canalización.
Visualiza, analiza y compara las ejecuciones de canalizaciones. Para obtener más información, consulta Visualiza y analiza los resultados de las canalizaciones.
Usa la exportación de la Facturación de Cloud a BigQuery para analizar los costos de las ejecuciones de canalización. Para obtener más información, consulta Comprende los costos de la ejecución de una canalización.
Opcional: Detén o borra ejecuciones de canalización: No hay restricciones sobre el tiempo que puedes mantener activa una ejecución de canalización. De manera opcional, puedes hacer lo siguiente:
Detener una ejecución de canalización
Pausar o reanudar un programa de ejecución de canalización
Borra una plantilla de canalización, una ejecución de canalización o una programación de ejecución de canalización existente.
¿Qué es una ejecución de canalización?
Una ejecución de canalización es una instancia de ejecución de la definición de tu canalización de AA. Cada ejecución de canalización se identifica con un nombre de ejecución único. Con Vertex AI Pipelines, puedes crear una ejecución de 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
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 propios 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 para encontrar el mejor modelo para tu caso de uso de 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 con 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.