MuZero, AlphaZero y AlphaDev: optimización de sistemas informáticos

Como parte de nuestro objetivo de construir sistemas de inteligencia artificial (IA) cada vez más capaces y generales, estamos trabajando para crear herramientas de IA con una comprensión más amplia del mundo. Esto puede permitir que se transfiera conocimiento útil entre muchos tipos diferentes de tareas.

Gracias al aprendizaje por refuerzo, nuestros sistemas de IA AlphaZero y MuZero han logrado un rendimiento sobrehumano en los videojuegos. Desde entonces, hemos ampliado sus capacidades para ayudar a diseñar mejores chips informáticos, además de optimizar los centros de datos y la compresión de vídeo. Y nuestra versión especializada de AlphaZero, llamada AlphaDev, también ha descubierto nuevos algoritmos para acelerar el software en los cimientos de nuestra sociedad digital.

Los primeros resultados han demostrado el potencial transformador de las herramientas de IA de uso más general. Aquí explicamos cómo estos avances están dando forma al futuro de la informática y ya están ayudando a miles de millones de personas y al planeta.

Diseñando mejores chips de computadora

El hardware especializado es esencial para garantizar que los sistemas de IA actuales sean eficientes en el uso de recursos para los usuarios a gran escala, pero diseñar y producir nuevos chips de computadora puede llevar años de trabajo.

Nuestros investigadores han desarrollado un enfoque basado en inteligencia artificial para diseñar circuitos más potentes y eficientes. Al tratar un circuito como una red neuronal, encontramos una forma de acelerar el diseño de chips y llevar el rendimiento a nuevas cotas.

Las redes neuronales suelen estar diseñadas para recibir las entradas del usuario y generar resultados, como imágenes, texto o vídeo. Dentro de la red neuronal, los bordes se conectan a los nodos en una estructura similar a un gráfico.

Para crear un diseño de circuito, nuestro equipo propuso “redes neuronales de circuitos”, un nuevo tipo de red neuronal que convierte los bordes en cables y los nodos en puertas lógicas, y aprende cómo conectarlos entre sí.

Ilustración animada de una red neuronal de circuitos que aprende un diseño de circuito. Determina qué bordes (cables) se conectan a qué nodos (puertas lógicas) para mejorar el diseño general del circuito.

Optimizamos el circuito aprendido en términos de velocidad computacional, eficiencia energética y tamaño, manteniendo al mismo tiempo su funcionalidad. Mediante el “recocido simulado”, una técnica de búsqueda clásica que mira un paso hacia el futuro, también probamos diferentes opciones para encontrar su configuración óptima.

Con esta técnica ganamos el Concurso de programación IWLS 2023 — con la mejor solución en el 82% de los problemas de diseño de circuitos en la competencia.

Nuestro equipo también utilizó AlphaZero, que puede mirar muchos pasos hacia el futuro, para mejorar el diseño del circuito al tratar el desafío como un juego a resolver.

Hasta ahora, nuestra investigación que combina redes neuronales de circuitos con la función de recompensa del aprendizaje de refuerzo ha mostrado resultados muy prometedores para construir chips de computadora aún más avanzados.

Optimización de los recursos del centro de datos

Los centros de datos gestionan todo, desde la entrega de resultados de búsqueda hasta el procesamiento de conjuntos de datos. Como un juego de Tetris multidimensional, un sistema llamado Borg administra y optimiza las cargas de trabajo dentro de los grandes centros de datos de Google.

Para programar tareas, Borg se basa en reglas codificadas manualmente. Sin embargo, a la escala de Google, las reglas codificadas manualmente no pueden cubrir la variedad de distribuciones de carga de trabajo en constante cambio. Por eso, están diseñadas de manera que se adapten mejor a todos.

Aquí es donde las tecnologías de aprendizaje automático como AlphaZero son especialmente útiles: pueden trabajar a escala, creando automáticamente reglas individuales que se adaptan de forma óptima a las distintas distribuciones de carga de trabajo.

Durante su capacitación, AlphaZero aprendió a reconocer patrones en las tareas que ingresan a los centros de datos y también aprendió a predecir las mejores formas de administrar la capacidad y tomar decisiones con los mejores resultados a largo plazo.

Cuando aplicamos AlphaZero a Borg en pruebas experimentales, descubrimos que podíamos reducir la proporción de hardware subutilizado en el centro de datos hasta en un 19%.

