Intuitivo logra un mayor rendimiento mientras ahorra en costos de IA/ML utilizando AWS Inferentia y PyTorch

Obtenga un mejor rendimiento intuitivo y ahorre en costos de IA/ML usando AWS Inferentia y PyTorch

Este es un artículo de invitado escrito por José Benítez, Fundador y Director de IA, y Mattias Ponchon, Jefe de Infraestructura de Intuitivo.

Intuitivo, pionero en innovación en el sector minorista, está revolucionando las compras con su sistema de procesamiento transaccional basado en la nube y aprendizaje automático (IA/ML). Esta tecnología innovadora nos permite operar millones de puntos de compra autónomos (A-POP) de manera simultánea, transformando la forma en que los clientes compran. Nuestra solución supera a las máquinas expendedoras tradicionales y otras alternativas, ofreciendo una ventaja económica con su costo diez veces más barato, fácil configuración y operación libre de mantenimiento. Nuestros nuevos A-POP innovadores (o máquinas expendedoras) ofrecen experiencias mejoradas a los clientes a un costo diez veces menor gracias a las ventajas de rendimiento y costo que ofrece AWS Inferentia. Inferentia nos ha permitido ejecutar nuestros modelos de visión por computadora You Only Look Once (YOLO) cinco veces más rápido que nuestra solución anterior y brinda una experiencia de compra en tiempo real y sin problemas para nuestros clientes. Además, Inferentia también nos ha ayudado a reducir los costos en un 95 por ciento en comparación con nuestra solución anterior. En este artículo, cubriremos nuestro caso de uso, desafíos y una breve descripción de nuestra solución utilizando Inferentia.

El cambio del paisaje del comercio minorista y la necesidad de A-POP

El paisaje minorista está evolucionando rápidamente y los consumidores esperan las mismas experiencias fáciles de usar y sin fricciones que están acostumbrados cuando compran en línea. Para poder cerrar la brecha entre el mundo digital y físico, y satisfacer las necesidades y expectativas cambiantes de los clientes, se requiere un enfoque transformador. En Intuitivo, creemos que el futuro del comercio minorista radica en la creación de puntos de compra autónomos (A-POP) altamente personalizados, impulsados por IA y basados en la visión por computadora. Esta innovación tecnológica acerca los productos al alcance de los clientes. No solo pone los artículos favoritos de los clientes al alcance de sus manos, sino que también les ofrece una experiencia de compra fluida, sin largas filas ni sistemas de procesamiento de transacciones complejos. Estamos emocionados de liderar esta nueva y emocionante era en el comercio minorista.

Con nuestra tecnología de vanguardia, los minoristas pueden implementar rápidamente miles de A-POPs de manera eficiente. La escalabilidad siempre ha sido un desafío desalentador para los minoristas, principalmente debido a las complejidades logísticas y de mantenimiento asociadas con la expansión de las máquinas expendedoras tradicionales u otras soluciones. Sin embargo, nuestra solución basada en cámaras, que elimina la necesidad de sensores de peso, RFID u otros sensores costosos, no requiere mantenimiento y es considerablemente más barata. Esto permite a los minoristas establecer eficientemente miles de A-POPs, brindando a los clientes una experiencia de compra inigualable y ofreciendo a los minoristas una solución rentable y escalable.

Usar inferencia en la nube para la identificación de productos en tiempo real

Mientras diseñábamos un sistema de reconocimiento de productos y pagos basado en cámaras, nos encontramos con la decisión de si debíamos hacerlo en el borde (edge) o en la nube. Después de considerar varias arquitecturas, diseñamos un sistema que carga videos de las transacciones a la nube para su procesamiento.

Nuestros usuarios comienzan una transacción escaneando el código QR del A-POP, lo que desbloquea el A-POP y luego los clientes toman lo que desean y se van. Los videos preprocesados de estas transacciones se cargan en la nube. Nuestro proceso de transacción impulsado por IA procesa automáticamente estos videos y cobra la cuenta del cliente en consecuencia.

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

Desbloquear inferencia de alto rendimiento y bajo costo utilizando AWS Inferentia

A medida que los minoristas buscan escalar sus operaciones, el costo de los A-POPs se vuelve un factor a considerar. Al mismo tiempo, proporcionar una experiencia de compra en tiempo real y sin problemas para los usuarios finales es primordial. Nuestro equipo de investigación de IA/ML se enfoca en identificar los mejores modelos de visión por computadora (CV) para nuestro sistema. Ahora nos enfrentamos al desafío de cómo optimizar simultáneamente las operaciones de IA/ML en términos de rendimiento y costo.

