Modelos y plataformas de IA
Nuevo sistema puede llevar la inteligencia artificial a dispositivos portátiles y electrodomésticos
Un equipo de investigadores del MIT está trabajando en llevar redes neuronales de aprendizaje profundo a microcontroladores. El avance significa que la inteligencia artificial (IA) podría implementarse en pequeños chips de computadora en dispositivos médicos portátiles, electrodomésticos y los otros 250 mil millones de objetos que componen la “internet de las cosas” (IoT). La IoT es una red de objetos físicos integrados con sensores, software y otras tecnologías, que ayudan a conectar y intercambiar datos con otros dispositivos y sistemas.
La investigación se presentará en la Conferencia sobre Sistemas de Procesamiento de Información Neural en diciembre. El autor principal de la investigación es Ji Lin, un estudiante de doctorado en el laboratorio de Song Han en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación del MIT. Los coautores incluyen a Han y Yujun Lin del MIT, Wei-Ming Chen del MIT y la Universidad Nacional de Taiwán, y John Cohn y Chuan Gan del Laboratorio MIT-IBM Watson.
Sistema MCUNet
El sistema se llama MCUNet, y diseña redes neuronales compactas capaces de velocidad y precisión extrema en dispositivos IoT, incluso con memoria y potencia de procesamiento limitadas. Este sistema puede ser más eficiente en términos de energía y mejorar la seguridad de los datos.
El equipo desarrolló el sistema de “aprendizaje profundo en miniature” combinando dos componentes: la operación de redes neuronales y microcontroladores. El primer componente es TinyEngine, un motor de interfaz que actúa como un sistema operativo dirigiendo la gestión de recursos. TinyEngine está optimizado para ejecutar una estructura de red neuronal específica seleccionada por TinyNAS, que es el otro componente. TinyNAS es un algoritmo de búsqueda de arquitectura de red neuronal.
Lin desarrolló TinyNAS debido a la dificultad de aplicar técnicas de búsqueda de arquitectura de red neuronal existentes a microcontroladores pequeños. Estas técnicas eventualmente encuentran la estructura de red más precisa y rentable después de comenzar con muchas posibles basadas en una plantilla predefinida.
“Puede funcionar bastante bien para GPUs o smartphones”, dice Lin. “Pero ha sido difícil aplicar directamente estas técnicas a microcontroladores pequeños, porque son demasiado pequeños”.
TinyNAS puede crear redes de tamaño personalizado.
“Tenemos muchos microcontroladores que vienen con diferentes capacidades de potencia y diferentes tamaños de memoria”, dice Lin. “Así que desarrollamos el algoritmo [TinyNAS] para optimizar el espacio de búsqueda para diferentes microcontroladores”.
Como TinyNAS se puede personalizar, puede generar las redes neuronales compactas más eficientes para microcontroladores.
“Luego entregamos el modelo final y eficiente al microcontrolador”, continúa Lin.
Se requiere un motor de interfaz limpio y delgado para que un microcontrolador ejecute la red neuronal en miniature. Muchos motores de interfaz tienen instrucciones para tareas que se ejecutan raramente, lo que podría obstaculizar un microcontrolador.
“No tiene memoria fuera del chip, y no tiene un disco”, dice Han. “Todo lo que se junta es solo un megabyte de flash, así que tenemos que gestionar muy cuidadosamente un recurso tan pequeño”.
TinyEngine genera el código necesario para ejecutar la red neuronal personalizada desarrollada por TinyNAS. El tiempo de compilación se reduce descartando el código muerto.
“Solo conservamos lo que necesitamos”, dice Han. “Y como diseñamos la red neuronal, sabemos exactamente lo que necesitamos. Esa es la ventaja del diseño de sistema y algoritmo”.
Las pruebas demostraron que el código binario compilado de TinyEngine era 1,9 a cinco veces más pequeño que otros motores de microcontrolador, incluidos los de Google (GOOGL ) y ARM. El uso máximo de memoria también se redujo casi a la mitad.
Capacidad de MCUNet
Las primeras pruebas para MCUNet se centraron en la clasificación de imágenes. Se utilizó la base de datos ImageNet para entrenar el sistema con imágenes etiquetadas, y luego se probó su capacidad con imágenes nuevas.
Cuando MCUNet se probó en un microcontrolador comercial, clasificó con éxito el 70,7 por ciento de las imágenes nuevas. Esto es mucho mejor que la mejor red neuronal y motor de interfaz anterior, que fue del 54 por ciento de precisión.
“Incluso un 1 por ciento de mejora es considerado significativo”, dice Lin. “Así que esto es un gran salto para la configuración de microcontroladores”.
Según Kurt Keutzer, un científico de la computación de la Universidad de California en Berkeley, esto “amplía la frontera del diseño de redes neuronales profundas aún más en el dominio de los microcontroladores pequeños y eficientes en términos de energía”. MCUNet podría “llevar capacidades de visión por computadora inteligentes a incluso los electrodomésticos de cocina más simples, o permitir sensores de movimiento más inteligentes”.
MCUNet también mejora la seguridad de los datos.
“Una ventaja clave es preservar la privacidad”, dice Han. “No necesitas transmitir los datos a la nube”.
Al analizar los datos localmente, hay menos posibilidades de que la información personal se vea comprometida.
Además, MCUNet podría analizar y proporcionar información sobre datos como lecturas de frecuencia cardíaca, presión arterial y niveles de oxígeno, llevar el aprendizaje profundo a dispositivos IoT en vehículos y otros lugares con acceso limitado a Internet, y reducir la huella de carbono utilizando solo una pequeña fracción de la energía necesaria para grandes redes neuronales.












