Hoy os traigo un vídeo muy interesante y muy importante de la mano de Google, que últimamente nos tiene bastante contentos con modelos muy competentes, con tecnología muy interesante y con investigaciones punteras como la que vamos a ver hoy, porque vamos a hablar de Alpha Evolve, el nuevo sistema de inteligencia artificial que han publicado recientemente esta misma semana, capaz de optimizar código de programación de forma automática para la búsqueda de nuevos algoritmos capaces de dar solución a múltiples problemas. de naturaleza diferente. Y digo problemas muy diferentes porque este sistema se ha podido aplicar de forma efectiva tanto a la optimización de los centros de computación de Google como al entrenamiento de Yemini como a problemas matemáticos de los cuales este sistema ha encontrado soluciones nuevas.
Es decir, estamos hablando de la automatización del descubrimiento científico, algo que si no te está haciendo sentir pues la importancia y la trascendencia de este tipo de sistemas y descubrimientos, pues espero que al menos lo sientas al final de este vídeo cuando te lo explique más en profundidad. Vamos a ello. Fijaos, tal cual lo titula Google, Alpha Evolve es un agente de codificación de programación que está impulsado por su modelo Gemini para diseñar algoritmos avanzados.
Y ya este titular nota una pista de lo relevante de este trabajo y es que los modelos de lenguaje pues ya sabéis que son muy competentes a la hora de hacerte código de programación. Muchos lo utilizamos. Justo esta semana hemos publicado un tutorial en este canal explicando cómo aprender a programar con una de estas herramientas con Winsurf.
Sabemos que son modelos pues competentes y que con cada nueva iteración van mejorando incluso en sus capacidades de programación. Pero al mismo tiempo sabemos que estos modelos pues no son perfectos, de hecho son notoriamente imperfectos, con alucinaciones, con fallos y donde si tú no eres un experto programador, pues vas a tener dificultades a la hora de guiar al modelo sin que cometa ningún tipo de error. Y por eso es muy interesante que Google ahora nos diga que han encontrado un agente de programación que en este caso es capaz de diseñar algoritmos avanzados, algoritmos que en muchos casos incluso van a mover la frontera del conocimiento encontrando soluciones eh a través de la programación que no se han descubierto previamente, ¿no?
¿Qué salto en capacidades, qué tipo de sistema han diseñado para conseguir extraer todo este rendimiento de modelos que todos utilizamos como son los modelos Gemini? Pues fijaos, a muy alto nivel el sistema que han diseñado es este de aquí, que lo que hace es combinar pues muchas técnicas que ya eran conocidas de otras investigaciones, de otros papers, de otras librerías incluso y lo han combinado para generar pues un agente de programación que de forma automática para un problema dado pueda ir generando código de programación que poco a poco se vaya acercando a la solución óptima o la mejor solución que que pueda encontrar. Podemos pensarlo como un agente autónomo que está actuando en el rol de un investigador, de un ingeniero, que para un problema dado, pues va a ser la siguiente tarea.
Oye, voy a pensar cómo puedo eh encontrar hipótesis, cómo puedo encontrar de forma creativa soluciones al problema que se me está planteando. Voy a implementarlas, voy a evaluarlas y de eso voy a obtener una métrica que me va a decir pues cuál de todas las soluciones va siendo mejor. Y con esa métrica ahora pues voy a reoptimizar mi flujo, voy a volver a repetir este proceso, pero en este caso basándome en aquellas soluciones que han sido más favorables.
Pues por ejemplo, un caso que nos muestran aquí en el paper sería este, ¿no? Yo tengo este código de programación que quiero que implemente un problema de clasificación de imágenes sobre la librería Jax. Y yo le voy a dar a este sistema, Alpha Evolve, pues una estructura, un esqueleto del código con aquellas partes que quiero que evolucione, que se ponga a optimizar y que se ponga a crear.
Pues en este caso lo podemos identificar con estas etiquetas que el modelo va a entender que son las partes a trabajar. Este código en este diagrama pues sería esta parte de aquí, sería el programa inicial con los componentes que tiene que evolucionar. Y entonces Alpha Evolve, pues va a tomar este código y ahora va a construirse su propio prompt, ¿vale?
Todo este código que tenemos aquí, que está intercalado con lenguaje natural, sería el prompt que Alpha Evolve estaría construyéndose para intentar solucionar este problema, pues con típicas técnicas de actúa como un experto eh desarrollador de código, tu tarea sería esta. Y además aprovechando las enormes ventanas de contexto de los modelos Gemini, pues vamos a poder incluso, si estuviéramos repitiendo ya este ciclo, ejemplos de soluciones anteriores que podemos añadir en la ventana de contexto. Todo esto para enriquecer que el modelo ahora pueda generar mejores soluciones basado en las soluciones anteriores.
Tenemos el programa inicial, tenemos el prompt construido y ahora tenemos que elegir el modelo del lenguaje que bueno va a actuar como ese motor cognitivo que va a proponer pues diferentes soluciones creativas a este problema. Esto es muy interesante porque ya sabéis que estos sistemas tipo agénticos, estos scaffoldings que se llaman estructuras alrededor de un LLM, lo que permiten es que según el modelo del lenguaje vaya mejorando iterativamente y pasemos de Yemini 2. 5 a Yemini 3, Yemini 4, podamos intercambiarlos y podamos meterlos en estos sistemas y que todo siga funcionando.
Entonces, aquí el siguiente paso es efectivamente elegir el mejor modelo para esta tarea. Y una vez tenemos el problema planteado con el prompt ya diseñado, con ejemplos previos incluidos en la ventana de contexto y el modelo de lenguaje seleccionado, pues ahora vamos a generar soluciones candidatas, soluciones que vamos a poder implementar y que vamos a poder evaluar. En el caso, por ejemplo, del modelo de machine learning que estamos hablando aquí, pues sería ejecutar el propio modelo y sacar la métrica de pues el error de predicción como si fuera una técnica de optimización de machine learning.
Y con eso, pues ahora podemos decir, "Vale, de todas las soluciones candidatas que hemos diseñado, ¿cuál es la que mejores resultados nos han dado? " Y con eso, pues tenemos ahora un pool de soluciones que podemos volver a almacenar para así poder repetir este proceso de forma iterativa, repitiendo un ciclo que se repita en el tiempo, repitiendo, refinando, optimizando, hasta que en algún punto tú decidas que ya tienes una solución candidata lo suficientemente buena y será el programa que elijas como mejor solución. Y esto, amigos, tiene mucha amiga que nos tenemos que comer porque es superinesante.
Fijaos, una primera conclusión que podemos sacar de este agente es que estamos trabajando dentro de este paradigma del test en compute. Estamos viendo pues una implementación de, de nuevo, una inteligencia artificial que entre más tiempo le demos para trabajar sobre un problema, pues va a seguir iterando, va a seguir explorando este espacio de posibles programas, de posibles soluciones y va a ir encontrando mejores soluciones al problema que le hayamos dado. más tiempo de computación, mejores soluciones, test time compute.
Y esta es una idea potentísima porque si os dais cuenta, estamos utilizando a los modelos del lenguaje para extraer conocimiento de ellos y hacerlos brillar más, hacerlos evolucionar. Fijaos que si yo le doy un problema a Gemini, seguramente si yo genero 100 versiones o 1000 versiones en el propio chat, en la propia conversación, pues sí, de esas 100 versiones, de esas 1000 versiones, algún problema se puede acercar a una solución más óptima de lo que yo le he planteado. Y fijaos qué idea más interesante.
Al final estamos utilizando los modelos Gemini, a los modelos del lenguaje que todos nosotros utilizamos como corazón de estos sistemas para sacar más partido. Aquí está esta clave que es la combinación de usar un modelo de lenguaje y hacer evolucionar su conocimiento, porque si no, ¿qué pasaría? Bueno, pues esto es como si yo me siento delante de Gemini y le pido que me resuelva un problema concreto y a lo mejor pues sí me propone una solución que va a ser más o menos buena, pero es solo una solución.
¿Qué pasa si le pido 10 o si le pido 100 o si le pido 1000? Pues voy a tener un pool de soluciones, un montón de versiones diferentes de cómo implementar una solución. Algunas funcionarán, otras no funcionarán, algunas serán más óptimas, menos óptimas y ahí yo lo que podría hacer sería pues evaluarlas todas y encontrar cuál sería la que mejor se ajusta a mi solución.
Y este paper lo que nos dice es que parar ahí pues sería un error porque podríamos ahora las mejores soluciones y repetir el proceso de forma iterativa para hacer que poco a poco vayamos evolucionando, vayamos moviéndonos hacia mejores soluciones que en algunos casos, chicos y chicas, pueden llegar a ser State of the Art, el resultado más avanzado jamás implementado para el problema que le hayamos dado. Y esta idea de trabajo no es tan nueva porque Google ya lleva años investigando en esta línea desde Alpha Code que tenéis vídeo en el canal principal, aunque ya es un vídeo que está un poco desactualizado, pero si os va a permitir entender un poquito mejor cómo funciona parte de los sistemas que está detrás de esto. hasta sistemas como Fan Search, que salió a finales de 2023 y que en este caso sería el antecesor del trabajo del que estamos hablando hoy y que ya en aquel momento demostró que efectivamente los modelos de lenguaje sí podían descubrir nuevo conocimiento matemático.
De hecho, tal y como nos presentan en el paper, la diferencia entre Fun Search y Alpha Evolve es básicamente esa línea de investigación y escalarla a la escala que Google podría en este caso implementar con este tipo de sistemas. Y lo vemos aquí, ¿no? Pues en este caso Fan Search era un sistema también que iba evolucionando el código, pero en este caso solo era capaz de evolucionar pues pequeñas funciones dentro del código donde ahora Alpha Evolve pues puede evolucionar toda la base de código que implementa dicho algoritmo.
Vemos que Fan search solo podía evolucionar entre 10 y 20 líneas de código, además solamente trabajando con Python, donde ahora Alpha Evolve puede evolucionar cientos de líneas de cualquier lenguaje de programación que le propongamos. Y muy importante entre todas las diferencias, lo vemos aquí, que el sistema Fun search solo podía utilizar pequeños modelos del lenguaje, no encontraba beneficio en esta ley de escala de utilizar modelos con más conocimiento, con más capacidades. Y aquí sí vemos que Alpha Evolve, y esto ya veréis más adelante por qué es importantísimo, se puede beneficiar de modelos State of the Art, pues a cada modelo nuevo que entrene Google lo pueden enchufar a este sistema y conseguir incluso mejores resultados.
Y poca broma, porque quiero que lo veáis, eh, en este caso, los modelos que han utilizado para este sistema y viendo los resultados es bastante impresionante y muy prometedor, son los sistemas Yemini 2. 0. Estamos hablando de la generación anterior de modelos y no la versión actual de Yemini 2.
5, que sabemos que es mucho más competente, ¿vale? Mirad, si venimos a artificial analisis y ponemos aquí Gemini 2. 0 Pro Experimental, la versión de febrero 2025, podemos ver que la versión Gemini 2.
5 Pro a nivel de inteligencia está aquí con 69 puntos frente a Gemini 2. 0 Pro que está 20 puntos por detrás. Con lo cual, fijaos el salto de capacidades solamente en una generación de LLMs, pues qué impacto puede tener en este sistema Alpha Wolf.
Y digo que me sorprende porque los resultados que ha presentado Google son bastante impresionantes y lo han hecho muy bien porque han cogido de los dos mundos que más nos interesa. Por una parte, el avance científico teórico, mover la frontera de problemas que a lo mejor son problemas teóricos y no le vemos una utilidad práctica directa y también aplicarlo a problemas dentro de la propia Google, que sabemos que es una empresa enorme con problemas de infraestructura de hardware, con problemas de software, con problemas de librerías y que en este caso metiendo Alpha Evolve a optimizar todo ese stack nos da un montón de soluciones. Bu, por ejemplo, aplicado a los centros de datos de Google.
Google al final tiene muchos recursos informáticos que quieren que no estén ociosos y para esto tienen un orquestador que se llama Borgas, sus formas de repartir esos recursos. Y en este caso, aplicando Alpha Evolve sobre este eh sistema de reglas, pues ha conseguido encontrar una heurística, una regla que permite ahorrar un 0,7% de los recursos informáticos, permitiendo pues como dicen aquí, que se puedan completar más tareas con la misma huella computacional. Centros de datos optimizados.
Siguiente parada, diseño de hardware. Sabemos que Google diseña sus propias TPUs, sus propios procesadores, pues en este caso, utilizando de nuevo Alpha Evolve, han conseguido reducir la complejidad de uno de los circuitos que implementan, pues un algoritmo que es crucial, que en este caso es el de multiplicación de matrices dentro de estas TPUs. De nuevo, simplificando el diseño de los chips gracias al uso de esta optimización con inteligencia artificial.
Ya hemos optimizado el centro de datos, hemos optimizado las TPUs. ¿Qué tocaría ahora? Pues el propio entrenamiento de la inteligencia artificial.
En este caso, pues nos cuentan que Alpha Evolve aplicado a diferentes etapas. Pensad que al final el entrenamiento de un modelo como sería Gemini, pues tiene un montón de librerías que están funcionando, desde cosas fundamentales, como es hacer una buena eh multiplicación de matrices grandes, hacer eh un uso eficiente de la memoria. Todo esto son aspectos que se pueden optimizar.
Y nuevamente Alpha Evolve ha aplicado, pues en este caso acelerando una librería de multiplicación de matrices, han conseguido reducir un 1% el tiempo de entrenamiento de Gemini, que claro, si pensamos lo costoso que son estos entrenamientos, estamos hablando de un ahorro, una cantidad de dinero y de recursos computacionales enorme y que ahorrando por aquí, optimizando por allá y encontrando más y más eficiencias, si nos damos cuenta, estamos hablando de que podríamos entrenar futuros modelos Gemini que serían más potentes, que podrían hacer un mejor aprovechamiento de los recursos que tenemos y por tanto darnos modelos más potentes. Modelos más potentes, que lo decíamos antes, son el corazón de este sistema de Alpha Evolve y que por tanto nos podría dar una siguiente versión mejorada, más rápida, más eficiente, más inteligente que haga de Alpha Evolve una herramienta todavía más competente queita optimizar más y más. Y así estamos en un ciclo virtuoso, que son esos ciclos que yo creo realmente están en ese famoso camino hacia la inteligencia artificial general o al menos inteligencias artificiales más potentes.
Porque no se me ocurre uso más potente de la inteligencia artificial dentro de este videojuego que vivimos que el de utilizar a la IA para hacer descubrimientos de nuevos métodos de cálculo, nuevas herramientas matemáticas, nuevos descubrimientos científicos que aceleren todo más. Y Google lo sabe y por eso también han querido aplicar su sistema Alpha Evolve a diferentes problemas matemáticos de diferente variedad, ¿vale? Vemos aquí problemas de tipo análisis matemáticos, problemas de geometría, problemas de combinatoria y han dejado que Alpha Evolve desde cero pues vaya desarrollando sus algoritmos, sus soluciones a ver hasta dónde llegaba.
Ojo, de los 50 problemas que le han propuesto, el 75% de las soluciones igualaban a aquellas soluciones que la comunidad científica había encontrado y que además se creían que era pues la óptima. Es decir, Alpha Evolve había encontrado la mejor solución posible que podía encontrar, lo cual ya es una muy buena señal. Pero es que luego, y ojito con esto, en un 20% de las soluciones, Alpha Evolve consiguió empujar la frontera del conocimiento encontrando incluso mejores soluciones.
Problemas, como digo, de diferente naturaleza, pues análisis matemático, geometría, combinatoria, problemas tipo, ¿cuál es el tamaño más pequeño en el que podemos empaquetar 11 hexágonos o dos hexágonos? Que son problemas que luego tienen una aplicabilidad real y que permiten avanzar en el propio campo de las matemáticas. en este caso soluciones encontradas de forma automática por una inteligencia artificial y problemas que son fundamentales y transversales a muchos aspectos de nuestra realidad.
De hecho, uno de los titulares que más vamos a escuchar con Alpha Evolve tiene que ver con el propio problema de multiplicación de matrices, que si recordáis ya fue algo de lo que hablamos en el canal principal, en el vídeo de Alpha Tensor, que también es otro de los trabajos que inspiran a Alpha Evolve y donde hablábamos justamente de ese problema tan fundamental que es multiplicar dos matrices. Un problema que está en la raíz de la computación de gráficos por ordenador, que está en la raíz de la criptografía, que está en la raíz de las propias redes neuronales para hacer entrenamientos más rápidos e inferencias más rápidas, multiplicar matrices es fundamental. Pues ahí Alpha Evolve también ha entrado con todo, dándonos un resultado histórico, porque si recordáis, multiplicar matrices, pues en la escuela nos lo enseñan, que es ir fila por columna, fila por columna.
Y por ejemplo, para multiplicar una matriz de 2x 2, pues sabéis que tenéis que hacer en total ocho operaciones, ¿vale? de ocho operaciones numéricas que luego en 1969 un matemático Strasen encontró que se podía reducir a siete operaciones. Fijaos, bajar de ocho operaciones a siete operaciones es un cambio tan radical que es un avance histórico porque permite pues reducir el número de operaciones y por tanto el número de computaciones de cálculos que nuestros procesadores tienen que hacer a la hora de multiplicar millones y millones de matrices por segundo.
Y fijaos en el propio paper lo encontramos, ¿vale? Para multiplicar matrices de 2* 2 y 2* 2, la mejor eh solución conocida era siete operaciones matemáticas y Alpha Bolf ha encontrado siete operaciones matemáticas. Aquí no ha hecho ningún gran descubrimiento porque se sabe que o o se intuye que siete es el menor número y que no vamos a encontrar ninguna solución mejor.
Y esto es para matrices de 2* 2, 2* 2. Pero, ¿qué pasa con matrices de otras dimensiones? Pues vemos que hay diferente cuerpo teórico que encuentra pues diferentes soluciones con diferentes números de operaciones a realizar, pues para multiplicar una de 2* 2 con una de 2* 8 con 28 cálculos pues podemos conseguir ese resultado y Alpha Evolve también lo encuentra.
Entonces, fijaos qué interesante. Cuando pasamos de 2 * 2 * 2 a, por ejemplo, 4 * 4* 4, el mejor método conocido utilizaba 49 operaciones. ¿De dónde sale este 49?
pues de usar de forma recursiva eh la técnica de 2 * 2* 2, porque tú una matriz de 4* 4* 4 la puedes convertir en 2 * 2 * 2 y 2 * 2 * 2, ¿no? Entonces, siete operaciones por si operaciones nos da este número de 49 operaciones para hacer esa multiplicación matricial, cifra históricamente conocida que ahora, ojito, Alpha Evolve ha bajado a 48. Y no solo en este caso, sino en muchas otras configuraciones de multiplicación de matrices.
Vemos que esta cifra donde está en verde es donde Alpha Bolf ha encontrado optimizaciones que son históricas y que inmediatamente podemos trasladar a todo nuestro stack tecnológico, a librerías, a circuitos en procesadores para ser pues más eficiente esta multiplicación de matrices. Este es el punto del que estamos hablando, inteligencia artificial optimizando aquellos circuitos, aquellos recursos, aquellas librerías, aquella programación que antes los humanos nos dedicábamos a optimizar y que ahora la inteligencia artificial puede ser por nosotros. Y que no lo digo yo, también lo dice Google, que es intrigante, pues, que el propio Alpha Evolve pueda hacer descubrimientos prácticos que puedan incrementar la eficiencia de la propia infraestructura que hace funcionar Alpha Golf, es decir, que pueda incluso mejorar a futuras versiones del modelo base que hace funcionar a este sistema, creando este ciclo que hemos comentado previamente.
Carlos, ¿significa esto que hemos encontrado un botón mágico para poder hacer avances científicos de cualquier campo que queramos? No, realmente este sistema, si os dais cuenta, está muy limitado, está muy acotado a aquellos problemas que podamos verificar, que podamos tener una métrica para decir, "Vale, de este pool de programas que el sistema ha creado, pues este es mejor que este y por tanto vamos a filtrarlo de esta manera. " Aún así, tenemos muchos problemas donde se podría aplicar y tenemos muchas optimizaciones que se pueden aplicar al propio Alpha Evolve para crear en un futuro un sistema incluso más potente con la llegada incluso de mejores LLMs.
Sé que muchos estáis aburridos de vídeos donde siempre estamos hablando de que un nuevo modelo de lenguaje que ha salido mejora en Frontier Mh en un 3% que mejora en sus capacidades de programación un tanto por co pero la realidad es que luego esos avances paulatinos que vemos semana tras semana en este canal pues eh son los que se trasladan a sistemas tan avanzados como es Alpha Wolf. Novedades que aprovecho ya para decir, la semana que viene vamos a estar viendo a montones porque el martes tenemos el Google IO, evento de Google, donde vamos a ver muchas novedades en esta línea de trabajo y muchas novedades en el ecosistema Yemini y que voy a estar cubriendo en directo en el canal principal a las 7 de la tarde el día martes. Os espero a todos en ese directo y si te ha gustado este contenido, suscríbete a este canal para estar actualizado con todas las noticias que van saliendo, que no van a ser pocas porque ya sabemos que cuando hay un Google IO pues el resto de laboratorios también quieren hacer ruido y seguramente veamos novedades de Open AI, de Antropic y de otros muchos más.
Chicos, chicas, estamos viviendo tiempos impresionantes. Estoy contentísimo de poder contáoslo aquí en este canal. Suscribíos, echadle un vistazo a estos dos vídeos que os pongo por aquí y nos vemos con más inteligencia artificial en el próximo vídeo.
Ciao.