Introducción a Vertex AI Pipelines

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

Las operaciones de aprendizaje automático (MLOps) son la práctica de aplicar estrategias de DevOps a los sistemas de aprendizaje automático (AA). Las estrategias de DevOps te permiten compilar y lanzar cambios de código de manera eficiente, y supervisar los sistemas para asegurarte de cumplir tus objetivos de confiabilidad. MLOps extiende esta práctica a fin de ayudarte a reducir la cantidad de tiempo que se necesita para pasar de manera confiable de la transferencia de datos a la implementación del modelo en producción, de tal manera que te permita supervisar y comprender el sistema de AA.

Vertex AI Pipelines te ayuda a automatizar, supervisar y controlar tus sistemas de AA mediante la organización de tu flujo de trabajo de AA sin servidores y el almacenamiento de los artefactos de tu flujo de trabajo con Vertex ML Metadata. Si almacenas los artefactos del flujo de trabajo del AA en Vertex ML Metadata, puedes analizar el linaje de los artefactos del flujo de trabajo. Por ejemplo, el linaje del modelo de AA puede incluir los datos de entrenamiento, los hiperparámetros y el código que se usaron para crear el modelo.

Comprende las canalizaciones de AA

Para organizar tu flujo de trabajo de AA en Vertex AI Pipelines, primero debes describirlo como una canalización. Las canalizaciones del AA son flujos de trabajo del AA portátiles y escalables que se basan en contenedores. Las canalizaciones de AA están compuestas por un conjunto de parámetros de entrada y una lista de pasos. Cada paso es una instancia de un componente de canalización.

Puedes usar canalizaciones de AA para realizar las siguientes tareas:

  • Aplicar estrategias de MLOps para automatizar y supervisar procesos repetibles.
  • Experimentar mediante la ejecución de un flujo de trabajo de AA con diferentes conjuntos de hiperparámetros, cantidad de iteraciones o pasos de entrenamiento, etcétera
  • Volver a usar el flujo de trabajo de una canalización para entrenar un modelo nuevo

Puedes usar Vertex AI Pipelines para ejecutar canalizaciones que se hayan compilado con el SDK de Kubeflow Pipelines o TensorFlow Extended. Obtén más información sobre cómo elegir entre el SDK de Kubeflow Pipelines y TFX.

Comprende los componentes de las canalizaciones

Los componentes de canalización son conjuntos independientes de códigos que realizan una parte del flujo de trabajo de una canalización, como procesamiento de datos, transformación de datos y entrenamiento de un modelo.

Los componentes consisten en un conjunto de parámetros de entrada, uno de resultados y la ubicación de una imagen de contenedor. La imagen de contenedor de un componente es un paquete que incluye el código ejecutable del componente y una definición del entorno en el que se ejecuta el código.

Puedes compilar componentes personalizados o volver a usar componentes compilados con anterioridad. Para usar funciones de Vertex AI como AutoML en tu canalización, usa los componentes de canalización de Google Cloud. Obtén más información sobre cómo usar componentes de canalización de Google Cloud en tu canalización.

Comprende el flujo de trabajo de las canalizaciones

Cada paso de una canalización realiza parte del flujo de trabajo de la canalización. Dado que los pasos son instancias de componentes de canalización, tienen entradas, salidas y una imagen de contenedor. Las entradas de pasos se pueden configurar a partir de las entradas de la canalización o pueden depender del resultado de otros pasos dentro de esta canalización. Estas dependencias definen el flujo de trabajo de la canalización como un grafo acíclico dirigido.

Por ejemplo, considera una canalización con los siguientes pasos:

  • Transferir datos: En este paso, se cargan datos de entrenamiento en la canalización.
  • Preprocesar los datos: En este paso, se realiza un procesamiento previo de los datos de entrenamiento transferidos.
  • Entrenar el modelo: En este paso, se usan los datos de entrenamiento procesados de manera previa para entrenar un modelo.
  • Evaluar el modelo: En este paso, se evalúa el modelo entrenado.
  • Implementar: En este paso, se implementa el modelo entrenado para predicciones.

Cuando compilas tu canalización, el SDK de canalizaciones (el SDK de Kubeflow Pipelines o TFX) analiza las dependencias de datos entre los pasos para crear el grafo del flujo de trabajo.

  • El paso de transferencia de datos no depende de ninguna otra tarea, por lo que puede ser el primer paso en el flujo de trabajo o se puede ejecutar en simultáneo con otros pasos.
  • El paso de preprocesamiento de datos se basa en los datos producidos por el paso de transferencia de datos, por lo que el preprocesamiento de datos debe ocurrir después de la transferencia de datos.
  • El paso de entrenamiento del modelo se basa en los datos de entrenamiento preprocesados, por lo que el entrenamiento de un modelo debe realizarse después del preprocesamiento de los datos.
  • La evaluación y la implementación de un modelo entrenado dependen del modelo entrenado en cuestión, por lo que deben producirse después del paso de entrenamiento del modelo. La evaluación y la implementación de un modelo entrenado para las predicciones pueden ocurrir de manera simultánea, ya que ambos dependen del paso de entrenamiento del modelo.

Según este análisis, Vertex AI Pipelines ejecuta los datos de transferencia, los datos de procesamiento previo y los pasos de entrenamiento del modelo de forma secuencial y, luego, ejecuta los pasos de implementación y evaluación del modelo de forma simultánea.

Información sobre el linaje de tus artefactos del AA

Para comprender los cambios en el rendimiento o la exactitud de tu sistema de AA, debes poder analizar los metadatos de las ejecuciones de canalizaciones y el linaje de artefactos de AA. El linaje de un artefacto incluye todos los factores que contribuyeron a su creación, así como los artefactos y los metadatos que derivan de él. Administrar estos metadatos de manera ad-hoc puede ser difícil y tedioso.

Por ejemplo, el linaje del modelo podría incluir lo siguiente:

  • Los datos de entrenamiento, prueba y evaluación que se usan para crear el modelo.
  • Los hiperparámetros usados durante el entrenamiento del modelo
  • El código que se usó para entrenar el modelo.
  • Metadatos registrados del proceso de entrenamiento y evaluación, como la exactitud del modelo.
  • Artefactos que descienden de este modelo, como los resultados de las predicciones por lotes.

Cuando ejecutas una canalización con Vertex AI Pipelines, los artefactos y metadatos de la ejecución de tu canalización se almacenan con Vertex ML Metadata. Puedes usar estos metadatos para responder preguntas como las siguientes:

  • ¿Por qué una ejecución de canalización determinada produjo un modelo muy exacto?
  • ¿Qué ejecución produjo el modelo más exacto y qué hiperparámetros se usaron para entrenar el modelo?
  • Según los pasos en la canalización, es posible que puedas usar los metadatos de Vertex ML para responder preguntas sobre la administración del sistema. Por ejemplo, puedes usar metadatos para determinar qué versión de tu modelo estuvo en producción en un momento determinado.

Obtén más información sobre visualizar ejecuciones de canalizaciones, analizar el linaje de tus artefactos de AA, o Tipos de artefactos de origen que definen los componentes de canalización de Google Cloud.

¿Qué sigue?