Las arquitecturas de microcontroladores evolucionan para la IA
¿Qué obtienes si cruzas AI con IoT? El AIoT es la respuesta simple, pero también obtiene una enorme área de aplicación nueva para microcontroladores, habilitada por los avances en las técnicas de redes neuronales que significan que el aprendizaje automático ya no se limita al mundo de las supercomputadoras. En estos días, los procesadores de aplicaciones para teléfonos inteligentes pueden (y lo hacen) realizar inferencias de IA para el procesamiento de imágenes, motores de recomendación y otras funciones complejas.
Un ecosistema de miles de millones de dispositivos de IoT obtendrá capacidades de aprendizaje automático en los próximos años (Imagen:NXP)
Llevar este tipo de capacidad al humilde microcontrolador representa una gran oportunidad. Imagínese un audífono que puede usar IA para filtrar el ruido de fondo de las conversaciones, electrodomésticos inteligentes que pueden reconocer la cara del usuario y cambiar a su configuración personalizada, y nodos de sensores habilitados para IA que pueden funcionar durante años con las baterías más pequeñas. El procesamiento de los datos en el punto final ofrece ventajas de latencia, seguridad y privacidad que no se pueden ignorar.
Sin embargo, lograr un aprendizaje automático significativo con dispositivos a nivel de microcontrolador no es una tarea fácil. La memoria, un criterio clave para los cálculos de IA, a menudo está muy limitada, por ejemplo. Pero la ciencia de datos avanza rápidamente para reducir el tamaño del modelo, y los proveedores de dispositivos e IP están respondiendo desarrollando herramientas e incorporando características adaptadas a las demandas del aprendizaje automático moderno.
TinyML despega
Como señal del rápido crecimiento de este sector, la Cumbre TinyML (un nuevo evento de la industria que se celebró a principios de este mes en Silicon Valley) va viento en popa. La primera cumbre, celebrada el año pasado, contó con 11 empresas patrocinadoras, mientras que el evento de este año contó con 27, y las plazas se agotaron mucho antes, según los organizadores, quienes también dijeron que la membresía para sus reuniones globales mensuales de diseñadores ha aumentado drásticamente.
“Vemos un mundo nuevo con billones de dispositivos inteligentes habilitados por tecnologías TinyML que detectan, analizan y actúan de forma autónoma en conjunto para crear un entorno más saludable y sostenible para todos”, dijo el Copresidente del Comité TinyML, Evgeni Gousev de Qualcomm, en su Palabras de apertura en la feria.
Gousev atribuyó este crecimiento al desarrollo de algoritmos y hardware más eficientes desde el punto de vista energético, combinados con herramientas de software más maduras. La inversión corporativa y de capital de riesgo está aumentando, al igual que la actividad de puesta en marcha y fusiones y adquisiciones, señaló.
Hoy, el Comité TinyML cree que la tecnología ha sido validada y que los productos iniciales que utilizan el aprendizaje automático en microcontroladores deberían llegar al mercado en 2-3 años. Se cree que las "aplicaciones asesinas" tardarán entre 3 y 5 años.
Una gran parte de la validación tecnológica se produjo la primavera pasada cuando Google demostró una versión de su marco TensorFlow para microcontroladores por primera vez. TensorFlow Lite para microcontroladores está diseñado para ejecutarse en dispositivos con solo kilobytes de memoria (el tiempo de ejecución del núcleo cabe en 16 KB en un Arm Cortex M3, y con suficientes operadores para ejecutar un modelo de detección de palabras clave de voz, ocupa un total de 22 KB). Solo admite inferencia (no entrenamiento).
Grandes jugadores
Por supuesto, los grandes fabricantes de microcontroladores están observando con interés los desarrollos en la comunidad TinyML. A medida que la investigación permite que los modelos de redes neuronales se hagan más pequeños, el tamaño de su oportunidad aumenta.
La mayoría tiene algún tipo de soporte para aplicaciones de aprendizaje automático. Por ejemplo, STMicroelectronics tiene un paquete de extensión, STM32Cube.AI, que permite mapear y ejecutar redes neuronales en su familia STM32 de microcontroladores basados en Arm Cortex-M.
Renesas tiene su entorno de desarrollo e-AI que permite implementar la inferencia de AI en microcontroladores. Traduce efectivamente el modelo a una forma que se puede utilizar en su e 2 studio, compatible con proyectos C / C ++.
NXP dijo que tiene clientes que utilizan sus MCU Kinetis y LPC de gama baja para aplicaciones de aprendizaje automático. La compañía está adoptando la inteligencia artificial con soluciones de hardware y software, aunque principalmente orientada a sus procesadores de aplicaciones más grandes y procesadores cruzados (entre procesadores de aplicaciones y microcontroladores).
Fuerte armado
La mayoría de las empresas establecidas en el ámbito de los microcontroladores tienen una cosa en común:Arm. El gigante del núcleo del procesador integrado domina el mercado de microcontroladores con su serie Cortex-M. La compañía anunció recientemente el nuevo núcleo Cortex-M55 que está diseñado específicamente para aplicaciones de aprendizaje automático, especialmente cuando se usa en combinación con el acelerador de IA Ethos-U55. Ambos están diseñados para entornos con recursos limitados.
Usados en conjunto, Arm's Cortex-M55 y Ethos-U55 tienen suficiente poder de procesamiento para aplicaciones como reconocimiento de gestos, biometría y reconocimiento de voz (Imagen:Arm)
Pero, ¿cómo pueden las nuevas empresas y las empresas más pequeñas competir con los grandes actores de este mercado?
“¡No construyendo SoCs basados en Arm! Porque lo hacen realmente bien ”, se rió el CEO de XMOS, Mark Lippett. "La única forma de competir contra esos tipos es tener una ventaja arquitectónica ... [eso significa] las capacidades intrínsecas del Xcore en términos de rendimiento, pero también la flexibilidad".
Si bien Xcore.ai de XMOS, su procesador cruzado recientemente lanzado para interfaces de voz, no competirá directamente con los microcontroladores, la opinión sigue siendo cierta. Cualquier empresa que fabrique un SoC basado en ARM para competir con los grandes será mejor que tenga algo bastante especial en su salsa secreta.
Escalado de voltaje y frecuencia
Startup Eta Compute lanzó su muy esperado dispositivo de energía ultrabaja durante la feria TinyML. Se puede utilizar para el aprendizaje automático en aplicaciones de fusión de sensores y procesamiento de imágenes siempre activo con un presupuesto de energía de 100 µW. El chip usa un núcleo Arm Cortex-M3 más un núcleo NXP DSP; uno o ambos núcleos se pueden usar para la carga de trabajo de ML. La salsa secreta de la compañía tiene varios ingredientes, pero la clave es la forma en que escala tanto la frecuencia del reloj como el voltaje de forma continua, para ambos núcleos. Esto ahorra mucha energía, especialmente porque se logra sin un PLL (bucle de bloqueo de fase).
El ECM3532 de Eta Compute utiliza un núcleo Arm Cortex-M3 más un núcleo NXP CoolFlux DSP. La carga de trabajo de aprendizaje automático puede ser manejada por cualquiera o ambos (Imagen:Eta Compute)
Con competidores viables para Arm ahora disponibles, incluida la arquitectura de conjunto de instrucciones emergente que ofrece la base RISC-V, ¿por qué Eta Compute eligió usar un núcleo Arm para la aceleración del aprendizaje automático de potencia ultrabaja?
"La respuesta simple es que el ecosistema de Arm está muy bien desarrollado", dijo Tewksbury a EETimes . “Es mucho más fácil pasar a la producción [con Arm] que con RISC-V en este momento. Esa situación podría cambiar en el futuro… RISC-V tiene su propio conjunto de ventajas; ciertamente es bueno para el mercado chino, pero estamos mirando principalmente a los mercados nacionales y europeos en este momento con el ecosistema para [nuestro dispositivo] ".
Tewksbury señaló que el mayor desafío al que se enfrenta AIoT es la amplitud y diversidad de las aplicaciones. El mercado está bastante fragmentado, con muchas aplicaciones relativamente de nicho que dominan solo volúmenes bajos. Sin embargo, en conjunto, este sector se extiende potencialmente a miles de millones de dispositivos.
“El desafío para los desarrolladores es que no pueden permitirse invertir tiempo y dinero en desarrollar soluciones personalizadas para cada uno de esos casos de uso”, dijo Tewksbury. “Ahí es donde la flexibilidad y la facilidad de uso se vuelven absolutamente primordiales. Y esa es otra razón por la que elegimos Arm:porque el ecosistema está ahí, las herramientas están ahí, y es fácil para los clientes desarrollar productos rápidamente y llevarlos al mercado rápidamente sin mucha personalización ".
Después de mantener su ISA bajo llave durante décadas, finalmente, en octubre pasado, Arm anunció que permitiría a los clientes crear sus propias instrucciones personalizadas para manejar cargas de trabajo especializadas como el aprendizaje automático. Esta capacidad, en las manos adecuadas, también puede ofrecer la oportunidad de reducir aún más el consumo de energía.
Eta Compute no puede aprovechar esto todavía, ya que no se aplica retrospectivamente a los núcleos Arm existentes, por lo que no es aplicable al núcleo M3 que Eta está usando. Pero, ¿podría Tewksbury ver a Eta Compute usando instrucciones personalizadas de Arm en futuras generaciones de productos para reducir aún más el consumo de energía?
"Absolutamente, sí", dijo.
ISA alternativos
RISC-V ha recibido mucha atención este año. El ISA de código abierto permite el diseño de procesadores sin una tarifa de licencia, mientras que los diseños basados en el ISA RISC-V pueden protegerse como con cualquier otro tipo de IP. Los diseñadores pueden elegir qué extensiones agregar y pueden agregar sus propias extensiones personalizadas.
La startup francesa GreenWaves es una de varias empresas que utilizan núcleos RISC-V para apuntar al espacio de aprendizaje automático de energía ultrabaja. Sus dispositivos, GAP8 y GAP9, utilizan clústeres de cómputo de 8 y 9 núcleos respectivamente.
La arquitectura del chip AI de potencia ultrabaja GAP9 de GreenWaves ahora usa 10 núcleos RISC-V (Imagen:GreenWaves)
Martin Croome, vicepresidente de desarrollo empresarial de GreenWaves, explicó a EETimes por qué la empresa utiliza núcleos RISC-V.
"La primera razón es que RISC-V nos brinda la capacidad de personalizar los núcleos en el nivel del conjunto de instrucciones, que usamos mucho", dijo Croome, explicando que las extensiones personalizadas se utilizan para reducir la potencia de las cargas de trabajo de procesamiento de señales y aprendizaje automático. . “Cuando se formó la empresa, si quería hacer eso con cualquier otra arquitectura de procesador, era imposible o le iba a costar una fortuna. Y la fortuna que le iba a costar era esencialmente el dinero de su inversor destinado a otra empresa, y eso es muy difícil de justificar ".
Las extensiones personalizadas de GreenWaves por sí solas brindan a sus núcleos una mejora de 3.6x en el consumo de energía en comparación con los núcleos RISC-V sin modificar. Pero Croome también dijo que RISC-V tiene beneficios técnicos fundamentales simplemente por ser nuevo.
“Es un conjunto de instrucciones moderno y muy limpio. No tiene equipaje. Entonces, desde una perspectiva de implementación, el núcleo RISC-V es en realidad una estructura más simple, y simple significa menos potencia ”, dijo.
Croome también citó el control como un factor importante. El dispositivo GAP8 tiene 8 núcleos en su clúster de cómputo, y GreenWaves necesita un control muy fino y detallado sobre la ejecución del núcleo para permitir la máxima eficiencia energética. RISC-V permite eso, dijo.
"Al final, si pudiéramos haber hecho todo eso con Arm, habríamos hecho todo eso con Arm, habría sido una elección mucho más lógica ... Porque nadie fue despedido por comprar Arm", bromeó. . "Las herramientas de software tienen un nivel de madurez que es mucho más alto que RISC-V ... pero dicho esto, ahora hay tanto enfoque en RISC-V que esas herramientas están aumentando su madurez muy rápido".
En resumen, aunque algunos ven que el control de Arm en el mercado de microprocesadores se está debilitando, en parte debido a la mayor competencia de RISC-V, la compañía está respondiendo permitiendo algunas extensiones personalizadas y desarrollando nuevos núcleos diseñados para el aprendizaje automático desde el principio.
De hecho, hay dispositivos Arm y no Arm que están llegando al mercado para aplicaciones de aprendizaje automático de energía ultrabaja. A medida que la comunidad TinyML continúe trabajando para reducir el tamaño del modelo de red neuronal y desarrollar marcos y herramientas dedicados, este sector se convertirá en un área de aplicación saludable que admitirá una variedad de diferentes tipos de dispositivos.
Incrustado
- Solución de corte para la industria de alfombras - Máquina de corte digital
- Una lista de verificación para la alineación y el pie suave
- Una guía para comprar máquinas CNC usadas
- 4 consejos para principiantes en fresadoras CNC
- Guía de compra de tornos CNC usados
- Consejos de seguridad en el lugar de trabajo para maquinistas CNC
- Guía de compra de máquinas CNC usadas
- Consejos para elegir la máquina CNC adecuada
- La mejor máquina CNC de metal para negocios de metal en 2022
- 2090 Máquina CNC para madera para un cliente de Australia
- 7 consejos de compra para el enrutador CNC ATC