Cómo Getir redujo la duración del entrenamiento de modelos en un 90% con Amazon SageMaker y AWS Batch

La reducción del 90% en la duración del entrenamiento de modelos de Getir gracias a Amazon SageMaker y AWS Batch

Este es un post de invitado coescrito por Nafi Ahmet Turgut, Hasan Burak Yel y Damla Şentürk de Getir.

Establecido en 2015, Getir se ha posicionado como el pionero en el ámbito de la entrega ultrarrápida de productos de abarrotes. Esta innovadora empresa tecnológica ha revolucionado el segmento de entrega de última milla con su atractiva oferta de “abarrotes en minutos”. Con presencia en Turquía, Reino Unido, Países Bajos, Alemania y Estados Unidos, Getir se ha convertido en una fuerza multinacional a tener en cuenta. Hoy en día, la marca Getir representa un conglomerado diversificado que abarca nueve verticales diferentes, todos trabajando de manera sinérgica bajo un mismo paraguas.

En este post, explicamos cómo construimos un pipeline de predicción de categorías de productos de principio a fin para ayudar a los equipos comerciales utilizando Amazon SageMaker y AWS Batch, reduciendo la duración del entrenamiento del modelo en un 90%.

Comprender nuestra gama de productos existente de manera detallada es un desafío crucial que enfrentamos, junto con muchas empresas, en el mercado actual rápido y competitivo. Una solución efectiva a este problema es la predicción de categorías de productos. Un modelo que genera un árbol de categorías integral permite a nuestros equipos comerciales comparar nuestra cartera de productos existente con la de nuestros competidores, ofreciendo una ventaja estratégica. Por lo tanto, nuestro desafío central es la creación e implementación de un modelo preciso de predicción de categorías de productos.

Aprovechamos las poderosas herramientas proporcionadas por AWS para abordar este desafío y navegar de manera efectiva en el complejo campo del aprendizaje automático (ML) y el análisis predictivo. Nuestros esfuerzos llevaron a la exitosa creación de un pipeline de predicción de categorías de productos de principio a fin, que combina las fortalezas de SageMaker y AWS Batch.

Esta capacidad de análisis predictivo, particularmente la previsión precisa de categorías de productos, ha resultado invalorable. Proporcionó a nuestros equipos información crítica basada en datos que optimizó la gestión de inventario, mejoró las interacciones con los clientes y fortaleció nuestra presencia en el mercado.

La metodología que explicamos en este post abarca desde la fase inicial de recopilación de conjuntos de características hasta la implementación final del pipeline de predicción. Un aspecto importante de nuestra estrategia ha sido el uso de SageMaker y AWS Batch para refinar modelos BERT pre-entrenados para siete idiomas diferentes. Además, nuestra integración perfecta con el servicio de almacenamiento de objetos de AWS, Amazon Simple Storage Service (Amazon S3), ha sido clave para almacenar y acceder de manera eficiente a estos modelos refinados.

SageMaker es un servicio de ML completamente administrado. Con SageMaker, los científicos de datos y los desarrolladores pueden construir y entrenar modelos de ML rápidamente y sin esfuerzo, y luego implementarlos directamente en un entorno listo para producción.

Como un servicio completamente administrado, AWS Batch te ayuda a ejecutar cargas de trabajo de computación por lotes de cualquier escala. AWS Batch provisiona automáticamente recursos informáticos y optimiza la distribución de la carga de trabajo según la cantidad y escala de las cargas de trabajo. Con AWS Batch, no es necesario instalar ni administrar software de computación por lotes, por lo que puedes centrar tu tiempo en analizar resultados y resolver problemas. Utilizamos trabajos con GPU que nos ayudan a ejecutar trabajos que utilizan las GPU de una instancia.

Descripción general de la solución

Cinco personas del equipo de ciencia de datos y del equipo de infraestructura de Getir trabajaron juntas en este proyecto. El proyecto se completó en un mes y se implementó en producción después de una semana de pruebas.

El siguiente diagrama muestra la arquitectura de la solución.

El pipeline del modelo se ejecuta por separado para cada país. La arquitectura incluye dos trabajos cron con GPU de AWS Batch para cada país, que se ejecutan según horarios definidos.

Superamos algunos desafíos mediante la implementación estratégica de los recursos de SageMaker y AWS Batch GPU. El proceso utilizado para abordar cada dificultad se detalla en las siguientes secciones.

Ajuste fino de modelos BERT multilingües con trabajos de GPU de AWS Batch

