En respuesta a las crecientes demandas de inteligencia artificial en las redes informáticas, los investigadores de la Universidad de Princeton en los últimos años han aumentado radicalmente la velocidad y reducido drásticamente el uso de energía de los sistemas especializados de IA. Ahora, los investigadores han acercado su innovación a un uso generalizado mediante la creación de hardware y software de diseño conjunto que permitirán a los diseñadores combinar estos nuevos tipos de sistemas en sus aplicaciones.
«El software es una parte fundamental para habilitar nuevo hardware», dijo Naveen Verma, profesor de ingeniería eléctrica e informática en Princeton y líder del equipo de investigación. «La esperanza es que los diseñadores puedan seguir usando el mismo sistema de software y hacer que funcione diez veces más rápido o de manera más eficiente».
Al reducir tanto la demanda de energía como la necesidad de intercambiar datos desde servidores remotos, los sistemas fabricados con la tecnología de Princeton podrán llevar aplicaciones de inteligencia artificial, como software de pilotaje para drones o traductores de idiomas avanzados, al borde mismo de la infraestructura informática.
«Para hacer que la IA sea accesible para el proceso en tiempo real y, a menudo, personal que nos rodea, debemos abordar la latencia y la privacidad moviendo la computación al límite», dijo Verma, quien es el director del Centro Keller de Innovación de la Universidad en Educación en Ingeniería. «Y eso requiere tanto rendimiento como eficiencia energética».
Hace dos años, el equipo de investigación de Princeton fabricó un nuevo chip diseñado para mejorar el rendimiento de las redes neuronales, que son la esencia detrás de la inteligencia artificial actual. El chip, que funcionó decenas a cientos de veces mejor que otros microchips avanzados, marcó un enfoque revolucionario en varias medidas. De hecho, el chip era tan diferente a cualquier cosa que se usara para redes neuronales que supuso un desafío para los desarrolladores.
«El mayor inconveniente del chip es que utiliza una arquitectura muy inusual y disruptiva», dijo Verma en una entrevista de 2018. «Eso debe conciliarse con la enorme cantidad de infraestructura y metodología de diseño que tenemos y usamos hoy».
Durante los dos años siguientes, los investigadores trabajaron para refinar el chip y crear un sistema de software que permitiría a los sistemas de inteligencia artificial aprovechar la velocidad y la eficiencia del nuevo chip. En una presentación en la Conferencia Virtual Internacional de Circuitos de Estado Sólido el 22 de febrero, el autor principal Hongyang Jia, un estudiante graduado en el laboratorio de investigación de Verma, describió cómo el nuevo software permitiría que los nuevos chips funcionaran con diferentes tipos de redes y permitiría que los sistemas sean escalables tanto en hardware como en ejecución de software.
«Es programable en todas estas redes», dijo Verma. «Las redes pueden ser muy grandes y pueden ser muy pequeñas».
El equipo de Verma desarrolló el nuevo chip en respuesta a la creciente demanda de inteligencia artificial y a la carga que la IA impone a las redes informáticas. La inteligencia artificial, que permite que las máquinas imiten funciones cognitivas como el aprendizaje y el juicio, juega un papel fundamental en las nuevas tecnologías como el reconocimiento de imágenes, la traducción y los vehículos autónomos. Idealmente, el cálculo de tecnologías como la navegación con drones se basaría en el propio dron, en lugar de en una computadora de red remota. Pero la demanda de energía de los microchips digitales y la necesidad de almacenamiento de memoria pueden dificultar el diseño de un sistema de este tipo. Normalmente, la solución coloca gran parte de los cálculos y la memoria en un servidor remoto, que se comunica de forma inalámbrica con el dron. Pero esto se suma a las demandas del sistema de comunicaciones e introduce problemas de seguridad y retrasos en el envío de instrucciones al dron.
Para abordar el problema, los investigadores de Princeton repensaron la informática de varias formas. Primero, diseñaron un chip que realiza cálculos y almacena datos en el mismo lugar. Esta técnica, llamada computación en memoria, reduce drásticamente la energía y el tiempo utilizados para intercambiar información con memoria dedicada. La técnica aumenta la eficiencia, pero presenta nuevos problemas: debido a que agrupa las dos funciones en un área pequeña, la computación en memoria se basa en la operación analógica, que es sensible a la corrupción de fuentes como fluctuaciones de voltaje y picos de temperatura. Para resolver este problema, el equipo de Princeton diseñó sus chips utilizando condensadores en lugar de transistores. Los condensadores, dispositivos que almacenan una carga eléctrica, se pueden fabricar con mayor precisión y no se ven muy afectados por los cambios de voltaje. Los condensadores también pueden ser muy pequeños y colocarse encima de las celdas de memoria, lo que aumenta la densidad de procesamiento y reduce las necesidades de energía.
Pero incluso después de fortalecer el funcionamiento analógico, quedaban muchos desafíos. El núcleo analógico necesitaba integrarse de manera eficiente en una arquitectura mayoritariamente digital, de modo que pudiera combinarse con las otras funciones y software necesarios para que los sistemas prácticos realmente funcionen. Un sistema digital utiliza interruptores de encendido y apagado para representar unos y ceros que los ingenieros informáticos utilizan para escribir los algoritmos que componen la programación informática. Una computadora analógica adopta un enfoque completamente diferente. En un artículo del IEEE Spectrum, el profesor Yannis Tsividis de la Universidad de Columbia describió una computadora analógica como un sistema físico diseñado para regirse por ecuaciones idénticas a las que el programador quiere resolver. Un ábaco, por ejemplo, es una computadora analógica muy simple. Tsividis dice que un balde y una manguera pueden servir como una computadora analógica para ciertos problemas de cálculo: para resolver una función de integración, podrías hacer los cálculos o simplemente medir el agua en el balde.
La computación analógica fue la tecnología dominante durante la Segunda Guerra Mundial. Se utilizó para realizar funciones desde predecir mareas hasta dirigir cañones navales. Pero los sistemas analógicos eran engorrosos de construir y generalmente requerían operadores altamente capacitados. Después de la emergencia del transistor, los sistemas digitales demostraron ser más eficientes y adaptables. Pero las nuevas tecnologías y los nuevos diseños de circuitos han permitido a los ingenieros eliminar muchas deficiencias de los sistemas analógicos. Para aplicaciones como las redes neuronales, los sistemas analógicos ofrecen ventajas reales. Ahora, la pregunta es cómo combinar lo mejor de ambos mundos. Verma señala que los dos tipos de sistemas son complementarios. Los sistemas digitales juegan un papel central, mientras que las redes neuronales que utilizan chips analógicos pueden ejecutar operaciones especializadas de manera extremadamente rápida y eficiente. Es por eso que desarrollar un sistema de software que pueda integrar las dos tecnologías de manera transparente y eficiente es un paso tan crítico.
«La idea no es poner toda la red en computación en memoria», dijo. «Necesita integrar la capacidad para hacer todas las demás cosas y hacerlo de una manera programable».