El chip de matriz de memristor se conecta al chip de computadora personalizado, formando la primera computadora memristor programable. El equipo demostró que podía ejecutar tres tipos estándar de algoritmos de aprendizaje automático. Crédito:Robert Coelius, Ingeniería de Michigan
La primera computadora de memristor programable, no solo una matriz de memristor operada a través de una computadora externa, ha sido desarrollada en la Universidad de Michigan.
Podría conducir al procesamiento de inteligencia artificial directamente en pequeños, dispositivos con limitaciones de energía, como teléfonos inteligentes y sensores. Un procesador de inteligencia artificial para teléfonos inteligentes significaría que los comandos de voz ya no tendrían que enviarse a la nube para su interpretación, acelerando el tiempo de respuesta.
"Todo el mundo quiere poner un procesador de inteligencia artificial en los teléfonos inteligentes, pero no desea que la batería de su teléfono celular se agote muy rápidamente, "dijo Wei Lu, Profesor de ingeniería eléctrica e informática de la UM y autor principal del estudio en Electrónica de la naturaleza .
En dispositivos médicos, la capacidad de ejecutar algoritmos de inteligencia artificial sin la nube permitiría una mejor seguridad y privacidad.
Por qué los memristores son buenos para el aprendizaje automático
La clave para hacer esto posible podría ser un componente informático avanzado llamado memristor. Este elemento de circuito, una resistencia eléctrica con memoria, tiene una resistencia variable que puede servir como forma de almacenamiento de información. Debido a que los memristores almacenan y procesan información en la misma ubicación, pueden sortear el cuello de botella más grande para la velocidad y la potencia de la computación:la conexión entre la memoria y el procesador.
Esto es especialmente importante para los algoritmos de aprendizaje automático que manejan una gran cantidad de datos para hacer cosas como identificar objetos en fotos y videos, o predecir qué pacientes del hospital tienen un mayor riesgo de infección. Ya, Los programadores prefieren ejecutar estos algoritmos en unidades de procesamiento gráfico en lugar del procesador principal de una computadora, la unidad central de procesamiento.
"Se considera que las GPU y los circuitos digitales muy personalizados y optimizados son entre 10 y 100 veces mejores que las CPU en términos de potencia y rendimiento". Dijo Lu. "Los procesadores Memristor AI podrían ser entre 10 y 100 veces mejores".
Las GPU funcionan mejor en las tareas de aprendizaje automático porque tienen miles de núcleos pequeños para ejecutar cálculos a la vez, a diferencia de la cadena de cálculos que esperan su turno en uno de los pocos núcleos potentes de una CPU.
Una matriz de memristor lleva esto aún más lejos. Cada memristor puede hacer su propio cálculo, permitiendo que miles de operaciones dentro de un núcleo se realicen a la vez. En esta computadora a escala experimental, había más de 5, 800 memristores. Un diseño comercial podría incluir millones de ellos.
Wei Lu está con el primer autor Seung Hwan Lee, un estudiante de doctorado en ingeniería eléctrica, que sostiene la matriz de memristor. Crédito:Robert Coelius, Ingeniería de Michigan
Las matrices de memristor son especialmente adecuadas para problemas de aprendizaje automático. La razón de esto es la forma en que los algoritmos de aprendizaje automático convierten los datos en vectores, esencialmente, listas de puntos de datos. Al predecir el riesgo de infección de un paciente en un hospital, por ejemplo, este vector puede enumerar representaciones numéricas de los factores de riesgo de un paciente.
Luego, Los algoritmos de aprendizaje automático comparan estos vectores de "entrada" con los vectores de "características" almacenados en la memoria. Estos vectores de características representan ciertos rasgos de los datos (como la presencia de una enfermedad subyacente). Si coincide, el sistema sabe que los datos de entrada tienen ese rasgo. Los vectores se almacenan en matrices, que son como las hojas de cálculo de las matemáticas, y estas matrices se pueden mapear directamente en las matrices de memristor.
Y lo que es más, a medida que los datos se alimentan a través de la matriz, la mayor parte del procesamiento matemático ocurre a través de las resistencias naturales en los memristores, eliminando la necesidad de mover vectores de características dentro y fuera de la memoria para realizar los cálculos. Esto hace que las matrices sean muy eficientes en cálculos matriciales complicados. Estudios anteriores demostraron el potencial de las matrices de memristor para acelerar el aprendizaje automático, pero necesitaban elementos informáticos externos para funcionar.
Construyendo una computadora memristor programable
Para construir la primera computadora memristor programable, El equipo de Lu trabajó con el profesor asociado Zhengya Zhang y el profesor Michael Flynn, tanto de ingeniería eléctrica como informática en la U-M, para diseñar un chip que pudiera integrar la matriz de memristor con todos los demás elementos necesarios para programarlo y ejecutarlo. Esos componentes incluían un procesador digital convencional y canales de comunicación, así como convertidores digitales / analógicos para servir como intérpretes entre el arreglo de memristor analógico y el resto de la computadora.
Luego, el equipo de Lu integró la matriz de memristor directamente en el chip en la instalación de nanofabricación Lurie de U-M. También desarrollaron software para mapear algoritmos de aprendizaje automático en la estructura matricial de la matriz de memristor.
El equipo demostró el dispositivo con tres algoritmos básicos de aprendizaje automático:
Hay desafíos en la ampliación para uso comercial:los memristores aún no pueden fabricarse tan idénticos como deben ser y la información almacenada en la matriz no es del todo confiable porque se ejecuta en el continuo analógico en lugar de en el digital. Estas son las direcciones futuras del grupo de Lu.
Lu planea comercializar esta tecnología. El estudio se titula, "Un sistema memristor-CMOS reprogramable completamente integrado para operaciones eficientes de acumulación y multiplicación".