Un equipo dirigido por la Universidad de California en San Diego ha desarrollado un enfoque de codiseño de hardware y software inspirado en neuroinstrucciones que podría hacer que el entrenamiento de redes neuronales sea más eficiente en energía y más rápido. Su trabajo algún día podría hacer posible entrenar redes neuronales en niveles bajos-dispositivos de potencia como teléfonos inteligentes, computadoras portátiles y dispositivos integrados.
El avance se describe en un artículo publicado recientemente en Comunicaciones de la naturaleza .
Entrenar redes neuronales para realizar tareas como reconocer objetos, navegar en autos sin conductor o jugar juegos consume mucha potencia de computación y tiempo. Normalmente se requieren grandes computadoras con cientos a miles de procesadores para aprender estas tareas, y los tiempos de entrenamiento puedentomar de semanas a meses
Esto se debe a que hacer estos cálculos implica transferir datos de un lado a otro entre dos unidades separadas, la memoria y el procesador, y esto consume la mayor parte de la energía y el tiempo durante el entrenamiento de la red neuronal, dijo el autor principal Duygu Kuzum, profesor de electricidad.e ingeniería informática en la Escuela de Ingeniería Jacobs en UC San Diego.
Para abordar este problema, Kuzum y su laboratorio se asociaron con Adesto Technologies para desarrollar hardware y algoritmos que permitan que estos cálculos se realicen directamente en la unidad de memoria, eliminando la necesidad de mezclar datos repetidamente.
"Estamos abordando este problema desde dos extremos, el dispositivo y los algoritmos, para maximizar la eficiencia energética durante el entrenamiento de la red neuronal", dijo el primer autor Yuhan Shi, estudiante de doctorado en ingeniería eléctrica en el grupo de investigación de Kuzum en la UCSan Diego.
El componente de hardware es un tipo de tecnología de memoria no volátil súper eficiente desde el punto de vista energético: una matriz RAM de puente conductivo subcuántum CBRAM de 512 kilobits. Consume de 10 a 100 veces menos energía que las tecnologías de memoria líderes de la actualidad. El dispositivo está basadoen la tecnología de memoria CBRAM de Adesto: se ha utilizado principalmente como un dispositivo de almacenamiento digital que solo tiene estados '0' y '1', pero Kuzum y su laboratorio demostraron que se puede programar para tener múltiples estados analógicos para emular sinapsis biológicas enel cerebro humano. Este llamado dispositivo sináptico se puede usar para hacer computación en memoria para el entrenamiento de redes neuronales.
"La memoria en chip en los procesadores convencionales es muy limitada, por lo que no tienen la capacidad suficiente para realizar tanto la computación como el almacenamiento en el mismo chip. Pero en este enfoque, tenemos una matriz de memoria de alta capacidad que puede hacer cómputo relacionadoal entrenamiento de la red neuronal en la memoria sin transferencia de datos a un procesador externo. Esto permitirá una gran cantidad de ganancias de rendimiento y reducirá el consumo de energía durante el entrenamiento ", dijo Kuzum.
Kuzum, quien está afiliado al Centro de Computación y Seguridad Integradas en Máquinas en UC San Diego, dirigió los esfuerzos para desarrollar algoritmos que podrían mapearse fácilmente en esta matriz de dispositivos sinápticos. Los algoritmos proporcionaron aún más ahorro de energía y tiempo durante la red neuronalformación.
El enfoque utiliza un tipo de red neuronal eficiente en energía, llamada red neuronal con picos, para implementar el aprendizaje no supervisado en el hardware. Además de eso, el equipo de Kuzum aplica otro algoritmo de ahorro de energía que desarrollaron llamado "poda suave"lo que hace que el entrenamiento de redes neuronales sea mucho más eficiente energéticamente sin sacrificar mucho en términos de precisión.
algoritmos de ahorro de energía
Las redes neuronales son una serie de capas conectadas de neuronas artificiales, donde la salida de una capa proporciona la entrada a la siguiente. La fuerza de las conexiones entre estas capas está representada por lo que se llama "pesos". El entrenamiento de una red neuronal se ocupacon la actualización de estos pesos.
Las redes neuronales convencionales gastan mucha energía para actualizar continuamente cada uno de estos pesos. Pero en las redes neuronales con picos, solo se actualizan los pesos vinculados a las neuronas en picado. Esto significa menos actualizaciones, lo que significa menos potencia de cálculo y tiempo.
La red también hace lo que se llama aprendizaje no supervisado, lo que significa que esencialmente puede entrenarse a sí misma. Por ejemplo, si a la red se le muestra una serie de dígitos numéricos escritos a mano, descubrirá cómo distinguir entre ceros, unos, dos, etc.Un beneficio es que la red no necesita ser entrenada en ejemplos etiquetados, lo que significa que no es necesario decirle que está viendo un cero, uno o dos, lo cual es útil para aplicaciones autónomas como la navegación.
Para hacer que el entrenamiento sea aún más rápido y con mayor eficiencia energética, el laboratorio de Kuzum desarrolló un nuevo algoritmo que denominaron "poda suave" para implementar con la red neuronal de púas sin supervisión. La poda suave es un método que encuentra pesos que ya han madurado duranteentrenamiento y luego los establece en un valor constante distinto de cero. Esto evita que se actualicen durante el resto del entrenamiento, lo que minimiza el poder de cómputo.
La poda suave difiere de los métodos de poda convencionales porque se implementa durante el entrenamiento, en lugar de después. También puede conducir a una mayor precisión cuando una red neuronal pone a prueba su entrenamiento. Normalmente en podas, los pesos redundantes o sin importancia se eliminan por completoLa desventaja es que cuantos más pesos podes, menos precisa será la red durante las pruebas. Pero la poda suave solo mantiene estos pesos en una configuración de baja energía, por lo que todavía están disponibles para ayudar a que la red funcione con mayor precisión.
codiseño de hardware y software para la prueba
El equipo implementó la red neuronal de pinchazos no supervisada neuroinspirada y el algoritmo de poda suave en la matriz de dispositivos sinápticos CBRAM subcuántum. Luego entrenaron a la red para clasificar los dígitos escritos a mano de la base de datos MNIST.
En las pruebas, la red clasificó los dígitos con una precisión del 93 por ciento, incluso cuando hasta el 75 por ciento de los pesos fueron podados suavemente. En comparación, la red funcionó con menos del 90 por ciento de precisión cuando solo el 40 por ciento de los pesos se podaron con la poda convencionalmétodos.
En términos de ahorro de energía, el equipo estima que su enfoque de codiseño de hardware y software inspirado en neuroinstrucciones puede eventualmente reducir el uso de energía durante el entrenamiento de redes neuronales en dos o tres órdenes de magnitud en comparación con el estado del arte.
"Si comparamos el nuevo hardware con otras tecnologías de memoria similares, estimamos que nuestro dispositivo puede reducir el consumo de energía de 10 a 100 veces, entonces nuestro algoritmo de codiseño reduce eso en otros 10. En general, podemos esperar una ganancia de ciena mil veces en términos de consumo de energía siguiendo nuestro enfoque ", dijo Kuzum.
En el futuro, Kuzum y su equipo planean trabajar con compañías de tecnología de memoria para avanzar este trabajo a las siguientes etapas. Su objetivo final es desarrollar un sistema completo en el que las redes neuronales se puedan entrenar en memoria para realizar tareas más complejas con tareas muy complejaspresupuestos de baja potencia y tiempo.
Fuente de la historia :
Materiales proporcionado por Universidad de California - San Diego . Nota: El contenido puede ser editado por estilo y longitud.
Referencia del diario :
Cita esta página :