Una visualización animada de un almacenamiento de datos ordenado y optimizado, versus un almacenamiento desordenado y no optimizado.

Comprimir vídeo de forma eficaz

La transmisión de video representa la mayor parte del tráfico de Internet, por lo que encontrar formas de hacer que la transmisión sea más eficiente, por grandes o pequeñas que sean, tendrá un gran impacto en los millones de personas que miran videos todos los días.

Trabajamos con YouTube para comprimir y transmitir videos utilizando las capacidades de resolución de problemas de MuZero. Al reducir la tasa de bits en un 4%, MuZero mejoró la experiencia general de YouTube — sin comprometer la calidad visual.

Inicialmente, aplicamos MuZero para optimizar la compresión de cada fotograma de video individual. Ahora, ampliamos este trabajo para ayudar a tomar decisiones sobre cómo se agrupan y se hace referencia a los fotogramas durante la codificación, lo que genera un mayor ahorro en la tasa de bits.

Los resultados de estos dos primeros pasos muestran una gran promesa del potencial de MuZero para convertirse en una herramienta más generalizada, ayudando a encontrar soluciones óptimas en todo el proceso de compresión de video.

Una visualización que demuestra cómo MuZero comprime los archivos de vídeo. Define grupos de imágenes con similitudes visuales para la compresión. Se comprime un único fotograma clave. MuZero comprime luego otros fotogramas, utilizando el fotograma clave como referencia. El proceso se repite para el resto del vídeo, hasta que se completa la compresión.

Descubriendo algoritmos más rápidos

Desarrollo Alfauna versión de AlphaZero, hizo un gran avance en la ciencia informática cuando descubrió algoritmos de clasificación y hash más rápidos. Estos procesos fundamentales se utilizan billones de veces al día para clasificar, almacenar y recuperar datos.

Algoritmos de ordenamiento de AlphaDev

Los algoritmos de clasificación ayudan a los dispositivos digitales a procesar y mostrar información, desde la clasificación de resultados de búsqueda en línea y publicaciones sociales hasta recomendaciones de usuarios.

AlphaDev descubrió un algoritmo que aumenta la eficiencia para ordenar secuencias cortas de elementos en un 70 % y en un 1,7 % aproximadamente para secuencias que contienen más de 250 000 elementos, en comparación con los algoritmos de la biblioteca C++. Esto significa que los resultados generados a partir de consultas de los usuarios se pueden ordenar mucho más rápido. Cuando se utiliza a gran escala, esto ahorra enormes cantidades de tiempo y energía.

Algoritmos hash de AlphaDev

Los algoritmos de hash se utilizan a menudo para el almacenamiento y la recuperación de datos, como en una base de datos de clientes. Normalmente utilizan una clave (por ejemplo, el nombre de usuario “Jane Doe”) para generar un hash único, que corresponde a los valores de los datos que se deben recuperar (por ejemplo, “número de pedido 164335-87”).

Al igual que un bibliotecario que utiliza un sistema de clasificación para encontrar rápidamente un libro específico, con un sistema de hash, la computadora ya sabe qué está buscando y dónde encontrarlo. Cuando se aplicó al rango de 9 a 16 bytes de funciones de hash en los centros de datos, el algoritmo de AlphaDev mejoró la eficiencia en un 30%.

El impacto de estos algoritmos

Agregamos los algoritmos de clasificación a la Biblioteca C++ estándar LLVM — reemplazando subrutinas que se han usado por más de una década. Y contribuyó con los algoritmos de hash de AlphaDev. biblioteca de rappel.

Desde entonces, millones de desarrolladores y empresas han comenzado a utilizarlos en industrias tan diversas como la computación en la nube, las compras en línea y la gestión de la cadena de suministro.

Herramientas de uso general para impulsar nuestro futuro digital

Nuestras herramientas de IA ya están ahorrando tiempo y energía a miles de millones de personas. Esto es solo el comienzo. Imaginamos un futuro en el que las herramientas de IA de uso general puedan ayudar a optimizar el ecosistema informático global.

Aún no hemos llegado a ese punto: aún necesitamos una infraestructura digital más rápida, más eficiente y sostenible.

Se necesitan muchos más avances teóricos y tecnológicos para crear herramientas de IA totalmente generalizadas, pero el potencial de estas herramientas (en el ámbito de la tecnología, la ciencia y la medicina) nos entusiasma por lo que está por venir.