Cómo Earth.com y Provectus implementaron su infraestructura de MLOps con Amazon SageMaker.

Earth.com y Provectus implementaron MLOps con Amazon SageMaker.

Este blog post está coescrito con Marat Adayev y Dmitrii Evstiukhin de Provectus.

Cuando los modelos de aprendizaje automático (ML) se implementan en producción y se utilizan para tomar decisiones empresariales, el desafío a menudo reside en la operación y gestión de múltiples modelos. Machine Learning Operations (MLOps) proporciona la solución técnica a este problema, ayudando a las organizaciones a gestionar, monitorizar, implementar y gobernar sus modelos en una plataforma centralizada.

Para el reconocimiento de imágenes en tiempo real a gran escala, se requiere la implementación de MLOps. Al permitir una gestión efectiva del ciclo de vida de ML, MLOps puede ayudar a tener en cuenta diversas alteraciones en los datos, modelos y conceptos asociados al desarrollo de aplicaciones de reconocimiento de imágenes en tiempo real.

Una de estas aplicaciones es EarthSnap, una aplicación de reconocimiento de imágenes con inteligencia artificial que permite a los usuarios identificar todo tipo de plantas y animales usando la cámara de su teléfono inteligente. EarthSnap fue desarrollado por Earth.com, una plataforma en línea líder para entusiastas apasionados por el medio ambiente, la naturaleza y la ciencia.

El equipo directivo de Earth.com reconoció el vasto potencial de EarthSnap y se propuso crear una aplicación que utilice las últimas arquitecturas de aprendizaje profundo (DL) para visión por computadora (CV). Sin embargo, se enfrentaron a desafíos en la gestión y escalabilidad de su sistema de ML, que consistía en varios componentes de ML y de infraestructura aislados que tenían que ser mantenidos manualmente. Necesitaban una plataforma en la nube y un socio estratégico con experiencia probada en la entrega de soluciones de IA/ML listas para producción, para llevar rápidamente EarthSnap al mercado. Es ahí donde entró Provectus, un socio consultor principal de AWS con competencias en Machine Learning, Data & Analytics y DevOps.

Este post explica cómo Provectus y Earth.com lograron mejorar las capacidades de reconocimiento de imágenes con inteligencia artificial de EarthSnap, reducir la carga de trabajo de ingeniería y minimizar los costos administrativos mediante la implementación de pipelines de ML de extremo a extremo, entregados como parte de una plataforma de MLOps gestionada y servicios de IA gestionados.

Desafíos enfrentados en el enfoque inicial

El equipo ejecutivo de Earth.com estaba ansioso por acelerar el lanzamiento de EarthSnap. Rápidamente comenzaron a trabajar en las capacidades de IA/ML mediante la construcción de modelos de reconocimiento de imágenes usando Amazon SageMaker. El siguiente diagrama muestra el flujo de trabajo inicial de ML de reconocimiento de imágenes, ejecutado manualmente y de manera secuencial.

Los modelos desarrollados por Earth.com vivían en diferentes notebooks. Requerían la ejecución manual y secuencial de una serie de notebooks complejos para procesar los datos y volver a entrenar el modelo. Los endpoints también tenían que ser implementados manualmente.

Earth.com no tenía un equipo de ingeniería de ML interno, lo que dificultaba la adición de nuevos conjuntos de datos con nuevas especies, la liberación y mejora de nuevos modelos, y la escalabilidad de su sistema de ML desarticulado.

Los componentes de ML para la ingestión de datos, el preprocesamiento y el entrenamiento del modelo estaban disponibles como scripts y notebooks de Python desarticulados, lo que requería mucho trabajo manual por parte de los ingenieros.

La solución inicial también requería el soporte de un tercer proveedor técnico, para liberar nuevos modelos de manera rápida y eficiente.

Primera iteración de la solución

