La multiplicación de matrices es una parte fundamental de la informática y un campo de las matemáticas simple de hacer pero notoriamente difícil de optimizar. La mayoría de las unidades de procesamiento, especialmente las GPUs y las construidas para el aprendizaje automático, tratan la multiplicación de matrices eficiente como una de sus prioridades más altas.
Hoy, DeepMind ha presentado un nuevo modelo de aprendizaje automático llamado AlphaTensor, una extensión de su icónico modelo AlphaZero, para buscar nuevos algoritmos de multiplicación de matrices optimizados tratándolo como un juego de aprendizaje por refuerzo. Aunque el aprendizaje automático se ha utilizado en el pasado para encontrar nuevos algoritmos de multiplicación de matrices, DeepMind está alcanzando nuevos niveles de eficiencia y velocidad.
En busca de algoritmos de multiplicación de matrices óptimos.
El algoritmo estándar para multiplicar matrices 2×2 consiste en 8 pasos de multiplicación y se consideraba completamente óptimo hasta que se descubrió un nuevo algoritmo que utiliza solo 7 pasos de multiplicación en 2014. El nuevo algoritmo incluyó muchos más pasos de adición y sustracción, pero para las computadoras, estos son insignificantes en comparación con el paso de multiplicación ahorrado.


El número de operaciones posibles se expande exponencialmente a medida que crecen los tamaños de las matrices, lo que hace que sea prácticamente imposible para los humanos buscar optimizaciones, e incluso para las computadoras que las buscan de manera lineal. Ahí es donde entra AlphaTensor: al tratar la búsqueda de nuevos algoritmos de multiplicación de matrices como un juego, DeepMind ha podido producir muchos nuevos y más eficientes algoritmos para la multiplicación de matrices que aún no se han descubierto.
La búsqueda de algoritmos como un juego
Debido a que AlphaZero fue diseñado para jugar juegos como el ajedrez, go y shogi, su cerebro está cableado para resolver estados de juego profundamente complejos, con el go, por ejemplo, teniendo significativamente más estados de juego posibles que el número de átomos en el universo observable. Y para hacer las cosas aún más impresionantes, el complejo juego de optimización de algoritmos de multiplicación de matrices de AlphaTensor tiene estados de juego magnitudes más altos que eso, dependiendo del tamaño de las matrices en cuestión.


El objetivo de AlphaTensor es encontrar algoritmos eficientes, y lo hace aprendiendo cómo funciona la multiplicación de matrices, mejorando con el tiempo hasta que comienza a descubrir nuestras mejoras hechas por humanos, y luego va más allá. Un ejemplo destacado fue la multiplicación de matrices de 4×5 y 5×5, donde el algoritmo estándar toma 100 multiplicaciones, la mejora derivada por humanos toma 80 multiplicaciones y el algoritmo descubierto por AlphaTensor lo reduce a 76 multiplicaciones. DeepMind también adaptó AlphaTensor para encontrar algoritmos que sean más rápidos en hardware específico, como el hardware de NVIDIA y Google, construido para el cálculo de aprendizaje automático. AlphaTensor muestra cómo el aprendizaje automático puede ser utilizado para superar la intuición humana cuando se trata de descubrir cosas como algoritmos matemáticos. Una investigación adicional sobre la aplicación del aprendizaje automático en estas áreas podría llevar a avances en la eficiencia de cálculo.