Neural Magic ha descubierto un truco que permite ejecutar algoritmos de inteligencia artificial en una CPU a la misma velocidad que las unidades de procesamiento gráfico que dominan la industria. El enfoque ahora costes y evita la necesidad de adquirir hardware especializado para el aprendizaje profundo
El descubrimiento que llevó al profesor del MIT (EE. UU.) Nir Shavit a crear una empresa se produjo igual que la mayoría: por accidente. Trabajaba en un proyecto para reconstruir un mapa del cerebro de un ratón y necesitaba ayuda del aprendizaje profundo. Como no sabía programar las tarjetas gráficas o GPU, la opción de hardware más común para estos modelos de inteligencia artificial (IA), optó por utilizar una unidad de procesamiento central, o CPU, el chip de ordenador más genérico que se encuentra en cualquier ordenador portátil.
Shavit recuerda: "Para mi sorpresa me di cuenta de que una CPU puede hacer lo mismo que una GPU, si se programa de una manera adecuada".
Este hallazgo se ha convertido en la base de su start-up, Neural Magic, que acaba de lanzar su primer conjunto de productos. La idea consiste en permitir que cualquier empresa implemente un modelo de aprendizaje profundo sin la necesidad de hardware especializado. No solo reduciría los costes del aprendizaje profundo, sino que también haría que la IA sea más accesible.
"Esto significaría que sería posible usar redes neuronales en muchas más máquinas ya existentes. No harían falta actualizaciones especiales", destaca el científico investigador del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT Neil Thompson, que no está involucrado en Neural Magic.
Las GPU se convirtieron en el hardware elegido para el aprendizaje profundo en gran medida por coincidencia. Estos chips fueron inicialmente diseñados para reproducir de forma rápida los gráficos en aplicaciones como videojuegos. A diferencia de las CPU, que tienen de cuatro a ocho núcleos complejos para realizar una variedad de cálculos, las GPU disponen de cientos de núcleos simples que solo pueden realizar operaciones específicas, pero los núcleos pueden llevar a cabo sus operaciones simultáneamente en vez de una tras otra, lo que reduce el tiempo necesario para completar un cálculo intensivo.
La comunidad de investigación de IA no tardó mucho en darse cuenta de que este gran paralelismo también hace que las GPU sean excelentes para el aprendizaje profundo. Al igual que la representación gráfica, el aprendizaje profundo requiere ejecutar cálculos matemáticos simples cientos de miles de veces. En 2011, en colaboración con el fabricante de chips Nvidia, Google descubrió que un modelo de visión artificial que había entrenado en 2.000 CPU para distinguir a los gatos de las personas podía conseguir el mismo rendimiento cuando se entrenaba en solo 12 GPU. Las GPU se convirtieron en el chip de facto para entrenar los modelos y para la inferencia (el proceso computacional que ocurre cuando se usa un modelo entrenado para las tareas para las que fue entrenado).
Pero las GPU tampoco son perfectas para el aprendizaje profundo. Por un lado, no funcionan como un chip independiente. Como están limitadas por los tipos de operaciones que son capaces de realizar, deben estar conectadas a otras CPU para llevar a cabo todo lo demás. Además, su memoria caché, el área de almacenamiento de datos más cercana a los procesadores de un chip, es muy reducida. Esto significa que la mayor parte de los datos se almacena fuera del chip y se tiene que recuperar en el momento del procesamiento. El flujo de datos de entrada y salida termina siendo un obstáculo para el cómputo, reduciendo la velocidad a la que las GPU ejecutan los algoritmos de aprendizaje profundo.
Foto: La oficina de Neural Magic. Créditos: Neural Magic
En los últimos años, han surgido decenas de empresas de diseño de chips de inteligencia artificial con la idea de evitar estos problemas. Pero resulta que cuanto más especializado sea el hardware, más aumenta su precio.
Neural Magic quiere contrarrestar esta tendencia. En vez de modificar el hardware, la compañía se ha dedicado a hacer cambios en el software. Ha resideñado los algoritmos de aprendizaje profundo para que funcionen de manera más eficiente en una CPU utilizando la gran memoria disponible de los chips y los núcleos complejos. Aunque ese método pierde la velocidad que se consigue con una GPU, la empresa asegura que recupera aproximadamente la misma cantidad de tiempo al eliminar la necesidad de transportar datos dentro y fuera del chip. Los algoritmos se pueden ejecutar en una CPU "a velocidad de GPU", según la empresa, pero a una fracción de su coste. "Parece que han encontrado una manera de aprovechar la memoria de la CPU como nadie había hecho antes", opina Thompson.
Neural Magic cree que existen varias razones por las cuales nadie había caído en este enfoque. Primero, es contraintuitivo. La idea de que el aprendizaje profundo necesita un hardware especializado está tan arraigada que cualquier otro método puede pasar desapercibido fácilmente. En segundo lugar, la aplicación de IA en la industria todavía sigue siendo relativamente nueva, y las empresas apenas han empezado a buscar formas más simples de implementar los algoritmos de aprendizaje profundo. Pero aún no se sabe si la demanda es lo suficientemente amplia para que Neural Magic pueda despegar. La empresa ha realizado pruebas beta de su producto con alrededor de 10 compañías, muy pocas teniendo en cuenta la amplia industria de IA.
"No solo queremos mejorar las redes neuronales sino la computación en general", Neil Thompson.
Neural Magic ya ofrece su técnica para hacer inferencias en las tareas de visión artificial. Los clientes aún deben entrenar sus modelos en hardware especializado, pero luego pueden usar el software de Neural Magic para convertir el modelo entrenado en un formato compatible con CPU. Un cliente, un gran fabricante de equipos de microscopía, está probando este método para añadir capacidades de IA a sus microscopios, explica Shavit. Como los microscopios ya vienen con una CPU integrada, no necesitarán ningún hardware adicional. En cambio, el uso de un modelo de aprendizaje profundo basado en GPU requeriría que el equipo fuera más voluminoso y consumiría más energía.
Otro cliente quiere usar Neural Magic para procesar las grabaciones de sus cámaras de seguridad. Eso le permitiría controlar el acceso y salidas de un edificio utilizando ordenadores ya disponibles in situ; de lo contrario, debería subir las grabaciones a la nube (eso podría suponer algunos problemas de privacidad) o adquirir hardware especial para cada edificio monitoreado.
Shavit subraya que la inferencia es solo el comienzo. Neural Magic planea expandir sus ofertas para ayudar a las empresas a entrenar sus modelos de IA directamente en una CPU. Y afirma: "Creemos que dentro de entre 10 años y 20 años, las CPU serán el tejido real para ejecutar los algoritmos de aprendizaje automático".
Thompson no está tan seguro: "La economía en torno a la producción de chips realmente ha cambiado, y eso conducirá a una mayor especialización". Además, aunque la técnica de Neural Magic obtiene más rendimiento del hardware existente, el progreso fundamental en el hardware seguirá siendo la única forma de seguir avanzando en la informática. Thompson concluye: "Parece una manera muy buena de mejorar el rendimiento de las redes neuronales. Pero nosotros no solo queremos mejorar las redes neuronales sino la computación en general".