El dispositivo de IA impulsado por Qualcomm Dragonwing aumenta la productividad y reduce la dependencia de la nube en la aplicación de monitoreo de pasos a nivel de Capgemini
Capgemini pasó de su solución de hardware anterior a un dispositivo de inteligencia artificial de borde impulsado por la plataforma Qualcomm® Dragonwing™ QCS6490.- Al utilizar la NPU Qualcomm® Hexagon™, Capgemini redujo la utilización de la memoria en casi un tercio y el uso de la CPU en un 5 por ciento, con un tiempo de inferencia de IA de 18 milisegundos por cuadro.
- La solución Dragonwing QCS6490 ofrece los beneficios de un soporte de ciclo de vida prolongado y entradas para hasta cinco cámaras simultáneas.
Cuando un vehículo se detiene en un paso a nivel, ¿cuántos segundos hay para evitar un accidente ferroviario?
En un sistema de comunicaciones ferroviarias moderno, el factor clave es el tiempo necesario para detectar la parada del vehículo. Cuanto menor sea el retraso, antes se podrán enviar las alertas a las tripulaciones de los trenes, los responsables de seguridad ferroviaria y los servicios de emergencia.
Al desarrollar aplicaciones de seguridad ferroviaria, Capgemini Engineering buscó maneras de mejorar la productividad y la ejecución de sus modelos de inteligencia artificial (IA) para detectar condiciones peligrosas con mayor rapidez. Mediante un proyecto de integración con Qualcomm Technologies, Inc., Capgemini cambió su solución de hardware anterior por un dispositivo de IA edge con la plataforma Qualcomm® Dragonwing™ QCS6490. Como resultado, redujeron el uso de memoria en un 32,92 % y el uso de CPU en un 5 %, con un tiempo de inferencia de IA de 18 milisegundos por fotograma. Al aumentar la eficiencia de su computación edge, disminuyeron la necesidad de transferencias de red y computación en la nube, y aumentaron la productividad de la solución hasta en un 40 %.
Este artículo describe el proyecto en detalle. Los arquitectos y desarrolladores de soluciones de IA descubrirán cómo integrar sin problemas otros productos de hardware con los procesadores IoT industriales integrados de Qualcomm Technologies.
Uso de la comunicación móvil y la IA para la seguridad ferroviaria
Para un cliente estadounidense de ferrocarriles de carga de Clase 1, Capgemini desarrolló una solución de análisis de video y un dispositivo de hardware para la monitorización de pasos a nivel entre carreteras y ferrocarriles (HRGC) y tramos de vía principal. Los operadores ferroviarios buscan constantemente maneras de reducir el riesgo de colisiones con vehículos y otros obstáculos; solo en EE. UU., los incidentes de HRGC ocurren unas 2000 veces al año . Además del impacto financiero y operativo de estos incidentes, más del 40 % de ellos resultan en muertes o lesiones.
El dispositivo de Capgemini incluye un modelo y un algoritmo de IA para monitorizar los cruces y las vías principales, y enviar una alerta a través de una red de datos cuando el algoritmo identifica una condición potencialmente peligrosa. El personal ferroviario correspondiente gestionaría la alerta dirigiendo el tráfico ferroviario afectado, despejando el bloqueo, involucrando a las autoridades públicas o tomando otras medidas necesarias.
Para crear el modelo de IA, Capgemini utilizó el framework PyTorch y el modelo de detección de objetos YOLOv8, disponible públicamente . Entrenaron el modelo con un conjunto de imágenes seleccionadas para que el algoritmo pudiera predecir con precisión una colisión inminente. Validaron el modelo resultante con un conjunto de datos e imágenes en tiempo real. Una vez satisfechos con la precisión del modelo, lo implementaron en un dispositivo local dedicado a la inferencia de IA, con conexión a la nube.
Recurrir a la tecnología Qualcomm® para lograr una mayor productividad y eficiencia
Pero la solución tenía limitaciones en varias áreas:
- Dependencia de la nube : Aunque el dispositivo local realizaba inferencias en la transmisión de video y transmitía los resultados a la nube, la utilizaba para enviar alertas y almacenar datos. Esto significaba que la solución general dependía de la nube (latencia de comunicación, tráfico de red, recursos computacionales, tiempo de procesamiento) más de lo que Capgemini deseaba.
- Uso de memoria : La combinación del sistema operativo, Python, el modelo YOLOv8 y las aplicaciones en segundo plano consumía la mayor parte de la RAM del dispositivo. Capgemini buscaba una solución con menor consumo de memoria.
- Entradas de cámara : El dispositivo podía ejecutar inferencias simultáneamente en una transmisión de video desde una cámara. Sin embargo, Capgemini también quería utilizar la misma combinación de software y hardware para otros casos de uso de seguridad en vagones, estaciones e infraestructura ferroviaria. Esto requería un dispositivo escalable para gestionar múltiples transmisiones de video simultáneas, con inferencia simultánea con múltiples modelos de IA.
- Procesamiento : El dispositivo ejecutaba inferencias en la GPU, lo cual representaba una mejora con respecto a ejecutarse solo con la CPU. Sin embargo, Capgemini buscaba una combinación de software y hardware basada en una unidad de procesamiento neuronal (NPU) que funcionara con mayor eficiencia y precisión.
Para superar estas limitaciones, los ingenieros de Capgemini recurrieron a la tecnología Qualcomm integrada en el dispositivo AIM-Edge QC01 de Inventec. El dispositivo funciona con el procesador Dragonwing QCS6490 , diseñado para aplicaciones de IoT industriales y comerciales. El Dragonwing QCS6490 ofrece Wi-Fi 6/6E de nivel empresarial, compatibilidad con hasta cinco cámaras simultáneas y un procesador Qualcomm® Hexagon™ (NPU) para la aceleración de la IA.
Las pruebas de concepto de los ingenieros los convencieron de que el rendimiento del Dragonwing QCS6490 sería mejor que el del hardware existente. Procedieron a implementar su aplicación de monitoreo de pasos a nivel en el dispositivo Inventec con tecnología del Dragonwing QCS6490.
Integración del modelo con hardware Qualcomm®
La Figura 1 muestra los pasos que siguió Capgemini en el proyecto de integración. No fue necesario modificar el modelo base, por lo que no tuvieron que repetir el trabajo ya realizado de entrenamiento, validación, congelación y conversión al formato Open Neural Network Exchange (ONNX).
Figura 1: Pasos en la integración con el chipset Qualcomm®
Para aprovechar la aceleración de hardware en las NPU de Qualcomm Technologies, los ingenieros modificaron la canalización de datos del modelo, primero en su entorno de compilación y luego en la implementación del modelo.
1. Construir entorno
La personalización del modelo para su ejecución en la NPU requirió cambios en el flujo de datos para la cuantificación y el almacenamiento en caché. Utilizando el SDK de Procesamiento Neural de Qualcomm® y otros paquetes proporcionados por Qualcomm Technologies, los ingenieros de Capgemini añadieron pasos a su proceso de compilación.
Convertir ONNX a DLC
Los ingenieros primero convirtieron el modelo de ONNX a un archivo DLC (Contenedor de Aprendizaje Profundo) específico de Qualcomm Technologies para su uso en la canalización del Motor de Procesamiento Neural Snapdragon® y el entorno de ejecución de la NPU. La herramienta de conversión generó estadísticas, incluyendo información sobre capas no compatibles o no aceleradas, que permitieron a los ingenieros ajustar el diseño del modelo inicial.
Cuantizar
Utilizando la canalización del motor de procesamiento neuronal de Snapdragon y herramientas del SDK como snpe-dlc-quant , el equipo introdujo datos de calibración y definió los parámetros, incluyendo el nivel de cuantificación necesario. Su primer intento con la cuantificación INT8 resultó en un modelo funcional, pero la precisión fue inaceptablemente baja.
Cuando Capgemini informó que INT8 no funcionaba, los ingenieros de Qualcomm Technologies sugirieron analizar la arquitectura para detectar las diferencias entre la precisión total a 32 bits y la de 8 bits. Esto revelaría qué capa se desviaba demasiado. En lugar de convertir esa capa a INT8, Capgemini podría dejarla en FP16 para la siguiente pasada. Intentaron cambiar varias capas, pero el resultado fue el mismo. Luego, configuraron todas las activaciones a FP16 y los pesos y sesgos a INT8. El resultado fue un modelo mucho más preciso, que finalmente implementaron.
La primera vez que el equipo cuantizó su modelo, dedicó un tiempo considerable a la revisión de la documentación, consultas con los ingenieros de Qualcomm Technologies e iteraciones programáticas. Tras determinar la configuración óptima, los ingenieros lograron cuantizar el modelo de forma consistente en cuestión de horas, utilizando un solo comando del motor de procesamiento neuronal de Snapdragon.
Generar gráfico/caché
El Dragonwing QSC6490 incluye la NPU Qualcomm Hexagon para el procesamiento de IA en el dispositivo. El tiempo de ejecución de la NPU en el SDK de Procesamiento Neural de Qualcomm está diseñado para el almacenamiento en caché de gráficos sin conexión . El gráfico puede ayudar a reducir el tiempo de inicialización al cargar directamente la caché en el dispositivo mientras se ejecuta el modelo.
Los ingenieros de Capgemini utilizaron snpe-dlc-graph-prepare para generar un gráfico (registro de caché) del modelo. La herramienta añadió la caché generada al DLC sin necesidad de repetir el paso de cuantificación.
2. Implementación del modelo
Una vez que el modelo se había convertido y cuantificado, y el caché fuera de línea se había preparado y agregado, el DLC estaba listo para su implementación (ejecución).
Realizar pruebas preliminares
Para verificar el funcionamiento del modelo, los ingenieros primero usaron una interfaz de línea de comandos (CLI) para snpe-net-run y ejecutaron el DLC con una sola imagen. Guardaron la imagen de un vehículo en un paso a nivel y proporcionaron su ruta en un archivo de texto como entrada para la CLI.
El resultado bruto de la prueba preliminar fue satisfactorio, por lo que procedieron a ejecutar el modelo frente a una transmisión de video de muestra.
Ejecutar el modelo en el objetivo
Como se muestra en la Figura 1, la pila de software consta de una aplicación con Snapdragon Neural Processor Engine que ejecuta inferencia en un modelo DLC cuantificado con el entorno de ejecución de la NPU. El hardware en el que se ejecuta el software es el Dragonwing QCS6490 dentro del Inventec AIM-Edge QC01, con Ubuntu.
Los ingenieros utilizaron SNPE-Helper , un contenedor de API de Python para una API de C++ proporcionado por el SDK de Procesamiento Neural de Qualcomm, y escribieron el programa completo, incluyendo el código de entrada. Snapdragon Neural Processing Engine Helper está diseñado para ayudar a los desarrolladores a usar Python para ejecutar inferencias en modelos DLC en dispositivos con Snapdragon. Es un software de código abierto diseñado para Yocto Linux, por lo que los ingenieros de Capgemini pudieron modificar rutas y mover archivos para ejecutarlo en Ubuntu.
No necesitaron modificar nada en el dispositivo Inventec; desarrollaron su aplicación con Snapdragon Neural Processing Engine y el DLC cuantificado en estaciones de trabajo de desarrollo. Luego, instalaron el software en el dispositivo mediante Wi-Fi para implementar sus componentes y el entorno de ejecución de la NPU. Además de Ubuntu, el dispositivo ejecuta un entorno virtual Python adecuado para la inferencia de IA.
Evaluación de los resultados de la integración
Figura 2: Solución de cruce ferroviario – Descripción general
Al ejecutar la aplicación de cruce de nivel en el Inventec AIM-Edge QC01 impulsado por Dragonwing QCS6490, Capgemini ha superado las limitaciones del hardware que utilizaba anteriormente.
- Menor dependencia de la nube : Además de realizar inferencias y tomar decisiones localmente, el Dragonwing QCS6490 utiliza el sistema en chip Wi-Fi complementario Qualcomm® WCN6856 para transmitir alertas a través de Wi-Fi 6 y Wi-Fi 6E a velocidades de hasta 3,6 Gbps. Sus recursos integrados lo convierten en una solución que genera menos tráfico de red hacia y desde la nube y depende menos de ella para la comunicación y el almacenamiento. Capgemini estima que realizar el análisis de vídeo en el dispositivo de IA edge reduce el coste total de la solución en un 30 %.
- Menor consumo de memoria : para una única transmisión de video en vivo, el Dragonwing QCS6490 puede realizar inferencias a 18 ms por cuadro mientras utiliza un 32,92 por ciento menos de memoria que en el dispositivo anterior.
- Más entradas de cámara : Equipado con un procesador de señal de imagen triple (ISP), el Dragonwing QCS6490 admite hasta cinco cámaras simultáneas con codificación/decodificación de vídeo de hasta 4K30/4K60. Esto se adapta a todos los casos de uso en seguridad ferroviaria.
- Procesamiento en la NPU : Al ejecutar el modelo en la NPU Hexagon con hasta 12 TOPS de rendimiento de IA, Capgemini obtiene varios beneficios. El uso de la CPU en la nueva solución se reduce un 5 %. Las cargas de trabajo con alto consumo de cómputo se ejecutan en la NPU, liberando capacidad de la CPU y la GPU para la funcionalidad general.
Además, Capgemini se beneficia de la amplia compatibilidad con el Dragonwing QCS6490 durante su larga vida útil. Como hardware de nivel empresarial, el procesador incluye compatibilidad a largo plazo con actualizaciones a Android, Linux, Ubuntu y Windows 11 IoT Enterprise, incluyendo actualizaciones de seguridad.
Próximos pasos
Una vez que los ingenieros de Capgemini perfeccionaron sus procesos, los proyectos de integración que la primera vez tardaron varias semanas se redujeron a solo unos días. Satisfechos con los resultados de la migración de la aplicación de pasos a nivel, replicaron lo aprendido, integrando otros casos de uso de seguridad ferroviaria, como el monitoreo de multitudes, la detección de armas y la detección de violencia. El desarrollo de cada modelo requirió entre cinco y diez días.
Tras el exitoso proyecto de integración, Capgemini anticipa que pronto comenzará a implementar Inventec AIM-Edge QC01 en entornos de producción con operadores ferroviarios.
La lección es que es posible y rentable integrar soluciones de inferencia de IA con dispositivos de IA de borde que utilizan procesadores IoT industriales integrados de Qualcomm Technologies, en particular el Dragonwing QCS6490. Además de las mejoras en la productividad, los beneficios incluyen:
- Menor dependencia de la nube
- Menor huella de memoria
- Más entradas de cámara
- Procesamiento en NPU
- Soporte de ciclo de vida largo
Los chipsets Qualcomm permiten la computación heterogénea entre CPU, GPU y NPU, y el compilador Qualcomm® AI Runtime (QAIRT) implementa modelos de redes neuronales de forma flexible y concurrente en dichas unidades. A diferencia de las plataformas de la competencia que comparten recursos de computación y memoria (lo que limita la concurrencia), la NPU Qualcomm Hexagon utiliza memoria localizada y estrechamente acoplada, lo que reduce la carga del bus de memoria y mejora el rendimiento.
Para más información
Los arquitectos y desarrolladores de soluciones de IA que buscan inferencias en NPU con ahorro de memoria pueden obtener más información comunicándose con Qualcomm ® IoT Sales y visitando Qualcomm ® AI Hub .
Póngase en contacto con Capgemini Engineering para obtener más información sobre su trabajo en Rethinking Rail – The Digital Transformation in Railways – Capgemini .
Qualcomm News. Traducido al español