Saltar al contenido

TinyML está llevando modelos de aprendizaje profundo a los microcontroladores

22 de enero de 2022

Este artículo es parte de nuestras revisiones de trabajos de investigación de IA, una serie de publicaciones que exploran los últimos hallazgos en inteligencia artificial.

Los modelos de aprendizaje profundo deben su éxito inicial a los grandes servidores con grandes cantidades de memoria y grupos de GPU. Las promesas del aprendizaje profundo dieron lugar a toda una industria de servicios de computación en la nube para redes neuronales profundas. En consecuencia, las redes neuronales muy grandes que se ejecutan en recursos de nube virtualmente ilimitados se volvieron muy populares, especialmente entre las empresas tecnológicas ricas que pueden pagar la factura.

Pero al mismo tiempo, los últimos años también han visto una tendencia inversa, un esfuerzo concertado para crear modelos de aprendizaje automático para dispositivos de borde. Estos modelos, llamados tiny machine learning, o TinyML, son adecuados para dispositivos que tienen memoria y potencia de procesamiento limitadas, y en los que la conectividad a Internet no está presente o es limitada.


Recomendado: ¿Qué es el Big data?.


El último de estos esfuerzos, un trabajo conjunto de IBM y el Instituto de Tecnología de Massachusetts (MIT), aborda el cuello de botella de memoria máxima de las redes neuronales convolucionales (CNN), una arquitectura de aprendizaje profundo que es especialmente crítica para las aplicaciones de visión por computadora. Detallado en un documento presentado en la conferencia NeurIPS 2021, el modelo se llama MCUNetV2 y puede ejecutar CNN en microcontroladores de baja memoria y baja potencia.

¿Por qué TinyML?

borde-ai-hardware-ic

Si bien el aprendizaje profundo en la nube ha tenido un gran éxito, no es aplicable en todas las situaciones. Muchas aplicaciones requieren inferencia en el dispositivo. Por ejemplo, en algunos entornos, como las misiones de rescate con drones, la conectividad a Internet no está garantizada. En otros dominios, como la atención médica, los requisitos y regulaciones de privacidad hacen que sea muy difícil enviar datos a la nube para su procesamiento. Y el retraso causado por el viaje de ida y vuelta a la nube es prohibitivo para las aplicaciones que requieren inferencia de ML en tiempo real.


Recomendado: Todos los términos del Big data.


Todas estas necesidades han hecho que el aprendizaje automático en el dispositivo sea atractivo tanto desde el punto de vista científico como comercial. Su iPhone ahora ejecuta el reconocimiento facial y el reconocimiento de voz en el dispositivo. Su teléfono Android puede ejecutar la traducción en el dispositivo. Su Apple Watch utiliza el aprendizaje automático para detectar movimientos y patrones de ECG.

Estos modelos ML en el dispositivo han sido posibles en parte gracias a los avances en las técnicas utilizadas para hacer que las redes neuronales sean compactas y más eficientes en términos de cómputo y memoria. Pero también han sido posibles gracias a los avances en hardware. Nuestros teléfonos inteligentes y dispositivos portátiles ahora tienen más poder de cómputo que un servidor hace 30 años. Algunos incluso tienen coprocesadores especializados para la inferencia de ML.

TinyML lleva la inteligencia artificial avanzada un paso más allá, lo que hace posible ejecutar modelos de aprendizaje profundo en microcontroladores (MCU), que tienen muchos más recursos limitados que las pequeñas computadoras que llevamos en nuestros bolsillos y en nuestras muñecas.

Los microcontroladores son baratos, con precios de venta promedio que alcanzan menos de $0,50, y están en todas partes, integrados en dispositivos industriales y de consumo. Al mismo tiempo, no tienen los recursos que se encuentran en los dispositivos informáticos genéricos. La mayoría de ellos no tienen un sistema operativo. Tienen una CPU pequeña, están limitados a unos pocos cientos de kilobytes de memoria de bajo consumo (SRAM) y unos pocos megabytes de almacenamiento, y no tienen ningún equipo de red. En su mayoría, no tienen una fuente de electricidad de la red y deben funcionar con pilas y baterías de monedas durante años. Por lo tanto, la instalación de modelos de aprendizaje profundo en MCU puede abrir el camino para muchas aplicaciones.

Cuellos de botella de memoria en redes neuronales convolucionales

Arquitectura de red neuronal convolucional (CNN)