Provectus sirvió como un valioso colaborador para Earth.com, desempeñando un papel crucial en el aumento de las características de reconocimiento de imágenes impulsadas por IA de EarthSnap. Los flujos de trabajo de la aplicación se automatizaron mediante la implementación de pipelines de ML de extremo a extremo, que se entregaron como parte de la plataforma de MLOps gestionada de Provectus y se respaldaron a través de servicios de IA gestionados.

Se iniciaron una serie de sesiones de descubrimiento de proyectos por parte de Provectus para examinar la base de código existente de EarthSnap y el inventario de los scripts de los notebooks, con el objetivo de reproducir los resultados del modelo existente. Después de que se hubieran restaurado los resultados del modelo, los componentes dispersos del flujo de trabajo de ML se fusionaron en un pipeline de ML automatizado utilizando Amazon SageMaker Pipelines, un servicio de CI/CD diseñado específicamente para ML.

El pipeline final incluye los siguientes componentes:

  • Control de calidad y versionado de datos: esta tarea se ejecuta como un trabajo de procesamiento de SageMaker, ingiere los datos de origen de Amazon Simple Storage Service (Amazon S3) y prepara los metadatos para el siguiente paso, que solo contiene imágenes válidas (URI y etiqueta) que se filtran según las reglas internas. También persiste un archivo de manifiesto en Amazon S3, que incluye toda la información necesaria para recrear esa versión del conjunto de datos.
  • Preprocesamiento de datos: esto incluye múltiples pasos encapsulados como trabajos de procesamiento de SageMaker, y se ejecutan secuencialmente. Los pasos procesan las imágenes, las convierten al formato RecordIO, dividen las imágenes en conjuntos de datos (completo, entrenamiento, prueba y validación) y preparan las imágenes para ser consumidas por trabajos de entrenamiento de SageMaker.
  • Ajuste de hiperparámetros: un trabajo de ajuste de hiperparámetros de SageMaker toma como entrada un subconjunto del conjunto de entrenamiento y validación y ejecuta una serie de pequeños trabajos de entrenamiento bajo el capó para determinar los mejores parámetros para el trabajo completo de entrenamiento.
  • Entrenamiento completo: un trabajo de entrenamiento de SageMaker lanza el trabajo de entrenamiento en todos los datos, dados los mejores parámetros del paso de ajuste de hiperparámetros.
  • Evaluación del modelo: se ejecuta un trabajo de procesamiento de SageMaker después de que se haya entrenado el modelo final. Este paso produce un informe ampliado que contiene las métricas del modelo.
  • Creación de modelos: el paso ModelCreate de SageMaker envuelve el modelo en el paquete de modelo de SageMaker y lo envía al registro de modelos de SageMaker.

Todos los pasos se ejecutan de manera automática después de que se haya ejecutado la canalización. La canalización se puede ejecutar a través de cualquiera de los siguientes métodos:

  • Automáticamente usando AWS CodeBuild, después de que se hayan enviado los cambios nuevos a una rama principal y se haya insertado una nueva versión de la canalización (CI)
  • Automáticamente usando Amazon API Gateway, que se puede activar con una llamada API específica
  • Manualmente en Amazon SageMaker Studio

Después de la ejecución de la canalización (lanzada usando uno de los métodos anteriores), se produce un modelo entrenado que está listo para ser implementado como un endpoint de SageMaker. Esto significa que primero se debe aprobar el modelo en el registro de modelos por el PM o el ingeniero, luego el modelo se implementa automáticamente en el entorno de etapa usando Amazon EventBridge y se prueba internamente. Después de que se confirma que el modelo funciona como se espera, se implementa en el entorno de producción (CD).

