Inicio Artículos La IA necesita más de una solución única para todas las necesidades

La IA necesita más de una solución única para todas las necesidades

La IA necesita más de una solución única para todas las necesidades

Autor: Martin Kellermann, Marketing Manager, Microchip Technology

Las aplicaciones de la inteligencia artificial (IA) están apareciendo por todas partes. La adopción generalizada de herramientas basadas en la nube y servicios interactivos demuestra lo que esta tecnología puede aportar al mundo virtual. Sin embargo, es en el mundo físico donde aún queda por explotar gran parte de su potencial.

Hay muchos ejemplos de lo que se puede lograr. Los modelos de IA en los concentradores (hubs) de sensores conectados a máquinas herramienta y otros equipos pueden detectar cuándo el desgaste de los componentes está mermando el rendimiento. Equipados con cámaras, los cortacéspedes robóticos pueden cuidar el jardín y evitar dañar a la fauna silvestre y a las mascotas. Conjuntos complejos de sensores y cámaras pueden vigilar zonas muy transitadas, garantizando su seguridad. Otros sistemas controlan robots cada vez más complejos, que van desde vehículos industriales autónomos hasta diseños humanoides capaces de realizar trabajos intrincados de montaje y reparación.

Cada una de estas aplicaciones tiene diferentes exigencias en cuanto a los tipos de modelos de IA que necesitan para respaldar sus funciones principales. Aunque los modelos de lenguaje parecen dominar el entorno de la nube en la actualidad, el panorama de la IA local es mucho más diversificado. Estos sistemas también necesitan procesamiento local en el borde para superar los problemas de latencia y el coste de la comunicación que conlleva mantener la ejecución de la IA en la nube.

Algunas aplicaciones requieren el uso de redes neuronales convolucionales (CNN – Convolutional Neural Networks). Otras, como las que interpretan datos de sensores, utilizan la estructura de redes neuronales recurrentes (RNN – Recurrent Neural Network). Los sistemas que interpretan escenas complejas captadas por cámaras y otros sensores 2D pueden utilizar las capacidades que ofrecen los modelos de visión-lenguaje u otras variantes de los modelos base.

No se puede aplicar un enfoque único para el diseño de hardware. Estas arquitecturas de modelos dispares tienen requisitos computacionales muy diferentes. Una buena analogía es la gama de opciones de transporte: desde bicicletas ligeras hasta camiones pesados. Para ciertas tareas, una bicicleta eléctrica es una buena opción porque es muy eficiente en distancias cortas con cargas ligeras, como la entrega de comida. Pero para el transporte a granel, se necesita la potencia y la capacidad de un camión de 40 toneladas. De manera similar con la IA, existen soluciones que se adaptan mejor a la tarea en cuestión. Van desde microcontroladores hasta sistemas de gran envergadura basados en múltiples aceleradores de IA.

Al igual que con las bicicletas eléctricas, los coches, las furgonetas y los camiones, hay muchas opciones dentro de cada clase de vehículo en cuanto a rendimiento del motor y capacidad de carga. El hardware para la IA necesita capacidades de ajuste similares: el rendimiento no depende solo del rendimiento aritmético, sino de la eficiencia del movimiento y la organización de los datos. Aquí es donde cobran protagonismo los tipos de aceleración de hardware que hacen posibles la aceleración basada en microprocesadores y las matrices de puertas programables en campo (FPGA).

A menudo, la calidad del modelo mejora con el preprocesamiento de los datos entrantes, como la asignación de píxeles a todo color a planos separados de rojo, verde y azul. Pueden beneficiarse de otras manipulaciones de bajo nivel de los datos, como la normalización o la conversión a diferentes espacios. Los modelos basados en transformadores se benefician de un hardware capaz de recuperar datos de todo el espacio de memoria y canalizar los elementos hacia las matrices aritméticas.

Los modelos con menores necesidades computacionales, como las CNN, a menudo pueden optimizarse mediante técnicas como la poda y la cuantificación de datos. La mayoría de los equipos entrenan los modelos utilizando aritmética de punto flotante en servidores en la nube. Esto maximiza la flexibilidad y agiliza el proceso de entrenamiento.

Durante la inferencia, a menudo no es necesario procesar los datos con la alta resolución que admite el punto flotante. La conversión de los pesos y los datos de entrada a enteros de 8 bits, y a veces incluso a resoluciones más bajas, suele ofrecer solo una precisión ligeramente reducida.

La selección elimina los enlaces entre neuronas que tienen poco efecto en la salida de la red. Dado que la mayoría de los aceleradores de IA están diseñados para redes densas, será necesaria cierta reorganización de los datos en memoria para permitir un alto rendimiento. Los generadores de direcciones basados en FPGA pueden gestionar estas tareas fácilmente. Estos pueden transmitir datos repartidos por el mapa de memoria a una canalización de ejecución diseñada para redes densas. Otras técnicas, como la atención Flash para transformadores, también utilizan mapeo de memoria inteligente y accesos para entregar pesos y datos en el orden más eficiente.