Buscamos una solución para admitir múltiples idiomas para nuestra diversa base de usuarios. Los modelos BERT eran una elección obvia debido a su capacidad establecida para manejar de manera efectiva tareas complejas de lenguaje natural. Para adaptar estos modelos a nuestras necesidades, aprovechamos el poder de AWS utilizando trabajos de instancia de GPU de un solo nodo. Esto nos permitió ajustar finamente modelos BERT pre-entrenados para cada uno de los siete idiomas para los cuales requeríamos soporte. A través de este método, aseguramos una alta precisión en la predicción de categorías de productos, superando cualquier posible barrera idiomática.

Almacenamiento eficiente de modelos utilizando Amazon S3

Nuestro siguiente paso fue abordar el almacenamiento y gestión de modelos. Para esto, seleccionamos Amazon S3, conocido por su escalabilidad y seguridad. Almacenar nuestros modelos BERT afinados en Amazon S3 nos permitió brindar un acceso fácil a diferentes equipos dentro de nuestra organización, agilizando significativamente nuestro proceso de implementación. Este aspecto fue crucial para lograr agilidad en nuestras operaciones y una integración perfecta de nuestros esfuerzos de ML.

Crear una tubería de predicción de extremo a extremo

Se requería una tubería eficiente para aprovechar al máximo nuestros modelos pre-entrenados. Primero implementamos estos modelos en SageMaker, una acción que permitió predicciones en tiempo real con baja latencia, mejorando así nuestra experiencia de usuario. Para predicciones a gran escala por lotes, que también eran vitales para nuestras operaciones, utilizamos trabajos de GPU de AWS Batch. Esto aseguró el uso óptimo de nuestros recursos, brindándonos un equilibrio perfecto entre rendimiento y eficiencia.

Explorando futuras posibilidades con SageMaker MMEs

A medida que continuamos evolucionando y buscando eficiencias en nuestra tubería de ML, una vía que estamos interesados en explorar es el uso de puntos finales multi-modelo (MMEs) de SageMaker para implementar nuestros modelos afinados. Con MMEs, potencialmente podemos simplificar la implementación de varios modelos afinados, asegurando una gestión eficiente de los modelos y beneficiándonos de las capacidades nativas de SageMaker, como variantes en sombra, escalado automático e integración con Amazon CloudWatch. Esta exploración está alineada con nuestra búsqueda continua de mejorar nuestras capacidades de análisis predictivo y ofrecer experiencias superiores a nuestros clientes.

Conclusión

Nuestra exitosa integración de SageMaker y AWS Batch no solo ha abordado nuestros desafíos específicos, sino que también ha aumentado significativamente nuestra eficiencia operativa. A través de la implementación de una sofisticada tubería de predicción de categorías de productos, podemos capacitar a nuestros equipos comerciales con información basada en datos, facilitando así la toma de decisiones más efectiva.

Nuestros resultados hablan por sí mismos en cuanto a la efectividad de nuestro enfoque. Hemos logrado una precisión de predicción del 80% en los cuatro niveles de granularidad de categoría, lo cual desempeña un papel importante en la configuración de los surtidos de productos para cada país al que servimos. Este nivel de precisión amplía nuestro alcance más allá de las barreras del idioma y garantiza que atendamos a nuestra diversa base de usuarios con la máxima precisión.

Además, al utilizar estratégicamente trabajos programados de GPU de AWS Batch, hemos logrado reducir la duración del entrenamiento de nuestros modelos en un 90%. Esta eficiencia ha agilizado aún más nuestros procesos y fortalecido nuestra agilidad operativa. El almacenamiento eficiente de modelos utilizando Amazon S3 ha desempeñado un papel crítico en este logro, equilibrando tanto las predicciones en tiempo real como por lotes.

Para obtener más información sobre cómo comenzar a construir tus propias tuberías de ML con SageMaker, consulta Recursos de Amazon SageMaker. AWS Batch es una excelente opción si buscas una solución rentable y escalable para ejecutar trabajos por lotes con un bajo gasto operativo. Para empezar, consulta Introducción a AWS Batch.

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

¿Invertir en IA? Aquí tienes qué considerar

Todo lo que necesitas saber sobre invertir en iniciativas de IA.

Inteligencia Artificial

Varias filtraciones de datos en 23andMe

Datos genéticos robados llevan a una demanda colectiva contra la empresa de pruebas.

Inteligencia Artificial

La Huella de Carbono de la Inteligencia Artificial

Buscando formas de reducir la emisión de gases de efecto invernadero atribuibles al uso de la inteligencia artificial...

Inteligencia Artificial

Análisis y optimización del rendimiento del modelo PyTorch - Parte 3

Esta es la tercera parte de una serie de publicaciones sobre el tema de analizar y optimizar modelos de PyTorch utili...