Implementación de Pipelines con TensorFlow Extended

Clase 47 de 48Entrenamiento de Google Cloud Platform

Contenido del curso

Compute on Google Cloud Platform

Google Kubernetes Engine

Streaming Data Analytics

Machine Learning

Resumen

Entrenar un modelo de machine learning con alta precisión es solo una pequeña parte del trabajo real. Cuando necesitas desplegar, monitorear y actualizar ese modelo de forma continua, la complejidad crece exponencialmente. TensorFlow Extended (TFX) nace precisamente para resolver ese problema: orquestar un pipeline completo de inteligencia artificial, desde la ingesta de datos hasta la exposición del modelo en producción.

¿Por qué el entrenamiento del modelo es solo la punta del iceberg?

Antes de poder entrenar cualquier algoritmo, existe una serie de factores que consumen la mayor parte del esfuerzo [0:38]. La configuración de infraestructura debe garantizar que no te quedes sin recursos durante el entrenamiento. La obtención de datos desde múltiples fuentes puede resultar complicada, y la extracción de características para alimentar el modelo requiere trabajo adicional significativo.

A esto se suman las herramientas de monitoreo, análisis de resultados, administración de procesos y gestión de recursos [1:20]. Cuando consideras todos estos aspectos, la codificación del modelo se vuelve pequeña en comparación con todo lo necesario para un despliegue productivo y constante.

¿Cómo se estructura un pipeline de inteligencia artificial?

El flujo comienza con la ingesta de información, que puede ser en tiempo real mediante servicios como Cloud Pub/Sub o en modo batch con Cloud Storage y BigQuery [1:42]. Después viene la preparación de datos, un paso previo imprescindible antes de alimentar cualquier modelo.

El siguiente componente es el hyperparameter tuning, ese ajuste fino que realizas sobre el modelo en función de los resultados obtenidos en cada ronda de entrenamiento [2:18]. Una vez encontrados los parámetros adecuados, se procede al despliegue a producción, porque un modelo con excelente precisión y baja función de costo no sirve si no puede exponerse al mundo real [2:50].

¿Qué ocurre cuando tienes miles de modelos en producción?

Cuando manejas miles de modelos con datos que se actualizan constantemente, necesitas un proceso de orquestación que permita controlar infraestructura, datos y herramientas de gestión [3:18]. Un pipeline ideal debe ser:

  • Fácil de desplegar.
  • Escalable para soportar conectividad masiva vía APIs.
  • Compuesto, como piezas de Lego donde puedas incrustar y retirar modelos.
  • Orquestado y administrado de forma sencilla.
  • Seguro y portable entre nube y on premise [3:42].

¿Qué es TensorFlow Extended y cómo funciona?

TensorFlow es una solución open source creada por el equipo de Google Brain, un conjunto de librerías para desarrollar proyectos de machine learning de forma eficiente [4:18]. Su arquitectura se basa en cómputo mediante grafos de flujo: defines variables y funciones que no se instancian hasta el momento de generar la sesión, lo que permite eficiencia computacional en el uso de recursos [4:50].

TensorFlow Extended es la plataforma punto a punto diseñada para construir pipelines de machine learning en producción [5:58]. Un pipeline de TFX es una secuencia de componentes que implementa todo el ciclo: ingesta, validación, transformación, entrenamiento, análisis y despliegue.

¿Cuáles son los componentes principales de TFX?

Los componentes clave incluyen [6:50]:

  • Ingestión de datos desde diversas fuentes.
  • Análisis y validación de esquemas y calidad de datos.
  • Transformación mediante TensorFlow Transform, que integra el proceso ETL dentro del mismo ecosistema.
  • Entrenamiento utilizando Keras como framework integrado.
  • Evaluación del modelo con análisis detallado.
  • Servicio del modelo a través de TensorFlow Serving, TensorFlow Hub, TensorFlow Lite y TensorFlow JS.

La ventaja diferencial frente a usar librerías independientes como PyTorch o Pandas es que todas estas rutinas están integradas dentro de las mismas librerías de TensorFlow [7:12]. No necesitas importar dependencias adicionales y todo se expone mediante una API unificada.

¿Cómo se orquesta un pipeline de TFX en la práctica?

La arquitectura cuenta con tres capas horizontales [7:55]: un repositorio común de almacenamiento para datasets, los componentes de TFX y un orquestador en la parte superior. Existen dos opciones de orquestación soportadas: Apache Airflow y Kubeflow Pipelines, que utiliza contenedores para ejecutar modelos a escala [8:12].

En un ejemplo con Airflow [8:38], el flujo inicia con la generación del set de entrenamiento, pasa por validación con TensorFlow Data Validation, aplica transformaciones, ejecuta el entrenamiento y la evaluación, hasta llegar al publisher que sirve el modelo de forma automatizada. Lo que unifica todo es la configuración compartida de TensorFlow y el almacenamiento centralizado de metadatos del modelo.

Si buscas llevar modelos de machine learning a producción con actualización constante y capacidad de escalar, TFX ofrece un ecosistema completo y cohesivo. ¿Ya has probado alguno de estos componentes en tus proyectos? Comparte tu experiencia.