IBM premió a investigadores en computación de la UNC

La distinción es un reconocimiento a la capacidad de los científicos locales. Consiste en un aporte económico que será destinado a la adquisición de equipo, el financiamiento de becas y la materialización de un proyecto colaborativo anual con expertos del IBM Watson Research Center, de Estados Unidos, sobre aprendizaje profundo y redes neuronales artificiales. [04.08.2016]

IBM, la emblemática multinacional del mundo informático, premió al Grupo de Investigación en Unidades de Procesamiento Gráfico con Propósitos Generales (GPGPU Computing) de la UNC, con el “IBM Faculty Awards”. El reconocimiento es parte de un programa de alcance mundial que apunta a fomentar la colaboración entre científicos de universidades líderes y desarrolladores de IBM. En ediciones anteriores fue otorgado a especialistas de reconocidas casas de altos estudios, como la de Turín, Michigan, Cornell, Columbia, MIT y Pekín, entre otras.

Radicado en la Facultad de Matemática, Astronomía, Física y Computación, el equipo interdisciplinario trabaja en el campo de la computación de alto desempeño. Sus miembros se especializan en el uso de tarjetas gráficas (GPU) para la realización de simulaciones numéricas y cálculos científicos de gran envergadura.

Las GPU son muy similares al hardware que en las consolas hogareñas de videojuegos se encarga de generar, en tiempo real, imágenes y animaciones con niveles de detalles inusitados hasta hace algunos años. Su gran potencial radica en su capacidad para realizar un volumen gigantesco de operaciones matemáticas independientes en paralelo y arrojar los resultados en simultáneo.

El premio consiste en 40 mil dólares, que además de la compra de equipamiento y el financiamiento de becas, permitirá llevar adelante el proyecto colaborativo “Aplicaciones de Aprendizaje Profundo Resilientes a Gran Escala en Procesadores POWER”, con el Grupo Reliability and Power-aware Microarchitectures del IBM Watson Research Center, donde se desempeña el argentino Augusto Vega.

Un horizonte de redes neuronales

El “aprendizaje profundo” es una de las áreas más promisorias en el campo de la computación. Parte de una idea muy simple: el sistema puede ser “entrenado”, a partir de ejemplos, para que pueda resolver satisfactoriamente nuevos problemas que se le vayan planteando en el futuro.

Y eso se logra con redes neuronales artificiales, esto es, programas informáticos diseñados de tal manera que conectan entre sí a un sinnúmero de pequeñas unidades de cálculo y de esa manera incrementan su capacidad de manera exponencial.

Es lo que posibilita, por ejemplo, que una persona suba a un sitio web una imagen en escala de grises y un algoritmo la coloree automáticamente con tal precisión que, en ciertos casos, resulta difícil discernir cuál es la original. Se puede probar aquí: http://demos.algorithmia.com/colorize-photos. Y es, también, lo que utilizan servicios como Google, Baidu, Facebook y Microsoft, entre otros.

La clave en este tipo de aplicaciones radica en el entrenamiento de la red neuronal artificial. Carlos Bederián, integrante del GPGPU Computing, explica que todo parte de una interpretación muy básica, según la cual la neurona tiene muchas entradas de información y una salida. De alguna manera sopesa cada dato ingresado y arroja un resultado.

“Si uno las agrupa y agrega un mecanismo de retroalimentación que le diga al sistema: ‘con estas entradas, el resultado está bien, pero con estas otras está mal’, y la neurona ajusta de alguna manera el peso que tiene cada entrada en función de estas indicaciones, entonces le estás enseñando para que te arroje los resultados que te gustan. La estás ‘entrenando’, sintetiza el investigador.

¿Cómo funciona? La idea indicarle a la red neuronal esto es un gatito, eso no es un gatito, aquello es un gatito, y luego mostrarle la imagen para que pueda reconocer si lo que está en la foto es o no un gatito. En estos sistemas la forma de trabajar es la misma en todos los casos, lo que varía es si se los entrena para que detecte caras, audios donde se mencionen amenazas de bomba, etcétera.

Si bien este campo no había generado mucha tracción hasta hace tres o cuatro años, actualmente concentra las miradas de investigadores de todo el mundo. “Es un área que no solo está caliente, sino que quema actualmente. En Youtube, alguien entrenó una red neuronal para que a partir del movimiento en el video reconstruyera el sonido que eso producía. Podrías sonorizar una película muda automáticamente”, ejemplifica Nicolás Wolovick, otro de los integrantes del GPGPU Computing.

“Las redes neuronales tienen esto de que son mágicas. Nadie entiende muy bien cómo aprenden. No se sabe cómo funcionan; pero si las entrenás con la suficiente cantidad de datos, dan resultados bastante buenos para ser automáticos”, apunta Bederián.

La contracara de estos sistemas es que su entrenamiento es caro porque demanda mucho tiempo. Por esa razón se lo plantea como un problema de computación de alto desempeño, donde las tarjetas gráficas pueden desempeñar un rol muy importante, por su velocidad para arrojar resultados en paralelo y porque su lenguaje de programación (llamado CUDA) permite abordar óptimamente este tipo de problemas en particular.

Lo cierto es que el aprendizaje profundo tiene un impacto comercial inconmensurable, porque sus aplicaciones son infinitas. El único freno que tiene en la actualidad es que el entrenamiento es costoso, pero una vez resuelto, el software puede ejecutarse en una computadora pequeña. “La clave es usar una supercomputadora para entrenar la red y luego una común y corriente para hacerla funcionar”, sintetiza Wolovick.

Entre los principales miembros del grupo GPGPU Computing se destacan Oscar Reula, profesor titular en FaMAF e investigador de  Conicet; Nicolás Wolovick, profesor adjunto en FaMAF; y Carlos Bederián, profesional de Conicet y docente en FaMAF. Su trabajo es posible gracias a la existencia del Centro de Computación de Alto Desempeño de la Universidad Nacional de Córdoba.