La solución de Provectus para EarthSnap se puede resumir en los siguientes pasos:

  • Comience con canalizaciones de ML totalmente automatizadas de extremo a extremo para facilitar la liberación de nuevos modelos por parte de Earth.com
  • Construya sobre las canalizaciones para ofrecer una infraestructura robusta de ML para la plataforma de MLOps, con todas las componentes para optimizar la IA/ML
  • Apoye la solución proporcionando servicios de IA administrados (incluida la provisión, el mantenimiento y la optimización del costo de la infraestructura de ML)
  • Lleve a EarthSnap a su estado deseado (aplicación móvil y backend) a través de una serie de compromisos, incluido el trabajo de IA/ML, las operaciones de datos y bases de datos y DevOps

Después de establecer la infraestructura y los procesos fundamentales, se entrenó y volvió a entrenar el modelo con un conjunto de datos más grande. En este punto, sin embargo, el equipo encontró un problema adicional al intentar expandir el modelo con conjuntos de datos aún más grandes. Necesitábamos encontrar una manera de reestructurar la arquitectura de la solución, haciéndola más sofisticada y capaz de escalar de manera efectiva. El siguiente diagrama muestra la arquitectura de IA/ML de EarthSnap.

La arquitectura de IA/ML para EarthSnap está diseñada en torno a una serie de servicios de AWS:

  • La canalización Sagemaker se ejecuta usando uno de los métodos mencionados anteriormente (CodeBuild, API, manual) que entrena el modelo y produce artefactos y métricas. Como resultado, la nueva versión del modelo se envía al registro de modelos de Sagemaker
  • Luego, el modelo es revisado por un equipo interno (PM/ingeniero) en el registro de modelos y se aprueba/rechaza en función de las métricas proporcionadas
  • Una vez que se aprueba el modelo, la versión del modelo se implementa automáticamente en el entorno de etapa mediante Amazon EventBridge, que realiza un seguimiento del cambio de estado del modelo
  • El modelo se implementa en el entorno de producción si el modelo aprueba todas las pruebas en el entorno de etapa

Solución final

Para acomodar todos los conjuntos de etiquetas necesarios, la solución para el modelo de EarthSnap requirió modificaciones sustanciales, ya que incorporar todas las especies en un solo modelo resultó ser costoso e ineficiente. La categoría de plantas fue seleccionada primero para su implementación.

Se realizó un examen exhaustivo de los datos de las plantas para organizarlos en subconjuntos en función de características internas compartidas. La solución para el modelo de plantas se rediseñó implementando una arquitectura de padre/múltiples hijos. Esto se logró entrenando modelos secundarios en subconjuntos agrupados de datos de plantas y entrenando el modelo principal en un conjunto de muestras de datos de cada subcategoría. Los modelos secundarios se emplearon para una clasificación precisa dentro de las especies agrupadas internamente, mientras que el modelo principal se utilizó para clasificar las imágenes de plantas de entrada en subgrupos. Este diseño requirió procesos de entrenamiento distintos para cada modelo, lo que llevó a la creación de canalizaciones de ML separadas. Con este nuevo diseño, junto con la base de ML/MLOps establecida anteriormente, la aplicación EarthSnap pudo abarcar todas las especies de plantas esenciales, lo que resultó en una mejora en la eficiencia en cuanto al mantenimiento y el reentrenamiento del modelo. El siguiente diagrama ilustra el esquema lógico de las relaciones de modelo padre/hijo.

Al completar el rediseño, el desafío final fue garantizar que la solución de IA que impulsaba EarthSnap pudiera manejar la carga sustancial generada por una amplia base de usuarios. Afortunadamente, el proceso de incorporación de IA administrado abarca toda la automatización, supervisión y procedimientos esenciales para la transición de la solución a un estado listo para producción, eliminando la necesidad de cualquier inversión de capital adicional.

Resultados

A pesar de la necesidad urgente de desarrollar e implementar las funciones de reconocimiento de imágenes impulsadas por IA de EarthSnap en unos pocos meses, Provectus logró cumplir con todos los requisitos del proyecto dentro del plazo designado. En solo 3 meses, Provectus modernizó y produjo la solución de ML para EarthSnap, asegurando que su aplicación móvil estuviera lista para su lanzamiento público.