Desplegamos nuestros modelos en instancias de Amazon EC2 Inf1, con la potencia de Inferentia, el primer silicio de ML de Amazon diseñado para acelerar cargas de trabajo de inferencia de aprendizaje profundo. Inferentia ha demostrado reducir significativamente los costos de inferencia. Utilizamos el SDK AWS Neuron, un conjunto de herramientas de software utilizadas con Inferentia, para compilar y optimizar nuestros modelos para su implementación en instancias EC2 Inf1.

El fragmento de código que sigue muestra cómo compilar un modelo YOLO con Neuron. El código funciona perfectamente con PyTorch y funciones como torch.jit.trace() y neuron.trace() registran las operaciones del modelo en una entrada de ejemplo durante el paso hacia adelante para construir un gráfico de IR estático.

from ultralytics import YOLO
import torch_neuronx
import torch

batch_size = 1
tam_img = (640, 640)
im = torch.zeros(batch_size, 3, *tam_img).to('cpu')  # entrada simulada

# Opciones del compilador
half = True  # fp16
fp8 = False
dynamic = False  # batch dinámico
f = 'yolov8n.neuronx'  # nombre del modelo de salida
neuronx_cc_args = ['--auto-cast', 'none']

if half:
    neuronx_cc_args = ['--auto-cast', 'all', '--auto-cast-type', 'fp16']
elif fp8:
    neuronx_cc_args = ['--auto-cast', 'all', '--auto-cast-type', 'fp8_e4m3']

modelo = torch.load('yolov8n.pt')['model']
modelo.eval()
modelo.float()
modelo = modelo.fuse()

neuronx_modelo = torch_neuronx.trace(    modelo,    example_inputs=im,    compiler_args=neuronx_cc_args,)

if dynamic:
    neuronx_modelo = torch_neuronx.dynamic_batch(neuronx_modelo)

neuronx_modelo.save(f)

Migramos nuestros modelos intensivos en cómputo a Inf1. Al utilizar Inferentia de AWS, logramos el rendimiento y el rendimiento necesarios para satisfacer nuestras necesidades comerciales. Adoptar instancias de Inf1 basadas en Inferentia en el ciclo de vida de MLOps fue clave para lograr resultados notables:

  1. Mejora del rendimiento: Nuestros modelos grandes de visión por computadora ahora se ejecutan cinco veces más rápido, logrando más de 120 fotogramas por segundo (FPS), lo que permite una experiencia de compra en tiempo real y sin problemas para nuestros clientes. Además, la capacidad de procesar a este ritmo de fotogramas no solo mejora la velocidad de las transacciones, sino que también nos permite alimentar más información en nuestros modelos. Este aumento en la entrada de datos mejora significativamente la precisión de la detección de productos dentro de nuestros modelos, lo que aumenta aún más la eficacia general de nuestros sistemas de compra.
  2. Ahorro de costos: Redujimos significativamente los costos de inferencia. Esto mejoró considerablemente el diseño de la arquitectura que respalda nuestros A-POPs.

La inferencia paralela de datos fue fácil con la AWS Neuron SDK

Para mejorar el rendimiento de nuestras cargas de trabajo de inferencia y aprovechar al máximo Inferentia, queríamos utilizar todos los NeuronCores disponibles en el acelerador Inferentia. Lograr este rendimiento fue fácil con las herramientas y API integradas de la Neuron SDK. Utilizamos la API torch.neuron.DataParallel(). Actualmente, estamos utilizando inf1.2xlarge, que tiene un acelerador Inferentia con cuatro aceleradores Neuron. Por lo tanto, estamos utilizando torch.neuron.DataParallel() para aprovechar al máximo el hardware Inferentia y utilizar todos los NeuronCores disponibles. Esta función de Python implementa el paralelismo de datos a nivel de módulo en modelos creados por la API de PyTorch Neuron. El paralelismo de datos es una forma de paralelización en varios dispositivos o núcleos (NeuronCores para Inferentia), denominados nodos. Cada nodo contiene el mismo modelo y parámetros, pero los datos se distribuyen entre los diferentes nodos. Al distribuir los datos en múltiples nodos, el paralelismo de datos reduce el tiempo total de procesamiento de entradas con un tamaño de lote grande en comparación con el procesamiento secuencial. El paralelismo de datos funciona mejor para modelos en aplicaciones sensibles a la latencia que tienen grandes requisitos de tamaño de lote.

Mirando hacia el futuro: Acelerando la transformación minorista con modelos base y implementación escalable

