Inteligencia Artificial
Medio siglo después, esta IA de DeepMind acaba de batir un récord de informática
La nueva versión de AlphaZero ha descubierto una forma más rápida de realizar la multiplicación de matrices, un tipo de cálculo esencial para diversas aplicaciones, desde mostrar imágenes en pantalla hasta la simulación de la física compleja
DeepMind ha utilizado su modelo de inteligencia artificial (IA) de juegos de mesa AlphaZero para descubrir una forma más rápida de resolver un problema matemático fundamental en informática. El avance ha batido un récord que se había mantenido intacto durante más de 50 años.
El problema en cuestión, la multiplicación de matrices, es un tipo de cálculo crucial para muchas aplicaciones diferentes, desde mostrar imágenes en una pantalla hasta simulación de la física compleja. También es esencial para el propio 'machine learning'. Acelerar este cálculo podría tener un gran impacto en miles de tareas computacionales cotidianas para reducir costes y ahorrar energía.
"Se trata de un resultado realmente sorprendente", opina el matemático de la Universidad de Nagoya en Japón François Le Gall que no participó en este trabajo. "La multiplicación de matrices se usa en todas partes en la ingeniería. Para cualquier cosa que se quiera resolver numéricamente, se suelen usar las matrices", explica.
A pesar de la omnipresencia de estos cálculos, todavía no se entienden muy bien. Una matriz es simplemente una cuadrícula de números, que representa cualquier cosa que queramos. Multiplicar dos matrices normalmente implica multiplicar las filas de una cuadrícula con las columnas de la otra. La técnica básica para resolver este problema se enseña en la escuela secundaria. "Es como el ABC de la computación", asegura el jefe del equipo AI for Science de DeepMind, Pushmeet Kohli.
Sin embargo, las cosas se complican cuando se intenta encontrar un método más rápido. "Nadie conoce el mejor algoritmo para resolverlo", resalta Le Gall, quien afirma que "se trata uno de los mayores problemas abiertos en la informática".
Esto se debe a que hay más formas de multiplicar dos matrices que átomos en el universo (10 elevado a 33, en algunos de los casos que analizaron los investigadores). "La cantidad de posibles acciones es casi infinita", según el ingeniero de DeepMind Thomas Hubert.
El truco fue convertir este problema en una especie de juego de mesa tridimensional, denominado TensorGame. El tablero representa el problema de multiplicación a resolver, y cada movimiento sería el siguiente paso en la resolución de ese problema. La serie de movimientos realizados en el juego representa un algoritmo.
Los investigadores entrenaron una nueva versión de AlphaZero, llamada AlphaTensor, para jugar a este juego. En vez de aprender la mejor serie de movimientos en Go o en ajedrez, AlphaTensor aprendió la mejor serie de pasos para multiplicar matrices. Ganaba el juego si lo hacía en el menor número de movimientos posible.
"Lo transformamos todo en un juego, que es nuestro tipo de formato favorito", afirma Hubert, quien fue uno de los investigadores principales de AlphaZero.
Los investigadores han descrito su trabajo en un artículo publicado recientemente en la revista Nature. El resultado principal es que AlphaTensor descubrió una forma de multiplicar dos matrices de cuatro por cuatro que es más rápida que el método ideado en 1969 por el matemático alemán Volker Strassen y que nadie había podido mejorar desde entonces. El método básico de la escuela secundaria consta de 64 pasos; el Strassen de 49. AlphaTensor encontró una manera de hacerlo en 47 pasos.
En total, AlphaTensor superó a los mejores algoritmos existentes para más de 70 tamaños diferentes de matriz. Redujo el número de pasos necesarios para multiplicar dos matrices de nueve por nueve de 511 a 498, y el número de pasos para multiplicar dos matrices de 11 por 11 lo bajó de 919 a 896. En muchos otros casos, AlphaTensor se ha igualado con el mejor algoritmo existente.
Los investigadores se sorprendieron por la cantidad de diferentes algoritmos correctos que encontró AlphaTensor para cada tamaño de matriz. "Es alucinante ver que existen al menos 14.000 formas de multiplicar las matrices de cuatro por cuatro", señala el científico investigador de DeepMind Hussein Fawzi.
Después de buscar los algoritmos más rápidos en la teoría, el equipo de DeepMind quería saber cuáles serían rápidos en la práctica. Diferentes algoritmos pueden funcionar mejor en distinto hardware porque los chips de ordenador a menudo están diseñados para algún tipo específico de cómputo. El equipo de DeepMind utilizó AlphaTensor para buscar los algoritmos adaptados a los procesadores GPU Nvidia V100 y TPU de Google, dos de los chips más comunes utilizados para entrenar las redes neuronales. Los algoritmos que encontraron fueron entre un 10% y un 20% más rápidos en la multiplicación de matrices que los que se usan normalmente con esos chips.
La científica informática del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT Virginia Williams está entusiasmada con los resultados y señala que durante algún tiempo ya se han utilizado distintos enfoques computacionales para encontrar nuevos algoritmos para la multiplicación de matrices, y muchos de los algoritmos más rápidos existentes se diseñaron de esta manera. No obstante, ninguno pudo mejorar los resultados como los de Strassen de hace tanto tiempo.
"Este nuevo método hace algo completamente diferente de lo que hacían los demás. Sería bueno averiguar si este nuevo método en realidad incluye todos los anteriores, o si se pueden combinar y así conseguir algo aún mejor", indica Williams.
DeepMind planea usar AlphaTensor para buscar otros tipos de algoritmos. "Es una nueva forma de hacer informática", concluye Kohli.