Varios ejemplos mostrarán tanto el alcance como el valor que pueden aportar las plataformas de hardware actuales. Una de las aplicaciones clave de la IA reside en el procesamiento de imágenes y vídeo. Podemos pensar en ello como la furgoneta de 3 toneladas del espacio de la IA edge: un vehículo versátil para una amplia gama de tareas. Las organizaciones industriales y comerciales pueden implementar modelos visuales para encargarse de la supervisión de la seguridad y la eficiencia. Los cortacéspedes autónomos pueden combinar un modelo entrenado para distinguir plantas y objetos con el fin de realizar una planificación local y calcular la ruta más eficiente. En el entorno industrial, el control basado en la visión puede detectar diferentes tipos de material de partida colocado en un horno, ya sean alimentos o compuestos estructurales, y generar el mejor perfil de calentamiento. En sistemas que dependen del control manual, el modelo puede detectar si un operador ha seleccionado un programa inadecuado y generar una alerta según sea necesario.

Para estas aplicaciones, la plataforma VectorBlox™ ofrece una combinación de alto rendimiento de procesamiento multinúcleo que utiliza el sistema de procesamiento reforzado basado en RISC-V® y la lógica FPGA. VectorBlox comprende una unidad de procesamiento vectorial en combinación con un programador, ambos implementados en la estructura FPGA. Esta unidad versátil, gracias al uso de lógica programable, funciona en conjunto con un procesador integrado.

VectorBlox puede tomar redes en formato TensorFlow Lite y convertirlas al hardware de destino con un mínimo esfuerzo manual. Esto permite la creación rápida de prototipos de las aplicaciones, con la opción de una mayor personalización para ajustar el hardware a las necesidades de los modelos de IA.

Para aplicaciones como los sensores inteligentes para el mantenimiento predictivo, la monitorización medioambiental y la asistencia sanitaria, tiene sentido utilizar una plataforma reducida. Podemos pensar en la plataforma de destino como la bicicleta eléctrica del ecosistema de IA. Tiene una baja sobrecarga y entrega comida y otros paquetes de forma rápida y sencilla. Con un poco de hardware adicional, se pueden construir medios de transporte más pequeños capaces de recorrer rutas inaccesibles para vehículos más grandes.

La bicicleta eléctrica basada en microcontroladores del mundo de la IA alimenta un modelo con datos procedentes de una selección de sensores complementarios, que pueden medir la temperatura, la vibración y la aceleración. Las velocidades de datos relativamente bajas y la naturaleza unidimensional de los flujos de sensores permiten que el modelo de IA se ejecute en un microcontrolador de 32 bits. Una FPGA adicional puede ayudar en la gestión de datos, además de proporcionar soporte para otras funciones, como el control del motor.

Entornos como Stream Analyze e INFXL proporcionan los medios para adaptar y gestionar las actualizaciones de los modelos de IA optimizados para ejecutarse en objetivos basados en MCU mediante una combinación de cuantificación y poda. La solución basada en INFXL también nos permite implementar el código C de la MCU directamente en la estructura de la FPGA utilizando el software de síntesis de alto nivel SmartHLS™ de Microchip. De este modo, se puede añadir fácilmente a los sistemas FPGA existentes, que ya se encargan del control de los equipos.

El escalado en la otra dirección ofrece modelos de IA capaces no solo de gestionar entradas de múltiples cámaras y otros sensores, sino también de accionar los motores y actuadores dentro de un complejo robot humanoide. En este entorno, la capacidad de convertir y reasignar datos en tiempo real se vuelve esencial. La conversión de los datos de las cámaras a diferentes planos de color puede mejorar el rendimiento de la CNN. Otras organizaciones pueden entregar los datos de una forma que se adapte al acceso a la memoria y a la estructura de caché del acelerador de IA de destino.

El uso de uno o más FPGA para actuar como puente de conversión aporta la máxima flexibilidad: los modelos pueden interactuar con cualquier sensor sin cambios internos. Los puentes suelen entregar datos utilizando una de las muchas formas de Ethernet, desde Fast Ethernet de 100 M para sistemas de menor rendimiento hasta Ethernet de 10 gigabits o más. El puente de sensores Ethernet PolarFire® de Microchip ofrece un ejemplo de esta funcionalidad, permitiendo a los desarrolladores probar fácilmente diferentes arquitecturas de hardware y software.

Al transportar datos preprocesados a las GPU de destino mediante Ethernet de 10 gigabits, el Sensor Bridge cuenta con entradas para cámaras que utilizan el puerto MIPI® CSI-2 habitual o que pueden recibir datos HDMI 1.4. Un conector FMC integrado proporciona acceso a otras E/S de alta velocidad, como los convertidores analógico-digitales JESD-204B, mediante tarjetas adicionales.

Desde la bicicleta eléctrica más ligera hasta el camión más pesado, el diseño de los vehículos se ha adaptado para dar respuesta a toda la gama de necesidades de transporte. Lo mismo ocurre con la IA física y la IA en el borde. Proveedores como Microchip pueden ofrecer no solo compatibilidad con toda la gama de opciones de rendimiento, desde microcontroladores hasta sistemas basados en GPU y repletos de sensores. Con hardware FPGA como la gama de dispositivos PolarFire, estas plataformas ofrecen la capacidad de ajustar el rendimiento de cada implementación.

Microchip MCA1077