A medida que nos adentramos en el futuro, el impacto de los modelos base en la industria minorista no puede ser subestimado. Los modelos base pueden marcar una diferencia significativa en la etiquetación de productos. La capacidad de identificar y categorizar rápidamente y con precisión diferentes productos es crucial en un entorno minorista acelerado. Con los modelos modernos basados en transformadores, podemos implementar una mayor diversidad de modelos para cubrir más de nuestras necesidades de IA/ML con mayor precisión, mejorando la experiencia para los usuarios y sin tener que perder tiempo y dinero entrenando modelos desde cero. Al aprovechar el poder de los modelos base, podemos acelerar el proceso de etiquetado, lo que permite a los minoristas escalar rápidamente sus soluciones A-POP de manera más eficiente.

Hemos comenzado a implementar el Modelo de Segmentación de Cualquier Cosa (SAM), un modelo base de transformadores de visión que puede segmentar cualquier objeto en cualquier imagen (discutiremos esto más a fondo en otra publicación de blog). SAM nos permite acelerar nuestro proceso de etiquetado con una velocidad inigualable. SAM es muy eficiente y puede procesar aproximadamente 62 veces más imágenes de las que un humano puede crear manualmente cajas delimitadoras en el mismo período de tiempo. La salida de SAM se utiliza para entrenar un modelo que detecta máscaras de segmentación en transacciones, lo que brinda la oportunidad de procesar millones de imágenes de manera exponencialmente más rápida. Esto reduce significativamente el tiempo y los costos de entrenamiento para los modelos de planograma de productos.

Nuestros equipos de investigación de productos e IA/ML están emocionados de estar a la vanguardia de esta transformación. La asociación continua con AWS y nuestro uso de Inferentia en nuestra infraestructura garantizará que podamos implementar estos modelos base de manera rentable. Como primeros usuarios, estamos trabajando con las nuevas instancias basadas en AWS Inferentia 2. Las instancias Inf2 están diseñadas para la inteligencia artificial generativa y la aceleración de modelos de lenguaje (LLM) a gran escala, lo que proporciona un mayor rendimiento y costos más bajos. Inf2 nos permitirá capacitar a los minoristas para aprovechar los beneficios de las tecnologías impulsadas por IA sin gastar una fortuna, lo que, en última instancia, hará que el panorama minorista sea más innovador, eficiente y centrado en el cliente.

A medida que continuamos migrando más modelos a Inferentia e Inferentia2, incluidos los modelos base basados en transformadores, estamos seguros de que nuestra alianza con AWS nos permitirá crecer e innovar junto con nuestro proveedor de servicios en la nube de confianza. Juntos, remodelaremos el futuro del comercio minorista, haciéndolo más inteligente, rápido y adaptado a las necesidades en constante evolución de los consumidores.

Conclusión

En este recorrido técnico, hemos destacado nuestro viaje transformador utilizando AWS Inferentia para su innovador sistema de procesamiento de transacciones de IA/ML. Esta asociación ha llevado a un aumento de cinco veces en la velocidad de procesamiento y una impresionante reducción del 95 por ciento en los costos de inferencia en comparación con nuestra solución anterior. Ha cambiado el enfoque actual de la industria minorista al facilitar una experiencia de compra en tiempo real y sin inconvenientes.

Si estás interesado en aprender más sobre cómo Inferentia puede ayudarte a ahorrar costos mientras optimiza el rendimiento de tus aplicaciones de inferencia, visita las instancias Amazon EC2 Inf1 y las instancias Amazon EC2 Inf2 páginas de productos. AWS ofrece diversos códigos de muestra y recursos para empezar con el SDK de Neuron que puedes encontrar en el repositorio de muestras de Neuron.

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

Revolucionando la segmentación de objetos en videos Descubriendo a Cutie con técnicas avanzadas de lectura de memoria a nivel de objetos

El seguimiento y segmentación de objetos de un vocabulario abierto definido en una anotación de primer fotograma es n...

Inteligencia Artificial

Conoce Objaverse-XL Un conjunto de datos abierto de más de 10 millones de objetos en 3D.

Un avance reciente en IA ha sido la importancia de la escala para impulsar los avances en varios dominios. Los modelo...

Inteligencia Artificial

Cómo generar audio utilizando el modelo de IA Bark de texto a voz

Introducción Bark es un modelo de texto a audio de código abierto y completamente generativo creado por Suno.ai que p...

Inteligencia Artificial

Tour de France incorpora ChatGPT y tecnología de gemelos digitales.

La compañía de tecnología de la información y servicios con sede en Japón, NTT, anunció que el Tour de Francia de est...

Inteligencia Artificial

Nueva forma revolucionaria de entrenar chips neuromórficos

Un equipo de investigación ha desarrollado un chip neuromórfico que no requiere entrenamiento a través de software ex...

Inteligencia Artificial

Rompiendo barreras en la adaptación de dominio sin fuente el impacto de NOTELA en los dominios de bioacústica y visión

El aprendizaje profundo ha avanzado significativamente en una amplia gama de áreas de aplicación. Un factor important...