abril 20, 2021

El inicio hace posible el aprendizaje profundo sin hardware especializado

Las GPU se han convertido en el hardware elegido para el aprendizaje profundo en gran medida por coincidencia. Los chips fueron diseñados inicialmente para representar rápidamente gráficos en aplicaciones como los videojuegos. A diferencia de las CPU, que tienen de cuatro a ocho núcleos complejos para realizar una variedad de cálculos, las GPU tienen cientos de núcleos simples que solo pueden realizar operaciones específicas, pero los núcleos pueden enfrentar sus operaciones simultáneamente en lugar de uno tras otro, reduciendo el tiempo que lleva completar un cálculo intensivo.

La comunidad de investigación de IA no tardó mucho en darse cuenta de que esta gran paralelización también hace que las GPU sean perfectas para el aprendizaje profundo. Al igual que la representación gráfica, el aprendizaje profundo implica cálculos matemáticos simples realizados 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 se había entrenado en 2,000 CPU para distinguir a los gatos de las personas podría lograr el mismo rendimiento si se entrenaba en solo 12 GPU. Las GPU se han convertido en el chip de facto para la capacitación e inferencia de modelos, el proceso computacional que ocurre cuando se usa un modelo entrenado para las actividades para las cuales fue entrenado.

Pero incluso las GPU no son perfectas para el aprendizaje profundo. Primero, no pueden funcionar como chips independientes. Como están limitados en los tipos de operaciones que pueden realizar, necesitan estar conectados a las CPU para manejar todo lo demás. Las GPU también tienen una cantidad limitada de memoria caché, el área de almacenamiento de la fecha más cercana a los procesadores de un chip. Esto significa que la mayoría de los datos se almacenan fuera del chip y deben recuperarse cuando sea el momento de procesarlos. El flujo de datos de un lado a otro termina siendo un cuello de botella para el cálculo, lo que limita la velocidad con la que las GPU pueden realizar algoritmos de aprendizaje profundo.

La oficina de Neural Magic.
La oficina de Neural Magic.

MAGIA NEURAL

En los últimos años, han surgido docenas de empresas para diseñar chips de inteligencia artificial que eviten estos problemas. El problema es que cuanto más especializado es el hardware, más caro se vuelve.

Así que Neural Magic tiene la intención de revertir esta tendencia. En lugar de jugar con el hardware, la compañía modificó el software. Rediseñó los algoritmos de aprendizaje profundo para que se ejecuten de manera más eficiente en una CPU utilizando la gran memoria disponible de los chips y los núcleos complejos. Si bien el enfoque pierde la velocidad lograda a través de la paralelización de una GPU, se informa que vuelve a ganar en el mismo marco de tiempo, eliminando la necesidad de transferir datos dentro y fuera del chip. Los algoritmos pueden ejecutarse en CPU «a velocidades de GPU», dice la compañía, pero a una fracción del costo. «Parece que lo que hicieron fue idear una forma de explotar la memoria de la CPU de una manera que la gente nunca había hecho antes», dice Thompson.

Neural Magic cree que puede haber algunas razones por las cuales nadie ha adoptado este enfoque anteriormente. En primer lugar, es contraintuitivo. La idea de que el aprendizaje profundo necesita hardware especializado está tan arraigada que otros enfoques pueden pasarse por alto fácilmente. En segundo lugar, la aplicación de IA en la industria todavía es relativamente nueva y las empresas apenas comienzan a buscar formas más simples de implementar algoritmos de aprendizaje profundo. Pero aún no está claro si la solicitud es lo suficientemente profunda como para que Neural Magic despegue. La compañía ha probado beta su producto con alrededor de 10 compañías, solo un fragmento del sector más amplio de inteligencia artificial.

«Queremos mejorar no solo las redes neuronales sino también las computadoras en general».

Neil Thompson

Neural Magic actualmente ofrece su técnica para inferir tareas en visión artificial. Los clientes aún necesitan entrenar sus modelos en hardware especializado, pero luego pueden usar el software Neural Magic para convertir el modelo entrenado en un formato compatible con CPU. Un cliente, un gran fabricante de equipos de microscopía, ahora está probando este enfoque para agregar funcionalidad de inteligencia artificial en el dispositivo a sus microscopios, dice Shavit. Como los microscopios ya están equipados con una CPU, no necesitarán ningún hardware adicional. Por el contrario, el uso de un modelo de aprendizaje profundo basado en GPU requeriría que el equipo sea más voluminoso y requiera más energía.

Otro cliente quiere usar Neural Magic para procesar imágenes de cámaras de seguridad. Esto permitiría monitorear el tráfico que entra y sale de un edificio utilizando computadoras que ya están disponibles en el sitio; de lo contrario, puede ser necesario enviar el metraje a la nube, lo que podría presentar problemas de privacidad o adquirir hardware especial para cada edificio monitoreado.

Shavit dice que inferir también es solo el comienzo. Neural Magic planea expandir sus ofertas en el futuro para ayudar a las empresas entrenar sus modelos de inteligencia artificial también en CPU. «Creemos que en 10 a 20 años, las CPU serán el marco real para ejecutar algoritmos de aprendizaje automático», dice.

Thompson no está tan seguro. «La economía realmente ha cambiado en la producción de chips y esto conducirá a una especialización mucho mayor», dice. Además, si bien la técnica de Neural Magic mejora el rendimiento del hardware existente, los avances fundamentales del hardware seguirán siendo la única forma de continuar realizando el cálculo. «Suena como una excelente manera de mejorar el rendimiento en las redes neuronales», dice. «Pero queremos mejorar no solo las redes neuronales sino también las computadoras en general».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *