El método para modelar el consumo de energía de las redes neuronales podría ayudar a que los sistemas sean portátiles.
En los últimos años, los sistemas de inteligencia artificial de mayor rendimiento -en áreas como la conducción autónoma, el reconocimiento del habla, la visión por computadora y la traducción automática- han llegado por cortesía de los sistemas de software conocidos como redes neuronales .
Pero las redes neuronales ocupan mucha memoria y consumen mucha energía, por lo que usualmente se ejecutan en servidores de la nube, que reciben datos de dispositivos de escritorio o móviles y luego envían sus análisis.
El año pasado, la profesora asociada de ingeniería eléctrica y informática del MIT, Vivienne Sze y sus colegas, presentaron un nuevo chip de computadora con eficiencia energética optimizado para redes neuronales, lo que permitiría que los poderosos sistemas de inteligencia artificial funcionaran localmente en dispositivos móviles.
Ahora, Sze y sus colegas han abordado el mismo problema desde la dirección opuesta, con una batería de técnicas para diseñar redes neuronales más eficientes desde el punto de vista energético. En primer lugar, se desarrolló un método analítico que puede determinar la cantidad de energía de una red neuronal se consumen cuando se ejecutan en un tipo particular de hardware. Luego utilizaron el método para evaluar nuevas técnicas para reducir las redes neuronales para que funcionen de manera más eficiente en dispositivos portátiles.
Los investigadores describen el trabajo en un documento que presentarán la próxima semana en la Conferencia de Visión y Reconocimiento de Patrones. En el documento, informan que los métodos ofrecidos tanto como una reducción del 73 por ciento en el consumo de energía sobre la implantación estándar de redes neuronales, y tanto como una reducción del 43 por ciento sobre el mejor método anterior para paring las redes hacia abajo.
Evaluador de energía
Basadas en la anatomía del cerebro, las redes neuronales consisten en miles o incluso millones de nodos de procesamiento de información sencillos pero densamente interconectados, normalmente organizados en capas. Los diferentes tipos de redes varían según el número de capas, el número de conexiones entre los nodos y el número de nodos en cada capa.
Las conexiones entre los nodos tienen “pesos” asociados con ellos, que determinan cuánto contribuirá la producción de un nodo dado al cálculo del siguiente nodo. Durante el entrenamiento, en el que la red se presenta con ejemplos de la computación que está aprendiendo a realizar, esos pesos se reajustan continuamente, hasta que la salida de la última capa de la red se corresponda consistentemente con el resultado de la computación.
“Lo primero que hicimos fue desarrollar una herramienta de modelado de energía que explique el movimiento de datos, las transacciones y el flujo de datos”, dice Sze. “Si le das una arquitectura de red y el valor de sus pesos, te dirá la cantidad de energía que esta red neuronal tomará. Una de las preguntas que la gente tenía es: ¿Es más eficiente la energía tener una red superficial y más pesos o una red más profunda con menos pesos? Esta herramienta nos da una mejor intuición en cuanto a dónde va la energía, para que un diseñador de algoritmos podría tener una mejor comprensión y utilizar esto como retroalimentación. La segunda cosa que hicimos es que, ahora que sabemos dónde está la energía realmente va, comenzamos a usar este modelo para impulsar nuestro diseño de redes de energía eficientes.
En el pasado, explica Sze, los investigadores que intentan reducir el consumo de energía de las redes neuronales utilizan una técnica llamada “poda”. Las conexiones de bajo peso entre nodos contribuyen muy poco a la salida final de una red neuronal, Podado
Poda de principios
Con la ayuda de su modelo energético, Sze y sus colegas -el primer autor Tien-Ju Yang y Yu-Hsin Chen, ambos estudiantes graduados en ingeniería eléctrica e informática- variaron este enfoque. Aunque cortar incluso un gran número de conexiones de bajo peso puede tener poco efecto en la salida de una red neural, cortando todas ellas probablemente, por lo que las técnicas de poda deben tener algún mecanismo para decidir cuándo parar.
Los investigadores del MIT comienzan así a podar las capas de la red que consumen más energía. De esta manera, los cortes se traducen en el mayor ahorro de energía posible. Ellos llaman a este método “poda energética”.
Los pesos en una red neuronal pueden ser positivos o negativos, por lo que el método de los investigadores también busca casos en los que las conexiones con pesos de signo opuesto tienden a cancelarse mutuamente. Las entradas de un nodo dado son las salidas de los nodos de la capa inferior, multiplicadas por los pesos de sus conexiones. Por lo tanto, el método de los investigadores no sólo se centra en los pesos sino también en la forma en que los nodos asociados manejan los datos de entrenamiento. Sólo si los grupos de conexiones con pesos positivos y negativos consistentemente se compensan entre sí se pueden cortar con seguridad. Esto lleva a redes más eficientes con menos conexiones que los métodos de poda anteriores.
“Recientemente, mucha actividad en la comunidad de aprendizaje profundo se ha dirigido hacia el desarrollo de arquitecturas eficaces de redes neuronales para plataformas computacionalmente limitadas”, dice Hartwig Adam, líder del equipo de visión móvil en Google. “Sin embargo, la mayor parte de esta investigación se centra Ya sea en la reducción del tamaño del modelo o de la computación, mientras que para los teléfonos inteligentes y muchos otros dispositivos de consumo de energía es de suma importancia debido a la utilización de la batería y las restricciones de calor.Este trabajo está tomando un enfoque innovador CNN [optimización de la arquitectura neuronal convolucional] Minimización del consumo de energía utilizando una sofisticada herramienta de estimación de nueva energía, y demuestra grandes ganancias de rendimiento sobre los métodos centrados en el cálculo.Espero que otros investigadores en el campo sigan el ejemplo y adopten esta metodología general para el diseño de arquitectura de modelo de red neural “.
Fuente: MIT News