Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Servicios web de Amazon

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Servicios web de Amazon

Purina US, una subsidiaria de Nestlé, tiene una larga trayectoria permitiendo a las personas adoptar mascotas más fácilmente a través de petfinder, un mercado digital de más de 11,000 refugios de animales y grupos de rescate en EE. UU., Canadá y México. Como plataforma líder en adopción de mascotas, Petfinder ha ayudado a millones de mascotas a encontrar un hogar definitivo.

Purina busca constantemente formas de mejorar aún más la plataforma Petfinder tanto para los refugios como para los grupos de rescate y los adoptantes de mascotas. Un desafío al que se enfrentaron fue reflejar adecuadamente la raza específica de animales en adopción. Debido a que muchos animales del refugio son de razas mixtas, identificar razas y atributos correctamente en el perfil de la mascota requería un esfuerzo manual, lo que consumía mucho tiempo. Purina utilizó inteligencia artificial (IA) y aprendizaje automático (ML) para automatizar la detección de razas animales a escala.

Esta publicación detalla cómo Purina usó Etiquetas personalizadas de Amazon Rekognition, Funciones de paso de AWSy otros servicios de AWS para crear un modelo de aprendizaje automático que detecte la raza de la mascota a partir de una imagen cargada y luego utilice la predicción para completar automáticamente los atributos de la mascota. La solución se centra en los principios fundamentales del desarrollo de un flujo de trabajo de aplicaciones de IA/ML de preparación de datos, entrenamiento de modelos, evaluación de modelos y monitoreo de modelos.

Resumen de la solución

Para predecir razas de animales a partir de una imagen se necesitan modelos de aprendizaje automático personalizados. Desarrollar un modelo personalizado para analizar imágenes es una tarea importante que requiere tiempo, experiencia y recursos, y que a menudo lleva meses en completarse. Además, a menudo se requieren miles o decenas de miles de imágenes etiquetadas a mano para proporcionar al modelo datos suficientes para tomar decisiones con precisión. Configurar un flujo de trabajo para auditar o revisar las predicciones del modelo para validar el cumplimiento de sus requisitos puede aumentar aún más la complejidad general.

Con Rekognition Custom Labels, que se basa en las capacidades existentes de Reconocimiento de amazonas, puede identificar los objetos y escenas en imágenes que sean específicas para sus necesidades comerciales. Ya está entrenado en decenas de millones de imágenes en muchas categorías. En lugar de miles de imágenes, puede cargar un pequeño conjunto de imágenes de entrenamiento (normalmente unos cientos de imágenes o menos por categoría) que sean específicas para su caso de uso.

La solución utiliza los siguientes servicios:

  • Puerta de enlace API de Amazon es un servicio totalmente administrado que facilita a los desarrolladores publicar, mantener, monitorear y proteger API a cualquier escala.
  • La Kit de desarrollo en la nube de AWS (AWS CDK) es un marco de desarrollo de software de código abierto para definir la infraestructura de la nube como código con lenguajes de programación modernos e implementarla a través de Formación en la nube de AWS.
  • Construcción de código AWS es un servicio de integración continua totalmente gestionado en la nube. CodeBuild compila código fuente, ejecuta pruebas y produce paquetes que están listos para implementar.
  • Amazon DynamoDB es un servicio de base de datos no relacional rápido y flexible para cualquier escala.
  • AWS Lambda es un servicio informático basado en eventos que le permite ejecutar código para prácticamente cualquier tipo de aplicación o servicio backend sin aprovisionar ni administrar servidores.
  • Reconocimiento de amazonas ofrece capacidades de visión por computadora (CV) previamente capacitadas y personalizables para extraer información y conocimientos de sus imágenes y videos. Con Etiquetas personalizadas de Amazon Rekognition, puede identificar los objetos y escenas en imágenes que sean específicas para sus necesidades comerciales.
  • Funciones de paso de AWS es un servicio totalmente administrado que facilita la coordinación de los componentes de aplicaciones distribuidas y microservicios mediante flujos de trabajo visuales.
  • Gerente de sistemas de AWS es una solución segura de gestión de extremo a extremo para recursos en AWS y en entornos híbridos y multinube. Tienda de parámetros, una capacidad de Systems Manager, proporciona almacenamiento jerárquico seguro para la gestión de datos de configuración y la gestión de secretos.