La infraestructura modernizada para ML y MLOps permitió a Earth.com reducir la carga de trabajo de ingeniería y minimizar los costos administrativos asociados con el mantenimiento y soporte de EarthSnap. Al optimizar los procesos e implementar las mejores prácticas para CI/CD y DevOps, Provectus aseguró que EarthSnap pudiera lograr un mejor rendimiento mientras mejoraba su adaptabilidad, resiliencia y seguridad. Con un enfoque en la innovación y la eficiencia, permitimos que EarthSnap funcionara sin problemas, al mismo tiempo que proporcionaba una experiencia fluida y amigable para todos los usuarios.

Como parte de sus servicios de IA gestionados, Provectus pudo reducir la sobrecarga de gestión de infraestructura, establecer SLA y procesos bien definidos, garantizar cobertura y soporte las 24 horas, los 7 días de la semana, y aumentar la estabilidad general de la infraestructura, incluidas las cargas de trabajo de producción y los lanzamientos críticos. Iniciamos una serie de mejoras para ofrecer una plataforma de MLOps gestionada y mejorar la ingeniería de ML. Específicamente, ahora a Earth.com le lleva minutos, en lugar de varios días, lanzar nuevos modelos de ML para su aplicación de reconocimiento de imágenes impulsada por IA.

Con la ayuda de Provectus, Earth.com pudo lanzar su aplicación EarthSnap en la Apple Store y Playstore antes de lo previsto. El lanzamiento temprano significó la importancia del trabajo integral de Provectus para el cliente.

“Estoy increíblemente emocionado de trabajar con Provectus. Las palabras no pueden describir lo genial que me siento al ceder el control del lado técnico del negocio a Provectus. Es un gran alivio saber que no tengo que preocuparme por nada más que desarrollar el lado empresarial”.

– Eric Ralls, Fundador y CEO de EarthSnap.

Los siguientes pasos de nuestra cooperación incluirán: agregar componentes avanzados de monitoreo a las canalizaciones, mejorar el reentrenamiento de modelos e introducir un paso de “human-in-the-loop”.

Conclusión

El equipo de Provectus espera que Earth.com continúe modernizando EarthSnap con nosotros. Esperamos impulsar la futura expansión de la empresa, popularizar aún más los fenómenos naturales y hacer nuestra parte para proteger nuestro planeta.

Para obtener más información sobre la infraestructura de ML y MLOps de Provectus, visite la Infraestructura de Aprendizaje Automático y vea el seminario web para obtener más consejos prácticos. También puede obtener más información sobre los servicios de IA gestionados de Provectus en Servicios de IA Gestionados.

Si está interesado en construir una infraestructura sólida para ML y MLOps en su organización, solicite el Programa de Aceleración de ML para comenzar.

Provectus ayuda a las empresas en atención médica y ciencias de la vida, retail y CPG, medios y entretenimiento, y manufactura a alcanzar sus objetivos a través de la IA.

Provectus es un socio de competencia de aprendizaje automático de AWS y una consultora de transformación y proveedor de soluciones centrado en la IA que ayuda a diseñar, arquitecturar, migrar o construir aplicaciones nativas de la nube en AWS.

Contacte con Provectus | Resumen del socio

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

ChatGPT se adentra en el lado robótico la última maravilla mecánica de Boston Dynamics ahora responde verbalmente

En un desarrollo innovador, la empresa de ingeniería Boston Dynamics ha integrado ChatGPT, un sofisticado modelo de l...

Inteligencia Artificial

30+ Herramientas de IA para Startups (Septiembre 2023)

La creatividad, el análisis y la toma de decisiones en el lugar de trabajo están siendo revolucionados por la IA. Hoy...

Inteligencia Artificial

SHAP para variables objetivo binarias y de múltiples clases

Para variables objetivo binarias, interpretamos los valores SHAP en términos de log odds. Para objetivos de múltiples...