Inicio Artículos Máxima flexibilidad para la IA distribuida

Máxima flexibilidad para la IA distribuida

Máxima flexibilidad para la IA distribuida

Autor: Christian Bauer, Product Marketing Manager, Tria Technologies

Pocos ámbitos van a quedar exentos de la influencia de la inteligencia artificial (IA). Junto con los numerosos casos de uso a nivel empresarial, son también muchas las aplicaciones del aprendizaje automático y la IA que están surgiendo para los ordenadores y los dispositivos distribuidos (edge) en el entorno IoT (internet de las cosas), a menudo en combinación con el procesamiento de señales e imágenes. La seguridad y la protección impulsan muchas de estas aplicaciones. La tecnología proporciona los medios para detectar intrusos y, a una mayor escala, hallar anomalías en los movimientos de multitudes que puedan alertar sobre situaciones que requieran la intervención humana.

Otros sectores, desde el control industrial hasta la agricultura, ofrecen muchos casos de uso en los que uno o más modelos de IA recogen información de varios sensores y la introducen en un solo modelo coherente que puede identificar patrones. Los componentes pueden fallar de muchas maneras y esto dificulta el empleo de modelos determinísticos para evaluar el estado de una máquina. Por otra parte, el entrenamiento de un modelo de aprendizaje automático utiliza datos del mundo real para estimar cuándo y por qué necesitará mantenimiento una herramienta concreta.

La IA proporciona el medio para mejorar el control de la calidad de la producción y de suministros como, por ejemplo, el agua. Un modelo entrenado de acuerdo con los flujos y las anomalías que se hayan previsto puede indicar si la producción va a estar fuera de los márgenes de tolerancia antes de que la calidad se degrade hasta tal punto que haya piezas y subsistemas que sea preciso retirar y reparar.

La unión de IA y procesamiento de señal ofrece oportunidades en la interconexión de redes y las comunicaciones. El aprendizaje automático y la IA pueden utilizar los datos del entrenamiento para optimizar las condiciones del canal y tomar decisiones fundadas sobre el enrutamiento que minimicen la congestión.

Además de las aplicaciones basadas en sensores, la IA ofrece la posibilidad de mejorar enormemente la interfaz del usuario mediante el control de la voz y de los gestos con las manos. En entornos donde sea importante el funcionamiento con las manos libres, estas funciones pueden mejorar la seguridad, la higiene y la productividad.

Una única solución no vale para todo

Existen tantas aplicaciones que no hay una única solución válida para todas ellas, sino que cada caso de uso necesitará el modelo que le proporcione las mejores prestaciones. El control de la voz y los gestos aprovechará la misma tecnología del modelo de lenguaje en que se basa actualmente la IA generativa. Las aplicaciones basadas en sensores recurrirán cada vez más a las arquitecturas de redes neuronales convolucionales (CNN, por convolutional neural networks), aunque algunas podrían aprovechar el mayor grado de funcionalidad ofrecido por los transformadores de visión, si bien a cambio de necesitar un mayor rendimiento.

Se ha demostrado que la IA exige un mayor rendimiento. Antes de la llegada de la IA generativa, la capacidad del modelo se triplicaba cada año. Los modelos basados en transformadores han aumentado ese crecimiento hasta multiplicarlo por más de diez cada año. La IA basada en servidor permite acceder a modelos de mayores prestaciones, pero este acceso no es ideal en muchas aplicaciones embebidas e industriales. Operadores y usuarios quieren más seguridad para sus datos, y en muchos casos las conexiones de la red sobre el terreno no son lo bastante fiables como para admitir IA basada en la nube.

Los usuarios deben ser capaces de ejecutar modelos de IA en el dispositivo. Esta capacidad se obtiene en parte de los procesadores embebidos de mayor rendimiento, que están optimizados para el entorno en cuestión y proporcionan una mayor privacidad a los datos junto con una menor latencia. Además, dado que la IA distribuida (Edge AI) no necesita una conexión fiable a internet, resulta idónea para dichos entornos. Otro factor que incide sobre la IA en el dispositivo es la adaptación de los modelos basados en servidores para que su ejecución sea más eficiente en sistemas embebidos.

Los investigadores han desarrollado arquitecturas CNN como ResNet y Mobilenet que ofrecen reconocimiento de imágenes con una gran exactitud recurriendo a menos multiplicaciones matriciales que los modelos anteriores desarrollados para servidores. Estas arquitecturas de modelos dividen los grandes y costosos filtros en convoluciones más pequeñas de dos dimensiones. También aprovechan técnicas como la fusión de capas, en la que las sucesivas operaciones canalizan los datos mediante cálculos de peso y operaciones de activación de más de una capa. Estas técnicas procesan los datos a nivel local con el fin de evitar accesos a memoria externa que resultan costosos desde el punto de vista de la energía y la latencia.

Los diseñadores han combinado estas arquitecturas a otras arquitecturas de modelos optimizados para una estructura distribuida, a técnicas como la poda y a la cuantización de la red. La poda reduce el número total de operaciones necesarias para procesar cada capa, pero a menudo no resulta apropiada para la elevada optimización de los motores de multiplicación matricial desarrollados para el procesamiento neuronal. En la práctica, la cuantización mejora los resultados y su coste es más bajo gracias a los motores aritméticos SMID (single-instruction multiple-data) diseñados para operaciones matriciales y vectoriales.