La solución de Purina se implementa como una Puerta de enlace API HTTP punto final, que enruta las solicitudes para obtener atributos de mascota. Utiliza etiquetas personalizadas de Rekognition para predecir la raza de la mascota. El modelo ML se entrena a partir de perfiles de mascotas extraídos de la base de datos de Purina, asumiendo que la etiqueta de raza principal es la etiqueta verdadera. DynamoDB se utiliza para almacenar los atributos de la mascota. Lambda se utiliza para procesar la solicitud de atributos de mascota mediante la coordinación entre API Gateway, Amazon Rekognition y DynamoDB.

La arquitectura se implementa de la siguiente manera:

  1. La aplicación Petfinder enruta la solicitud para obtener los atributos de la mascota a través de API Gateway.
  2. API Gateway llama a la función Lambda para obtener los atributos de la mascota.
  3. La función Lambda llama al punto final de inferencia de etiqueta personalizada de Rekognition para predecir la raza de la mascota.
  4. La función Lambda utiliza la información de raza de mascota prevista para realizar una búsqueda de atributos de mascota en la tabla de DynamoDB. Recopila los atributos de la mascota y los envía de vuelta a la aplicación Petfinder.

El siguiente diagrama ilustra el flujo de trabajo de la solución.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

El equipo de Petfinder en Purina quiere una solución automatizada que puedan implementar con un mantenimiento mínimo. Para lograr esto, utilizamos Step Functions para crear una máquina de estado que entrena los modelos con los datos más recientes, verifica su rendimiento en un conjunto de puntos de referencia y vuelve a implementar los modelos si han mejorado. El reentrenamiento del modelo se activa a partir de la cantidad de correcciones de raza realizadas por los usuarios que envían información de perfil.

Entrenamiento modelo

Desarrollar un modelo personalizado para analizar imágenes es una tarea importante que requiere tiempo, experiencia y recursos. Además, a menudo se requieren miles o decenas de miles de imágenes etiquetadas a mano para proporcionar al modelo datos suficientes para tomar decisiones con precisión. Generar estos datos puede tardar meses en recopilarse y requiere un gran esfuerzo para etiquetarlos para su uso en el aprendizaje automático. una técnica llamada transferencia de aprendizaje ayuda a producir modelos de mayor calidad al tomar prestados los parámetros de un modelo previamente entrenado y permite entrenar modelos con menos imágenes.

Nuestro desafío es que nuestros datos no están perfectamente etiquetados: los humanos que ingresan los datos del perfil pueden cometer errores, y de hecho lo hacen. Sin embargo, descubrimos que para muestras de datos suficientemente grandes, las imágenes mal etiquetadas representaban una fracción suficientemente pequeña y el rendimiento del modelo no se vio afectado en más del 2% en precisión.

Flujo de trabajo de ML y máquina de estados

La máquina de estado de Step Functions está desarrollada para ayudar en el reentrenamiento automático del modelo de Amazon Rekognition. Los comentarios se recopilan durante la entrada del perfil: cada vez que el usuario modifica una raza que se ha inferido a partir de una imagen a una raza diferente, se registra la corrección. Esta máquina de estados se activa a partir de un número umbral configurable de correcciones y datos adicionales.

La máquina de estados sigue varios pasos para crear una solución:

  1. Cree archivos de manifiesto de entrenamiento y prueba que contengan la lista de Servicio de almacenamiento simple de Amazon (Amazon S3) rutas de imágenes y sus etiquetas para uso de Amazon Rekognition.
  2. Cree un conjunto de datos de Amazon Rekognition utilizando los archivos de manifiesto.
  3. Entrene una versión del modelo de Amazon Rekognition después de crear el conjunto de datos.
  4. Inicie la versión del modelo cuando se complete el entrenamiento.
  5. Evaluar el modelo y producir métricas de desempeño.
  6. Si las métricas de rendimiento son satisfactorias, actualice la versión del modelo en Parameter Store.
  7. Espere a que la nueva versión del modelo se propague en las funciones Lambda (20 minutos) y luego detenga el modelo anterior.

Evaluación modelo

Usamos un conjunto aleatorio del 20% tomado de nuestra muestra de datos para validar nuestro modelo. Debido a que las razas que detectamos son configurables, no utilizamos un conjunto de datos fijo para la validación durante el entrenamiento, pero sí utilizamos un conjunto de evaluación etiquetado manualmente para las pruebas de integración. La superposición del conjunto etiquetado manualmente y las razas detectables del modelo se utiliza para calcular las métricas. Si la precisión de detección de raza del modelo está por encima de un umbral específico, promocionamos el modelo para que se utilice en el punto final.

Las siguientes son algunas capturas de pantalla del flujo de trabajo de predicción de mascotas de Rekognition Custom Labels.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Implementación con AWS CDK

La máquina de estado de Step Functions y la infraestructura asociada (incluidas las funciones de Lambda, los proyectos de CodeBuild y los parámetros de Systems Manager) se implementan con AWS CDK mediante Python. El código AWS CDK sintetiza una plantilla de CloudFormation, que utiliza para implementar toda la infraestructura de la solución.

Integración con la aplicación Petfinder

La aplicación Petfinder accede al punto final de clasificación de imágenes a través del punto final API Gateway mediante una solicitud POST que contiene una carga útil JSON con campos para la ruta de Amazon S3 a la imagen y la cantidad de resultados que se devolverán.

KPI que se verán afectados

Para justificar el costo adicional de ejecutar el punto final de inferencia de imágenes, realizamos experimentos para determinar el valor que el punto final agrega para Petfinder. El uso del endpoint ofrece dos tipos principales de mejora:

  • Esfuerzo reducido para los refugios para mascotas que crean los perfiles de mascotas.
  • Perfiles de mascotas más completos, que se espera que mejoren la relevancia de la búsqueda

Las métricas para medir el esfuerzo y la integridad del perfil incluyen la cantidad de campos autocompletados que se corrigen, la cantidad total de campos completados y el tiempo para cargar un perfil de mascota. Las mejoras en la relevancia de la búsqueda se infieren indirectamente a partir de la medición de indicadores clave de rendimiento relacionados con las tasas de adopción. Según Purina, después de que la solución se puso en funcionamiento, el tiempo promedio para crear un perfil de mascota en la aplicación Petfinder se redujo de 7 minutos a 4 minutos. Esto supone una gran mejora y un ahorro de tiempo porque en 2022 se cargaron 4 millones de perfiles de mascotas.

Seguridad

Los datos que fluyen a través del diagrama de arquitectura se cifran en tránsito y en reposo, de acuerdo con las Mejores prácticas de buena arquitectura de AWS. Durante todas las interacciones con AWS, un experto en seguridad revisa la solución para garantizar que se proporcione una implementación segura.

Conclusión

Con su solución basada en etiquetas personalizadas de Rekognition, el equipo de Petfinder puede acelerar la creación de perfiles de mascotas para refugios de mascotas, reduciendo la carga administrativa para el personal del refugio. La implementación basada en AWS CDK implementa un flujo de trabajo de Step Functions para automatizar el proceso de capacitación e implementación. Para comenzar a utilizar las etiquetas personalizadas de Rekognition, consulte Introducción a las etiquetas personalizadas de Amazon Rekognition. También puedes consultar algunos Ejemplos de funciones escalonadas y comenzar con AWS CDK.


Acerca de los autores

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Mason Cahill es consultor sénior de DevOps en AWS Professional Services. Le gusta ayudar a las organizaciones a alcanzar sus objetivos comerciales y le apasiona crear y ofrecer soluciones automatizadas en la nube de AWS. Fuera del trabajo, le encanta pasar tiempo con su familia, hacer senderismo y jugar fútbol.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Mateo Chasse es consultor de ciencia de datos en Amazon Web Services, donde ayuda a los clientes a crear soluciones escalables de aprendizaje automático. Matthew tiene un doctorado en Matemáticas y disfruta de la escalada en roca y la música en su tiempo libre.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Rushikesh Jagtap es un arquitecto de soluciones con más de 5 años de experiencia en servicios de AWS Analytics. Le apasiona ayudar a los clientes a crear soluciones de análisis de datos modernas y escalables para obtener información valiosa a partir de los datos. Fuera del trabajo, le encanta ver Fórmula 1, jugar al bádminton y correr Go Karts.

Optimice los perfiles de mascotas para la aplicación Petfinder de Purina mediante etiquetas personalizadas de Amazon Rekognition y funciones de pasos de AWS | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Tayo Olajide es un experimentado generalista en ingeniería de datos en la nube con más de una década de experiencia en la arquitectura e implementación de soluciones de datos en entornos de nube. Con una pasión por transformar datos sin procesar en conocimientos valiosos, Tayo ha desempeñado un papel fundamental en el diseño y optimización de canales de datos para diversas industrias, incluidas las finanzas, la atención médica y la industria automotriz. Como líder intelectual en el campo, Tayo cree que el poder de los datos radica en su capacidad para impulsar la toma de decisiones informadas y está comprometido a ayudar a las empresas a aprovechar todo el potencial de sus datos en la era de la nube. Cuando no está creando canales de datos, puedes encontrar a Tayo explorando las últimas tendencias en tecnología, haciendo caminatas al aire libre o jugando con dispositivos y software.

Sello de tiempo:

Mas de Aprendizaje automático de AWS