Este artículo se publica en colaboración con The Conversation.
Google y Facebook han liberado en código abierto los diseños del hardware informático que impulsa la lógica de inteligencia artificial utilizada en sus productos. Estos algoritmos inteligentes alimentan las funciones de búsqueda y recomendación de Google, el asistente digital Messenger de Facebook, M –y, por supuesto, el uso que ambas empresas hacen de la publicidad dirigida–.
Los servidores informáticos a medida de Facebook, con nombre en clave Big Sur, están repletos de unidades de procesamiento gráfico (GPU), es decir, las tarjetas gráficas que los PC utilizan para jugar a los videojuegos más recientes con gráficos 3D. Lo mismo ocurre con el hardware que impulsa la IA TensorFlow de Google. ¿Por qué la computación de inteligencia artificial se basa en procesadores gráficos en lugar de en los procesadores informáticos convencionales?
En un principio, las GPU se diseñaron como coprocesadores que funcionaban junto con la unidad central de procesamiento (CPU) del ordenador para descargar tareas gráficas computacionalmente exigentes. Renderizar escenas gráficas 3D es lo que se conoce como una tarea trivialmente paralela. Al no existir conexión ni interdependencia entre una zona de la imagen y otra, la tarea puede dividirse fácilmente en subtareas que se procesan de forma concurrente y en paralelo, es decir, al mismo tiempo, por lo que se completa mucho más rápido.
Es este paralelismo el que ha llevado a los fabricantes de GPU a dar a su hardware un uso radicalmente distinto. Optimizándolas para que alcancen el máximo rendimiento computacional solo en tareas masivamente paralelas, las GPU pueden convertirse en procesadores especializados capaces de ejecutar cualquier código paralelizado, no solo tareas gráficas. Las CPU, en cambio, están optimizadas para manejar con mayor velocidad tareas de un solo hilo (no paralelas), porque la mayor parte del software de propósito general sigue siendo de un solo hilo.
A diferencia de las CPU, que tienen uno, dos, cuatro u ocho núcleos de procesamiento, las GPU modernas tienen miles: la NVIDIA Tesla M40 que se utiliza en los servidores de Facebook tiene 3.072 núcleos llamados CUDA , por ejemplo. Sin embargo, este paralelismo masivo tiene un precio: el software debe escribirse específicamente para aprovecharlo, y las GPU son difíciles de programar.
¿Qué hace que las GPU sean adecuadas para la IA?
Una de las razones por las que las GPU se han consolidado como el hardware de supercomputación preferido es que algunos de los problemas computacionales más exigentes se prestan bien a la ejecución en paralelo.
Un ejemplo destacado es el aprendizaje profundo, uno de los avances más punteros en IA. El concepto de red neuronal que sustenta este potente enfoque –grandes redes de nodos muy interconectados– es el mismo que se descartó como un fracaso en la década de 1990. Pero ahora la tecnología nos permite construir redes neuronales mucho más grandes y profundas, y este enfoque logra resultados radicalmente mejores. Estas redes neuronales impulsan el software de reconocimiento de voz, la traducción de idiomas y las funciones de búsqueda semántica que Google, Facebook y muchas aplicaciones utilizan hoy.
Entrenar una red neuronal para que “aprenda” funciona de forma similar a establecer conexiones entre neuronas y reforzar esas conexiones en el cerebro. Computacionalmente, este proceso de aprendizaje puede paralelizarse, por lo que puede acelerarse con hardware GPU. Este aprendizaje automático requiere ejemplos de los que aprender, y esto también se presta a una aceleración sencilla mediante procesamiento en paralelo. Con herramientas de aprendizaje automático de código abierto, como la biblioteca de código Torch y los servidores equipados con GPU, el entrenamiento de redes neuronales puede lograrse muchas veces más rápido en GPU que en los sistemas basados en CPU.
¿Son las GPU el futuro de la computación?
Durante décadas nos hemos acostumbrado a la versión de la ley de Moore , según la cual la potencia de procesamiento de los ordenadores se duplicará aproximadamente cada dos años. Esto se ha logrado principalmente mediante la miniaturización, lo que reduce la generación de calor, lo que permite que las CPU funcionen a mayor velocidad. Sin embargo, este “almuerzo gratis” ha llegado a su fin, ya que los semiconductores se han miniaturizado hasta acercarse a los límites teóricos y elementales del silicio. Ahora, la única vía creíble para alcanzar mayores velocidades es un mayor paralelismo, como demuestra el auge de las CPU multinúcleo en los últimos diez años. Las GPU, sin embargo, parten con ventaja.
Además de la IA, las GPU también se utilizan para simular fluidos y aerodinámica, motores de física y simulaciones cerebrales, por citar solo algunos ejemplos. Algunas de las computadoras más potentes del mundo, como el supercomputador Titan del Laboratorio Nacional de Oak Ridge, son actualmente el segundo supercomputador más rápido del mundo, están construidas con aceleradores GPU de Nvidia, mientras que entre los competidores figura el coprocesador paralelo Phi de Intel, que impulsa Tianhe-2, el supercomputador más rápido del mundo. Sin embargo, no todos los problemas son fácilmente paralelizables, y programar para estos entornos es difícil.
Posiblemente, el futuro de la computación, al menos en lo que respecta a la IA, resida en los ordenadores neuromórficos, aún más radicalmente distintos. El chip de IBM True North es uno de ellos, y otro en desarrollo corre a cargo del proyecto dotado con 1.000 millones de euros, el Human Brain Project. En este modelo, en lugar de simular redes neuronales con una red de muchos procesadores, el chip es la red neuronal: los transistores de silicio individuales del chip forman circuitos que procesan y se comunican mediante señales eléctricas, algo no muy distinto de las neuronas de los cerebros biológicos.
Los defensores de estos sistemas sostienen que ayudarán a escalar por fin nuestras redes neuronales hasta el tamaño y la complejidad del cerebro humano, llevando la IA al punto en que pueda rivalizar con la inteligencia humana. Otros, en particular los investigadores del cerebro, son más cautos: es muy posible que el cerebro humano tenga mucho más que su elevado número y densidad de neuronas.
En cualquier caso, es probable que lo que aprendamos ahora sobre el cerebro llegue a través de los mismos supercomputadores diseñados para imitar su funcionamiento.
La publicación no implica que el Foro Económico Mundial respalde las opiniones expresadas.
Para mantenerse al día de la Agenda suscríbase a nuestro boletín semanal.
Autor: Thomas Nowotny es catedrático de Informática en la Universidad de Sussex.
Imagen: Una ilustración muestra una proyección de código binario sobre un hombre que sostiene un ordenador portátil. REUTERS/Kacper Pempel.