Los cálculos aritméticos con enteros de 8 bits, e incluso de anchuras más pequeñas en lugar de los formatos de coma flotante mucho más anchos que se utilizan durante el entrenamiento del modelo, da como resultado una enorme disminución de la demanda de recursos informáticos y de energía. Dado que es posible usar muchos motores aritméticos de 8 bits en paralelo en lugar de una sola unidad de coma flotante de alta precisión, un procesador embebido puede lograr notables mejoras de rendimiento con la misma energía y el mismo coste del dispositivo.

La arquitectura de Qualcomm

La unidad de procesamiento neuronal (NPU) Hexagon de Qualcomm aplica estas técnicas a su serie Snapdragon formada por SoC (System-on-Chips) para teléfonos móviles que sirven para ofrecer funciones como reconocimiento facial y de voz. Este mismo procesador se encuentra disponible actualmente para usuarios industriales a través de la serie Dragonwing de SoC junto con núcleos para aplicaciones de la serie Cortex-A basados en Arm y la unidad de procesamiento gráfico (GPU) Adreno.

Las actuales generaciones de Hexagon reflejan un compromiso a largo plazo con el procesamiento de señal, el aprendizaje automático y las cargas de trabajo de IA. La primera versión de Hexagon, que apareció en 2007, ofreció soporte en un principio a cargas de trabajo de procesamiento de señal digital (DSP) con un motor escalar basado en una arquitectura VLIW (very long instruction word) con el fin de proporcionar una alta velocidad de transferencia de los datos. Una innovación fundamental en esta versión fue el uso de SMT (symmetric multithreading). El paralelismo por hilos permite que la arquitectura acabe con muchos de los problemas provocados por la latencia de la memoria externa. Esta filosofía de diseño se ha mantenido a lo largo de las sucesivas generaciones de Hexagon junto con su objetivo principal de crear una arquitectura unificada que permita a los desarrolladores aprovechar al máximo los recursos de hardware de Hexagon.

Las generaciones posteriores de la NPU Hexagon añadieron el soporte a cálculos aritméticos vectoriales en paralelo y luego a tensores multidimensionales junto con un procesador totalmente escalar que puede ejecutar Linux sin necesidad de recurrir a las CPU de Arm en el SoC si la aplicación lo requiere. La combinación de motores escalares, vectoriales y de tensores que comparten el acceso a una memoria central aporta una gran flexibilidad.

La NPU también incorpora inferencia con unidades muy pequeñas (micro-tiles), una técnica que permite utilizar modelos más pequeños de IA eficientemente cuando el caso de uso exige un consumo muy bajo de energía. Esto abre la posibilidad de ejecutar un modelo sencillo durante largos períodos de tiempo en un estado de bajo consumo con el fin de detectar determinados tipos de sonido, como una voz humana. Puede haber varios micro-tiles ejecutándose simultáneamente para que el modelo pueda seguir en funcionamiento mientras otros modelos se encargan del reconocimiento de voz. La arquitectura de memoria común permite que los desarrolladores saquen el máximo partido a técnicas como la fisión de capas. Esta técnica puede estar formada por diez o más capas para acabar con la necesidad de escribir resultados intermedios en la memoria externa.

La reciente oferta de Qualcomm para la adquisición de Edge Impulse indica un compromiso continuo con el procesamiento distribuido y el mercado embebido para la IA junto a la presentación de SoC de la gama Dragonwing que incorporan varias versiones de núcleos Hexagon, Adreno y Cortex-A para cubrir diferentes niveles de rendimiento.

Como reconocimiento a la necesidad de acceder a diversos modelos, el AI Hub de Qualcomm proporciona el acceso a centenares de aplicaciones de modelos diferentes, todas ellas optimizadas para las plataformas Snapdragon y Dragonwing. Los usuarios solo tienen que seleccionar y descargar modelos para poner en marcha la IA y dejar que pruebe diferentes soluciones para comprobar cuál se adapta mejor al objetivo. Otra ayuda para la disponibilidad rápida de prototipos y el desarrollo es la disponibilidad de hardware CoM (compute-on-module) basado en el estándar abierto SMARC. El acuerdo entre Tria y Qualcomm permite personalizar los módulos basados en este estándar, acortar el plazo de comercialización y aumentar la escalabilidad de la CPU y la memoria. Entre los procesadores actualmente disponibles con este formato se encuentran el QCS5490 y el QCS6490, así como el Vision AI-KIT de mayor tamaño. El procesador IQ9075 incluido en el Vision AI-KIT, optimizado para procesamiento de vídeo de alto rendimiento, es capaz de alcanzar 100 TOPs (teraoperaciones por segundo).

La IA sigue ganando terreno entre las aplicaciones distribuidas y embebidas, de ahí que los desarrolladores necesitan acceder fácilmente a la mayor oferta posible de modelos y niveles de rendimiento que se ajusten a sus expectativas de coste y servicio. La disponibilidad de los aceleradores de IA Dragonwing de Qualcomm en módulos junto con una extensa biblioteca de modelos y software de soporte contribuirá a acelerar esta tendencia.

Placa Máxima flexibilidad para la IA distribuida