MLOps con Intelligent Products Essentials

Last reviewed 2022-06-28 UTC

En este documento, se describe una arquitectura de referencia para implementar MLOps mediante Intelligent Products Essentials y Vertex AI. Estas herramientas pueden ayudar a los fabricantes a mejorar sus productos de forma continua mediante las siguientes acciones:

  • Agregar capacidades inteligentes para satisfacer de forma más eficiente las necesidades de los clientes.
  • Monetizar las nuevas características del producto.

Con estos objetivos en mente, este documento está dirigido a científicos de datos, ingenieros de aprendizaje automático (AA) y arquitectos de soluciones que desean aprender sobre una arquitectura de soluciones de MLOps para productos conectados.

MLOps

Como se describe en Deuda técnica oculta de los sistemas de AA, el código de AA es solo una pequeña parte de los sistemas de AA consolidados. Además del código de AA y los datos de alta calidad, necesitas una forma de poner los procesos de AA en funcionamiento.

MLOps es una práctica que ayuda a las empresas a compilar, implementar y poner en funcionamiento el sistema de AA de manera rápida, repetible y confiable. MLOps es una aplicación de los principios de DevOps en los sistemas de AA. MLOps es una cultura y práctica de ingeniería que tiene la intención de unificar el desarrollo (Dev) y las operaciones (Ops) del sistema de AA. El objetivo de MLOps es proporcionar un conjunto de procesos estandarizados y capacidades tecnológicas para compilar, implementar y poner en funcionamiento sistemas de AA con rapidez y confiabilidad.

En las siguientes secciones, se analiza cómo se pueden implementar MLOps con Intelligent Products Essentials y Vertex AI.

Perfiles de MLOps

Arquitectura de alto nivel de Intelligent Products Essentials y perfiles principales de MLOps.

En el diagrama anterior, se muestran los siguientes componentes y perfiles de usuarios principales de MLOps:

  • Smart Products Essentials: almacena datos de clientes, datos de dispositivos, telemetría del dispositivo y datos de propiedad en BigQuery y Cloud Storage.
  • Científicos de datos: responsables de analizar datos almacenados en Intelligent Products Essentials, ingeniería de atributos, desarrollo de modelos, evaluación de modelos y compilación de una canalización de AA.
  • Ingenieros de AA: responsables de organizar y alojar la implementación de modelos a gran escala.

En las siguientes secciones, se describe la arquitectura de MLOps desde la perspectiva de los científicos de datos y los ingenieros de AA.

Científicos de datos

Para cualquier problema de AA, el objetivo de los científicos de datos es aplicar técnicas de AA y estadísticas avanzadas a fin de identificar patrones en los datos y las predicciones de salida. Debido a que los datos son la base del AA, los científicos de datos necesitan un acceso fácil a los conjuntos de datos y un entorno de desarrollo flexible para el análisis de datos.

En el siguiente diagrama, se muestra la arquitectura de MLOps de Intelligent Products Essentials desde la perspectiva de los científicos de datos.

Arquitectura detallada de MLOps de Intelligent Products Essentials desde la perspectiva de los científicos de datos.

En el diagrama anterior, se muestran los siguientes componentes de MLOps para científicos de datos:

  • Vertex AI Workbench ofrece una infraestructura de procesamiento basada en Jupyter completamente administrada, escalable y preparada para empresas que permite conectarse a todos los datos de Google Cloud de la organización. Los científicos de datos pueden usar esta infraestructura como su entorno de desarrollo.

  • Vertex AI Feature Store: proporciona un repositorio centralizado para organizar, almacenar y entregar funciones de AA. Los científicos de datos pueden usar Vertex AI Feature Store para almacenar y compartir funciones en toda la organización.

  • SDK de Kubeflow Pipelines: permite que los científicos de datos compilen e implementen flujos de trabajo de AA portátiles y escalables basados en contenedores de Docker. Después de que los científicos de datos produzcan un modelo de AA, pueden empaquetar sus procedimientos de entrenamiento en una canalización de AA mediante el SDK de Kubeflow Pipelines.

  • Canalizaciones de IA de Vertex: Proporciona un entorno de ejecución para las canalizaciones de AA compiladas mediante el SDK de Kubeflow Pipelines o TensorFlow Extended. Para Intelligent Products Essentials, te recomendamos usar el SDK de Kubeflow Pipelines. Cuando usas el SDK de Kubeflow Pipelines, también hay componentes precompilados como Google Cloud Pipeline Components para una implementación simple y rápida. Para obtener la lista completa de componentes compilados previamente, consulta la lista de componentes de canalización de Google Cloud.

  • Cloud Source Repositories: son repositorios de Git privados, con todas las características, alojados en Google Cloud. Una vez que los científicos de datos definen su canalización de AA de entrenamiento continuo, pueden almacenar la definición de la canalización en un repositorio de código fuente, como Cloud Source Repositories. Este enfoque activa la ejecución de la canalización de integración continua e implementación continua (CI/CD).

Ingenieros de AA

Intelligent Products Essentials ayuda a los ingenieros de AA a automatizar la operación de los modelos de AA de manera oportuna y confiable. Los ingenieros de AA administran las canalizaciones de CI/CD que admiten la implementación de la canalización de AA, el modelo y, en algunos casos, el servicio de predicción.

En el siguiente diagrama, se muestra la arquitectura de MLOps de Intelligent Products Essentials desde la perspectiva de los ingenieros de AA.

Arquitectura detallada de MLOps de Intelligent Products Essentials desde la perspectiva de los ingenieros de AA.

En el diagrama anterior, se muestran los siguientes componentes de MLOps para ingenieros de aprendizaje automático:

  • Una canalización de CI: compila, prueba y empaqueta los componentes de la canalización de AA.
  • Una canalización de CD: implementa la canalización de AA en entornos adecuados, como entornos de etapa de pruebas o de producción.
  • Canalización de AA: prepara los datos de entrenamiento y entrena modelos de AA. Incluye los siguientes pasos:
    • Extracción de datos: extrae conjuntos de datos de entrenamiento de fuentes de datos predefinidas.
    • Validación de datos: identifica anomalías en el esquema de datos y en la distribución de valores de datos.
    • Preparación de datos: implica la limpieza, la transformación y la ingeniería de atributos.
    • Entrenamiento de modelos: crea modelos entrenados mediante datos de entrenamiento y otras técnicas de AA, como la optimización de hiperparámetros.
    • Evaluación de modelos: evalúa el rendimiento del modelo entrenado (del paso de entrenamiento del modelo anterior) en el conjunto de datos de prueba.
    • Validación de modelos: confirma si el modelo entrenado cumple con las comparativas de rendimiento predictivo para la implementación.
  • Activadores de canalización de AA: eventos publicados en Pub/Sub que activan la canalización de AA para el entrenamiento continuo.
  • Registro de modelos de Vertex AI: almacena diferentes versiones de modelos entrenados y sus metadatos asociados.
  • Predicción por lotes: Aplica predicciones en lotes en los datos de entrada almacenados en Cloud Storage o BigQuery (disponible con AutoML Tables). La operación de predicción por lotes puede generar los resultados de la predicción en Cloud Storage o BigQuery (disponible con AutoML Tables) para que los consuman los sistemas descendentes.

¿Qué sigue?