Los flujos de trabajo de aprendizaje automático (AA) incluyen pasos a fin de preparar y analizar datos, entrenar y evaluar modelos, implementar modelos entrenados para la producción, hacer un seguimiento de artefactos de AA y comprender sus dependencias, etcétera. Administrar estos pasos de manera ad-hoc puede ser difícil y tedioso.
MLOps consiste en aplicar prácticas de DevOps para automatizar, administrar y auditar los flujos de trabajo de AA. AI Platform Pipelines te ayuda a implementar MLOps, ya que brinda una plataforma en la que puedes organizar los pasos del flujo de trabajo como una canalización. Las canalizaciones de AA son definiciones portátiles y reproducibles de los flujos de trabajo de AA.
IA Platform Pipelines facilita la tarea de comenzar a usar MLOps y quita la dificultad de configurar Kubeflow Pipelines con TensorFlow Extended (TFX). Kubeflow Pipelines es una plataforma de código abierto para ejecutar, supervisar, auditar y administrar canalizaciones de AA en Kubernetes. TFX es un proyecto de código abierto para compilar canalizaciones de AA que organizan flujos de trabajo de AA de extremo a extremo.
Acerca de Kubeflow y la plataforma Kubeflow Pipelines
Kubeflow es un kit de herramientas de código abierto para ejecutar cargas de trabajo de AA en Kubernetes. Kubeflow Pipelines es un componente de Kubeflow que proporcionan una plataforma para compilar y, también, implementar flujos de trabajo de AA, llamados canalizaciones.
Acerca de TensorFlow Extended
TFX es un proyecto de código abierto que puedes usar para definir los flujos de trabajo de AA basados en TensorFlow como una canalización. TFX proporciona componentes que puedes volver a usar a fin de transferir y transformar datos, entrenar y evaluar un modelo, implementar un modelo entrenado para la inferencia, etcétera. Si vuelves a usar componentes TFX, puedes organizar el proceso de AA sin necesidad de compilar componentes personalizados para cada paso.
Acerca de AI Platform Pipelines
AI Platform Pipelines te ahorra las siguientes dificultades:
- Configurar un clúster de Google Kubernetes Engine
- Crear un bucket de Cloud Storage
- Instala Kubeflow Pipelines
Con AI Platform Pipelines, puedes configurar un clúster de Kubeflow Pipelines en 15 minutos para que puedas comenzar a usar con rapidez las canalizaciones de AA. AI Platform Pipelines también crea un depósito de Cloud Storage para facilitar la ejecución de instructivos de canalización y comenzar a usar las plantillas de canalización de TFX.
Comprende las canalizaciones de AA
Las canalizaciones de AA son flujos de trabajo de AA portátiles y escalables, basados en contenedores. Las canalizaciones de AA están compuestas por un conjunto de parámetros de entrada y una lista de tareas. Cada tarea 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 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 las plantillas de canalización de TensorFlow Extended o el SDK de Kubeflow Pipelines a fin de compilar canalizaciones.
- Sigue un instructivo para aprender a compilar una canalización a partir de una plantilla de canalización de TFX.
- Obtén más información sobre la compilación de canalizaciones de Kubeflow.
Comprende los componentes de las canalizaciones
Los componentes de las canalizaciones son conjuntos de códigos independientes que realizan un paso en el flujo de trabajo de una canalización, como el procesamiento previo de los datos, la transformación de datos, el entrenamiento de modelos, etcétera.
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.
Comprende el flujo de trabajo de las canalizaciones
Cada tarea en una canalización realiza un paso en el flujo de trabajo de la canalización. Dado que las tareas son instancias de componentes de las canalizaciones, tienen parámetros de entrada, resultados y una imagen de contenedor. Los parámetros de entrada de tareas se pueden establecer a partir de los parámetros de entrada de la canalización o se pueden configurar para depender del resultado de otras tareas dentro de esta canalización. Kubeflow Pipelines usa estas dependencias para definir el flujo de trabajo de la canalización como un grafo acíclico dirigido.
Por ejemplo, considera una canalización con las siguientes tareas:
- Procesamiento previo: Esta tarea prepara los datos de entrenamiento.
- Entrenamiento: Esta tarea usa los datos de entrenamiento procesados de manera previa para entrenar el modelo.
- Predecir: Esta tarea implementa el modelo entrenado como un servicio de AA y obtiene predicciones para el conjunto de datos de prueba.
- Matriz de confusión: Esta tarea usa el resultado de la tarea de predicción para compilar una matriz de confusión.
- ROC: Esta tarea usa el resultado de la tarea de predicción para realizar el análisis de la curva característica operativa del receptor (ROC).
Para crear el grafo del flujo de trabajo, el SDK de Kubeflow Pipelines analiza las dependencias de tareas.
- La tarea de procesamiento previo no depende de ninguna otra tarea, por lo que puede ser la primera en el flujo de trabajo o ejecutarse de manera simultánea con otras tareas.
- La tarea de entrenamiento se basa en datos que produce la tarea de procesamiento previo, por lo que el entrenamiento debe realizarse después del procesamiento previo.
- La tarea de predicción se basa en el modelo entrenado que produce la tarea de entrenamiento, por lo que la predicción debe ocurrir después del entrenamiento.
- La compilación de la matriz de confusión y la realización del análisis de la ROC dependen del resultado de la tarea de predicción, por lo que deben producirse una vez que se completa la predicción. La compilación de la matriz de confusión y la realización del análisis de la ROC pueden ocurrir de manera simultánea, ya que ambos dependen del resultado de la tarea de predicción.
En función de este análisis, el sistema de Kubeflow Pipelines ejecuta las tareas de procesamiento previo, entrenamiento y predicción de forma secuencial y, luego, ejecuta la matriz de confusión y las tareas de la ROC de forma simultánea.
¿Qué sigue?
- Sigue la guía de inicio rápido de AI Platform Pipelines para aprender a instalar Kubeflow Pipelines y ejecutar la primera canalización de AA.