lunes, julio 22, 2024

DeepMind acaba de crear un algoritmo de ordenación que es un 70% más rápido que todos los que existían

La revolución de la IA parece estar ahí, pero por ahora estos sistemas no han servido, por ejemplo, para descubrir algún medicamento prodigioso o algún material con propiedades especiales. Las aplicaciones prácticas reales parecían acotadas al ámbito creativo, pero en DeepMind está demostrando una y otra vez que estos sistemas pueden ir más allá.

Heredero de AlphaZero. Los responsables de DeepMind ya habían creado AlphaZero para aprender a jugar al ajedrez desde cero, pero ahora han creado AlphaDev, una versión derivada de este sistema que tenía un objetivo distinto.

Ordenar listas. Precisamente el objetivo de AlphaDev era el de tratar de descubrir la mejor forma de ordenar listas de elementos. Este sistema de IA logró descubrir un método que es un 70% más rápido que los algoritmos que se utilizaban tradicionalmente, algo crucial para muchos ámbitos pero que tuvo impacto inmediato en uno en especial.

Programadores beneficiados. Aunque la noticia de ese descubrimiento se publica ahora en la prestigiosa Nature la técnica para ordenar elementos en una lista llevan meses disponibles. En enero de 2022 DeepMind envió su solución a la organización que gestiona el lenguaje C++, uno de los más populares del mundo, y tras dos meses de análisis riguroso ese algoritmo se incluyó en el lenguaje: era el primer cambio que se hacía en ese apartado en C++ en más de una década.

También mejora el cifrado. DeepMind también añadió nuevos descubrimientos a Abseil, un conjunto de algoritmos de C++ que se usan en criptografía y que permiten trabajar con hashes, los IDs unívocos de cualquier tipo de datos. En DeepMind creen que sus algoritmos se usan “billones de veces al día” y aceleran su procesamiento en un 30%, algo que desde luego representa una mejora notable en este apartado.

Captura De Pantalla 2023 06 08 A Las 10 55 17

El algoritmo creado por AlphaDev permitía ahorrar una instrucción en ensamblador a la hora de ordenar listas de tres elementos. Para las de cinco la ganancia era aún mayor. Fuente: Nature.

Vuelve el lenguaje ensamblador. Para lograr su propósito en DeepMind trabajaron como base con el lenguaje ensamblador, un lenguaje de programación de muy bajo nivel que permite que los algoritmos se desgranen en pequeños pasos que luego son útiles para buscar “atajos” y nuevas soluciones a problemas como las que ha encontrado DeepMind. Como sucedió con AlphaZero y el ajedrez, AlphaDev encontró la solución “jugando millones de partidas” o, en su caso, probando millones de combinaciones de instrucciones en ensamblador para crear incluso una nueva instrucción para su algoritmo.

Menos instrucciones, mejor. Daniel Mankowitz, de DeepMind, explicaba en MIT Technology Review cómo trabajaron con algoritmos para ordenar listas cortas de tres o cinco elementos, muy utilizadas en todo tipo de desarrollos. Su equipo explicaba que la mejor versión humana del algoritmo para listas de tres elementos era de 18 instrucciones en ensamblador. AlphaDev consiguió crear un algoritmo con 17 instrucciones. Para ordenar listas de cinco elementos se precisan 46 instrucciones en el mejor algoritmo humano, y AlphaDev las redujo a 42. No parece tanto, pero la ejecución del algoritmo en un chip Intel Skylake pasaba de ordenar una lista de cinco elementos de 6,91 nanosegundos a 2,01 nanosegundos, un 70% más rápido.

Limitaciones. Aún así, AlphaDev tiene sus límites. El algoritmo más largo que puede escribir es de 130 instrucciones porque cuando trata de combinar más, el número de combinaciones posible es aún mayor que el número de posibles jugadas en ajedrez (10^120) o de átomos en el universo (unos 10^80). Aún así, es posible que veamos nuevos avances en este sentido a medida que en DeepMind trabajen con otros algoritmos o, como apuntaban sus creadores, directamente con lenguajes como C++. Puede que los atajos no sean tan llamativos, pero al ser de más alto nivel podrán aplicarse esas mejoras a otros escenarios.

Imagen | Xataka con Midjourney

En Xataka | AlphaZero tiene la solución para que el ajedrez sea más divertido: prohibidos los enroques

Latest articles

spot_imgspot_img

Related articles

spot_imgspot_img