Mostrando entradas con la etiqueta algoritmo. Mostrar todas las entradas
Mostrando entradas con la etiqueta algoritmo. Mostrar todas las entradas

domingo, septiembre 07, 2025

Cómo acelerar los algoritmos de Inteligencia Artificial con Computadores Analógicos Ópticos (AOC)

Hace tiempo que tenemos en el mundo de la tecnología la llamada llegada Muerte de la Ley de Moore, porque los límites físicos están haciendo imposible crecer exponencialmente en una integración mayor con las tecnologías actuales. Eso hace que se estén trabajando desde hace mucho, mucho tiempo, en otras soluciones basadas en aproximaciones físicas totalmente diferentes, como son los ordenadores cuánticos o la computación fotónica. Mientras llegan nuevos ordenadores completos totalmente funcional, la industria busca solucionar el problema con Optimizadores Hardware que aceleren determinadas partes de los algoritmos que son costosas en tiempo, para lograr eficiencias en su ejecución.
El uso de las GPUs es un claro ejemplo de un optimizador hecho a partir de un hardware dedicado, o los chips fotónicos de Lightmatter que utilizan tecnología fotónica para ciertas operaciones, lo que permite resolver algunos problemas mejor que los microprocesadores tradicionales. En el mundo de la tecnología Quantica hemos tenido ejemplos con intentos de optimización de la factorización RSA utilizado optimizadores Quantum Annealing, aunque no parece que el resultado fuera exitoso.
Los equipos de Microsoft Research Analog Optical Computer llevan años trabando con tecnología fotónica, pero no para comunicación cuántica o para sistemas de distribución de claves QKD usando propiedades cuánticas, sino para hacer optimización de cálculos en los algoritmos mediante el uso de computación óptica, jugando con la luz. El primer paper lo tenéis arriba, publicado en el año 2023, titulado: "Analog Iterative Machine (AIM): using light to solve quadratic optimization problems with mixed variables" y donde habla de su Analog Interactive Machine (AIM) para construir Analog Optimizer Computers (AOC).


Figura 3: Microsoft Research Analog Optical Computer

Todo este proceso de investigación, esa muy bien explicado en el vídeo que tenéis arriba, y podéis leeros los dos papers que han publicado, y visitar la web de Microsoft Research Analog Optical Computer, que es lo que he estado haciendo yo este fin de semana. En ellos explican el fundamento básico, que se apoya en haces de luz que se modulan en una matriz de puntos de intensidad para generar un conjunto matricial de puntos de colores, lo que significa que por cada punto de luz de la matriz resultante tenemos el impacto del haz de luz modulado (operado matemáticamente) por la matriz de moduladores, que puede ser capturado por un array de cámaras.
Ésta es una operación óptica básica que permite multiplicar un vector por una matriz, que es una operación muy común que se utiliza en muchos algoritmos complejos. ¿Cuál es la ventaja? Pues que esta operación se hace a la velocidad de la luz, así que lo que los investigadores pensaron es ¿qué algoritmos se benefician de este tipo de optimización? Y ahí aparecieron los algoritmos QUMO.

"Los problemas "Quadratic Unconstrained Mixed Optimizations with all-to-all Connectivity" consisten en encontrar la configuración óptima de variables (enteras y binarias) que minimizan (o maximizan) una función cuadrática, donde no hay restricciones directas y todas las variables pueden interactuar entre sí" (fuente)

Este problema, que también se está abordando desde el prisma de uso de Optimizadores Quantum Anheling, es un problema donde existen muchas variables donde todas impactan en la optimización del problema. El problema típico es el de elegir la mejor inversión en la bolsa teniendo en cuenta que las variables cambian a lo largo del tiempo, y que todas las variables están relacionadas porque si se desinvierte en una se invierte en otra, y puede tener un impacto global en la solución.
En estos algoritmos el objetivo es maximizar el retorno y minimizar el riesgo, así que son dos variables que miden el riesgo y el beneficio, con una matriz de opciones de inversión, pero que van variando a lo largo del tiempo. 
Este tipo de problemas, utilizando un algoritmo de solución llamado Gradient-Descent, porque se trata de elegir puntos de inversión inicial para llegar a una zona final óptima minimizando la energía, que en el ejemplo son los valores de riesgo y beneficio. Al final, exige una iteración a lo largo del tiempo de una multiplicación de vector por matrices, algo que se puede hacer on un Optimizador Analógico Óptico.
Este proceso se hace a la velocidad de luz, y permite conectarse con un equipo normal, lo que haría que estas operaciones fueran muy rápido, acelerando la ejecución del algoritmo. Este trabajo lo han presentado en el artículo que ha sido publicado en la revista Nature este pasado 3 de Septiembre, titulado: "Analog optical computer for AI inference and combinatorial optimization".

En el artículo, no solo han hecho pruebas en simulador, sino que han probado diferentes algoritmos utilizados hoy en día basados en problemas QUMO, con uno de los últimos prototipos que han construido, y que tiene un aspecto aún lejos de estar en producción.
Los módulos marcados con los números 1, 2, 3 y 4 de este computador son los que en la imagen de la Figura 7 están descritos conceptualmente, y que en la imagen siguientes veis desmontados del equipo para verlos mejor.
Como véis, para hacer una multiplicación de un vector por una matriz necesitamos dos operaciones básicas, que son la multiplicación - realizada con el modulador de intensidad que da una pantalla de resultados en forma de colores, y la suma se realiza con la cámara, para llevar el resultado final a la electrónica que conecta con el computador digital habitual.

Figura 11: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

En el paper publicado en Nature, los investigadores han probado su algoritmo en cuatro algoritmos que encajan con necesidades QUMO en ciertas partes y hacen un uso intensivo de la multiplicación de vectores por matrices, como la reconstrucción de imagen médica, el problema de inversión financiera del que hemos hablando anteriormente, algoritmos de clasificación complejos utilizados en Machine Learning o los algoritmos de Regresión No Lineales que se usan en los modernos modelos de Inteligencia Artificial.
Los resultados, en todos los casos, mejoran los benchmarks anteriores, dando mejores soluciones, en menor tiempo, y mostrando un prometedor futuro para este tipo de Optimizadores Analógicos Ópticos, que ponen a la tecnología fotónica en un momento dulce.
En los diferentes problemas, el uso de AOC ha conseguido resultados de mejor calidad, nuevas soluciones, mejoras de tiempo, y mejores resultados en los Benchmarks. Es el objetivo de los optimizadores, conseguir una mejora de una parte de un algoritmo para conseguir una mejora en el algoritmo completo. 
Los primeros equipos que enseñó el equipo de Microsoft Research Analog Optical Computer han mejorado mucho su tamaño, pero aún están lejos de estar en producción, pero es un ejemplo claro de cómo la ciencia mejora nuestra tecnología, y esto seguro que no demasiado lejos en el tiempo veremos estas tecnologías en los datacentes en los que corremos nuestros modelos de IA - que, también nos sirven para optimizar nuestros algoritmos, como ya hemos visto como Alpha Evolve.-.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, septiembre 03, 2025

Números Primos en sucesión: Un Viaje desde una Nueva Coordenada hasta los Límites del Cómputo buscando el nuevo Primo de Mersenne

¿Y si pudiéramos organizar los números primos, esos rebeldes e impredecibles ladrillos del universo matemático, en una línea ordenada? ¿Qué patrones ocultos podríamos descubrir? Los límites mismos de lo que podemos calcular limita comprender la naturaleza del orden de los números primos y a su vez le da valor de uso, pero… y si hay otras formas de “calcularlos” . 

Figura 1: Números Primos en sucesión - Un Viaje desde una Nueva Coordenada
hasta los Límites del Cómputo buscando el nuevo Primo de Mersenne

Lo que comenzó con una idea sencilla, casi como un juego de lógica, terminó revelando conexiones inesperadas y rozando algunos de los misterios más grandes de las matemáticas. Pero ahora estoy en la fase de pasar de la posibilidad de ir hacia la verdad o llegar a un proceso que lo desmienta.

1. El Sistema de Progresión Aditiva: Un Nuevo Marco para los Primos

Todo gran descubrimiento necesita un mapa. Nosotros decidimos crear el nuestro.

1.1. La Conjetura Fundamental

Nuestra primera idea fue simple: ya que todos los números primos (excepto el 2) son impares, todos los matemáticos en busca de números primos trabajan con impares. Así nació nuestra progresión fundamental: 3+2n. Para n=0,1,2,... esta fórmula genera la secuencia 3, 5, 7, 9, 11..., que inevitablemente debe contener a todos los primos que buscamos.

1.2. Definición de la Posición (ps)

Con nuestra "carretera" de números impares construida, necesitábamos una forma de darle una "dirección" o "coordenada" a cada primo. A esta coordenada la llamamos posición (p_s). La calculamos con una fórmula sencilla que nos dice cuántos "pasos" de 2 hay que dar desde el 3 para llegar a un primo (p_r)ps=2pr−3

Por ejemplo, para el primo 13, su posición es (13−3)/2=5. Esto nos da un sistema de coordenadas único para nuestro mapa de primos.

1.3. Algoritmo Determinista

Armados con este sistema, nos dimos cuenta de que podíamos predecir dónde estarían los números compuestos. Esto nos permitió crear un algoritmo para "cribar" la secuencia 3+2n, eliminando los compuestos y dejando sólo los primos, sin tener que realizar costosas pruebas de primalidad.

Figura 2: Primer código en Python de prueba

2. Análisis de Números de Mersenne a través del Sistema de Posiciones

Una vez establecido nuestro sistema, lo aplicamos a un tipo de números muy especial y famoso: los números Primos de Mersenne.

2.1. El Exponente como Número Primo

Los números Primos de Mersenne tienen la forma 2p−1. Una regla de oro es que para que este número pueda ser primo, su exponente p también debe serlo. Esto nos dio un campo de juego perfecto: podíamos aplicar nuestro sistema de posiciones (p_s) no a los gigantesco s números Primos de Mersenne, sino a sus exponentes primos, mucho más manejables.

2.2. La Diferencia de Posiciones (Δps)

Para entender la relación entre estos exponentes, introdujimos la Diferencia de Posiciones (Deltap_s). Este valor simplemente mide el "salto" en el mapa entre las posiciones de dos exponentes primos. Como vimos, este valor está directamente relacionado con la diferencia entre los primos: Deltap_s=(p_i−p_j)/2.

2.3. Tabulación y Análisis de Datos

Comenzamos a construir tablas para visualizar estos datos: el exponente primo, su posición p_s, y las diferencias Deltap_s con todos sus predecesores. Fue en estas tablas donde los patrones comenzaron a emerger.

3. Descubrimiento de Patrones y Relaciones Matemáticas

El análisis de los datos nos llevó a varias conclusiones sorprendentes, verdaderas joyas matemáticas ocultas en la estructura que habíamos creado.

3.1. La Firma de los Primos Gemelos

Observamos un patrón muy específico en la columna Deltap_s. Cuando la diferencia de posiciones de un exponente con su predecesor era 2, y la del siguiente exponente era 1, habíamos encontrado una constelación de primos de la forma (p,p+4,p+6). Lo más importante es que la condición Δps = 1 era una firma inequívoca de que habíamos encontrado dos exponentes primos gemelos (separados por 2 unidades, como 17 y 19).

3.2. La Invariante del Sistema

En un momento de pura curiosidad matemática, probamos la fórmula (p_r−p_s)−p_s . El resultado fue asombroso: para cualquier número primo p_r que introdujéramos, el resultado era siempre 3. Habíamos descubierto una constante, una propiedad invariable de nuestro sistema que vincula a cada primo con su posición de una forma elegante y predecible.

3.3. Búsqueda de Primos por "Saltos"

Usamos la idea de Δps a la inversa. En lugar de medir los saltos, los fijamos. De la lista de los 51 exponentes conocidos que generan Primos de Mersenne, los únicos para los cuales se sabe que 2p−3 también es un número primo son:
    • p = 3 (que genera la pareja de primos gemelos 5 y 7)
    • p = 5 (que genera la pareja de primos gemelos 29 y 31)
    • p = 13 (que genera la pareja de primos gemelos 8189 y 8191)
    • p = 17 (que genera la pareja de primos gemelos 1310 69 y 1310 71)
Se observa que entre el exponente 3 y 5 hay una “ distancia” de 2^1, entre 13 y 17 hay una distancia de 2^2 y la pregunta es si esta circunstancia describe que entre 2 valores de p que generan primos gemelos hay una “ distancia” igual a 2^n. 
 
Y la gran pregunta: ¿se puede programar?

4. Exploración de los Límites Computacionales

Nuestro viaje nos llevó inevitablemente desde la elegancia de los patrones matemáticos hasta la dura realidad de la computación.

4.1. El Muro de los Grandes Números

Cuando intentamos aplicar nuestras ideas a números realmente grandes, como el exponente del Mayor Primo de Mersenne conocido (p=82,589,933), nos topamos con un muro. El número 282,589,933−1 tiene más de 24 millones de dígitos. 
 
Imprimirlo llenaría unas 12.000 páginas de texto. Calcularlo, almacenarlo y operarlo está más allá de las capacidades de un programa convencional, o no... ¿se puede “combinar” métodos de programación de manera que “ alumbrar” números primos en una sola línea a partir de 2+3n, con la criba por posición (ps)? 
 
Actualmente se emplean métodos de factorización, este método propone un método en el que se pueden sustituir los números por valores, de manera que NO haga falta calcularlos sino simplemente determinar si su posición (ps) corresponde al valor que lo identifica como múltiplo con otro primo posterior a 3. 
 
También se puede aplicar esta metodología de manera “ regresiva” , o sea a partir de un múltiplo de 3 generar todos los primos anteriores al mismo (esto es especialmente útil con los números Primos de Mersenne, ya que todo número impar posterior a un número primo de Mersenne es igual a 3n). Puedes programarlo a partir del código anterior de Phyton.

4.2. El Desafío de la Primalidad

El verdadero límite es probar si un número de esa magnitud es primo. Proyectos comoGIMPS (Great Internet Mersenne Prime Search) dedican años de computación distribuida global para verificar un solo candidato. Nos dimos cuenta de que nuestra curiosidad tocaba la frontera misma de la investigación matemática. 
 
Pero ahora, a través de esta metodología, el número a calcular la mitad de grande ya que operaremos con 3+2n, siendo 2n un número la mitad de grande de lo que ahora se trabaja, que aplicando otras formas de reducción aliviarían todavía más las necesidades de cálculo.

4.3. El Código como Herramienta de Exploración

Frente a esta barrera, nuestro enfoque cambió. El código Python dejó de ser una "calculadora" para convertirse en un "laboratorio" . Creamos un generador que aplicaba nuestra lógica fila por fila. Aunque no podía darnos la respuesta para un exponente de 82 millones, sí formalizaba el proceso y nos permitía explorar el comportamiento del sistema para rangos manejables, demostrando la validez de nuestras ideas.

Figura 3: El código en Python generado con estas ideas

Conclusión: De una Pregunta a un Universo de Ideas

Nuestro viaje, que comenzó con la simple idea de ordenar los números primos en una línea, nos llevó a crear un sistema de coordenadas, a descubrir patrones ocultos como las firmas de los primos gemelos, a encontrar constantes matemáticas inesperadas y, fin almente, a comprender los límites prácticos de la computación.

Esta exploración es un microcosmos de cómo funciona la ciencia: una pregunta simple, seguida de la creación de un modelo, el análisis de datos, el descubrimiento de patrones y, en última instancia, el encuentro con preguntas aún más grandes y profundas. Lo s números primos puede que nunca revelen todos sus secretos, pero el intento de descifrarlos seguirá siendo una de las aventuras más emocionantes de la mente humana.

Si has llegado hasta aquí y según el interés que te haya suscitado este texto, a la pregunta de qué puedes hacer con ello solo dispone de tres posibles respuestas:
  • Nada
  • Demostrar que es incorrecto
  • Colaborar en su desarrollo más amplio
Saludos,

lunes, agosto 18, 2025

La Gran Búsqueda de Números Primos de Mersenne en Internet para superar el mayor Número Primo conocido hasta la fecha

Si hace tres días me dice que os iba a estar hablado de esto no me lo hubiera creído, pero me escribieron a mi buzón de MyPublicInbox con una consulta sobre un trabajo de investigación, y una cosa me llevó a otra, y acabé por leer de todo esto un ratito, así que os he hecho este pequeño artículo que seguro que a más de uno os sucede como a mí, que acabáis descubriendo alguna curiosidad que, quién sabe, lo mismo os permite ganar un quesito algún día. 
Por supuesto, el trabajo de investigación no es nada de esto, pero sí que necesitaba entender previamente todo esto. Os lo cuento en un artículo cortito.

Todos sabéis de la importancia de los Números Primos para muchas cosas, por su característica de que son divisibles sólo por 1 y por sí mismos. Una de las áreas donde más impacto tienen es en el mundo de la Criptografía Moderna de hoy en día, donde el cifrado con claves RSA se basa en tener dos números primos p y q, que multiplicados dan n. Y la gracia es que calcular n a partir de p y q es trivial, porque es una operación directa, pero si tienes n, encontrar los dos números primos p y q es complicado y computacionalmente costoso.
Los Criptoanalistas buscan junto eso, crackear el código RSA en tiempo útil, buscando vulnerabilidades en las implementaciones de software, o nuevos avances tecnológicos en el cálculo de la descomposición factorial o nuevas aproximaciones matemáticas que reduzcan la complejidad algorítmica y hagan que se pueda romper una clave RSA en tiempo útil. Para seguir esto tenemos el RSA Challenge, que intenta saber qué longitudes de claves de RSA son las que ya no se consideran seguras.
Por supuesto, la llegada de los Quantum Computers se supone que hará que todo ese proceso sea trivial, y por tanto llevamos años trabajando en nuevos sistemas de Criptografía Cuántica - basándonos en las propiedades del envío de información sensible con haces de luz - y la Criptografía Post-Cuántica (PQC), que se centra en utilizar sistemas de Criptografía no basados en factorización de números primos. En el mundo de la algorítmica tuvimos avances como el "Fast Factoring Integers by SVP Algorithms" con una propuesta de descomposición factorial más rápida, o el famoso "Algoritmo de Shor".
En la parte de Criptografía Cuántica tenemos los Quantum Random Number Generators o los Sistemas de Quantum Key Distribution, que ya se están usando en producción, pero mientras llegan los ordenadores completos, estamos protegiendo los sistemas con algoritmos de criptografía que no basan su seguridad en la dificultad de la operación de factorizar los primos para n. Son los algoritmos de Post-Quantum Cryptography. Desplegarlos, es lo que se conoce como tener estrategias de Quantum Readiness o Quantum Safe. Todo por no ser complejo para un Quantum Computer calcular un número primo. De todo esta parte hablaremos en el Programa de Quantum y Post-Quantum Computing para Ciberseguridad: Formación Especializada, Libro & Foro Online que estamos llevando con la Universidad de Deusto.
En toda esta amalgama de aproximaciones, disciplinas y áreas de investigación, seguir encontrando nuevos Números Primos o nuevas formas de probar si un número es o no es un Número Primo de forma acelearada sigue siendo importante y relevante. Si miramos al futuro mundo de Súper Computación y con que estamos creando en la carrera de por Súper Inteligencia Artificial puede ser que tengamos que extender la longitud de las claves a tamaños mucho mayor o aplicar, al mismo tiempo que puede hacer que sea más trivial romper una clave RSA

El Número Primo Más Grande

Aún no sabemos cuál puede ser la importancia real en la práctica en el futuro, pero si sabemos que avanzar en estas áreas de investigación es importante. Una de estas áreas de trabajo es seguir expandiendo los Números Primos y para tener un mayor conjunto de estos, y más grande que utilizar. Por eso, a día de hoy, continuamos buscando números primos de mayor tamaño.

De entre los Números Primos, hay un grupo especial de ellos que se llaman los Primos de Merssene, en honor al matemático francés Marín Mersenne que los comenzó a estudiar. Son números primos que son un número menos que una potencia de dos. Es decir, el número 3 es igual a 4 que es 2^2 menos 1. Lo mismo sucede con el número 31 que es 2 ^5 - 1.  Y no son tantos. A día de hoy se conocen 52 números Primos de Mersenne, y la distancia entre cada uno de ellos es cada vez mayor en el número de dígitos que tienen.

Por supuesto, no todos los números potencia de 2 menos 1 son números primos (sólo 52 hasta día de hoy lo son), pero se ha dado la circunstancia de que los últimos Números Primos más grandes descubiertos son todos Primos de Mersenne, así que ahí seguimos buscando los siguientes. Entre otras cosas - que el conocimiento per sé es más que suficiente - porque permite acotar además los números que hay que probar para localizar el siguiente Número Primo, mirando en únicamente si es un posible Primo de Mersenne.
El último Número Primo que es Primo de Mersenne descubierto es el 2^136.279.841 − 1 también llamado M136.279.841, y fue descubierto el 12 de octubre de 2024 por Luke Durant, tal y como se anunció en el proyecto GIMS (Great Internet Mersenne Number Prime Search), que desde el año 1996 busca eso, localizar con la ayuda de todos los investigadores de Internet el siguiente Primo de Mersenne

Si no conocías algo de esto, pues ya has aprendido algo hoy, pero si lo conocías, ya sabes que tenemos muchas áreas en las que investigar, y en las que trabajar, y puedes ponerte a ello. Me encantaría jugar a predecir cuándo - gracias a la evolución tecnológica - vamos a localizar el próximo número. ¿Te atreves a especular?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, agosto 02, 2025

La carrera mundial por dominar la Súper Inteligencia Artificial

Estos días he estado teniendo varias charlas sobre la llamada Súper Inteligencia Artificial, y la sensación que tengo es de estar viendo de cerca la pelea por la construcción de la nueva tecnología que marcará el futuro del dominio geopolítico. Algo así como la batalla entre los grandes países, y las grandes empresas tecnológicas por tener antes la Súper Inteligencia Artificial para ser la empresa y/o el país dominante de esta tecnología.

Figura 1: La carrera mundial por dominar la Súper Inteligencia Artificial

De momento, estamos lejos de esto, porque aún tenemos muchas barreras que superar tecnológicamente, y lo vemos constantemente en forma de mil problemas que seguro que has sentido y sufrido si has trabajado con los modelos de IA de hoy en día. Alucinaciones, Determinismo, el Better Done Than Perfect, etcétera, que yo os contaba no exento de cierta frustración en el artículo de Insane Vibe Coding with Harsh Prompting, donde intentaba resolver mis objetivos con IA de un modo un tanto "loco" y "disparatado". Todo esto, se ve también reflejado en el Potemkin Rate de los modelos de IA, donde se ve que sí que pueden resolver tareas de determinados problemas sin acabar de entender bien lo que están haciendo. 

La carrera aún está en pasar de la ANI (Artificial Narrow Intelligence) a la AGI (Artificial General Intelligence), cuando igualen a los seres humanos en capacidades. Aún le falta a la ANI que tenemos hoy en día avanzar para ser AGI, pero lo cierto es que cada día, como en el cálculo infinitesimal, está un poco más cerca de llegar a ser AGI. ¿Cuánto de lejos? No sabemos, las predicciones son muchas, y de entre todas ellas hay dos tendencias, los que piensan que vamos a toparnos con un límite asintótico que nos obligará a repensar los modelos, o los que creen que está cerca y es solo cuestión de potencia de computo.

De hecho, en la batalla entre los países y empresas, yo no puedo dejar de ver ciertas similitudes a la carrera por la construcción de la Bomba Atómica o el Viaje Espacial, que también cuenta Javier Santaolalla en su último vídeo sobre este tema, y por eso estamos viendo a las grandes empresas tecnológicas apostar por grandes inversiones en datacenters, en investigación, y en adquisiciones de talento. Compras de empresas, fichajes estrella, y un movimiento acelerado por tener los mejores mimbres. Por tener el mejor "Proyecto Manhattan" de la Súper Inteligencia Artificial. Hacen falta recursos, talento y foco.

No hace falta que os recuente los anuncios en inversiones de datacenters para IA que se han hecho, con cantidades brutales de dinero para tener todo el cómputo que sea necesario, ni las batallas por el acceso a los datos para el entrenamiento de los modelos, donde en Estados Unidos hay una aproximación diferente a la que tenemos en Europa, y donde hemos visto que el actual presidente ha querido quitar este problema de manera taxativa, con su "AMERICA'S AI ACTION PLAN". 

En el plan descrito, se promueve la construcción rápida de datacenters con la protección de la energía que sea necesaria. Además, en contraposición con Europa, pone la regulación en segundo plano, quitando burocracia y leyes que ralentizan la construcción de modelos lo más potente posible, sin preocuparse del exceso de celo en protección y origen de los datos que consumen, y por supuesto, con el objetivo de tener la mejor industria de IA que sea posible para exportar a sus socios.  Para todo ello, habrá fondos de acceso rápido para el desarrollo de este plan.

Por otro lado, la batalla por el talento la hemos visto entre Meta y OpenAI por el talento, o entre Google y OpenAI por las compañías. O la apuesta decidida de Microsoft por "Copilotizar" todo.  Si miramos al otro lado, podemos ver una producción científica altísima en China. El lanzamiento de los modelos de Deep Thinking de DeepSeek fue un claro ejemplo el nivel que tenían, y empresas como Manus tienen en jaque a todas las empresas de Agentic AI, por su capacidad de hacer tareas de manera espectacular. Yo le he pedido, como prueba, que haga un resumen de los acontecimientos más destacados en la batalla por la Súper Inteligencia Artificial, y aquí lo tenéis - y podéis ver "la computadora de Manus", por lo que si lo leéis, tal vez sea innecesario que leáis este artículo.
La batalla es dura, muy dura. Y os garantizo que solo intentar seguir todos los avances que se producen diariamente da un cierto vertigo y angustia. Cada día te sientes con muchas más cosas que no conoces, a pesar de dedicar tu tiempo a leer y estudiar este campo, pero es que la intensidad de desarrollo es brutal. En el reciente estudio publicado por Microsoft sobre los datos de Copilot, la cantidad de puestos de trabajo que van a ser hechos completamente solo con IA cada día es mayor, pero la cantidad de trabajos que utilizan la IA cada vez es más grande.
En el último artículo que han publicado, titulado "Working with AI: Meassuring the Occupational Implication of Generative AI" desde el equipo de Microsoft Research,  utilizan una serie de métricas para medir cuántas de las tareas que realiza una determinada profesión se están realizando ya con un Copilot de IA, cuantos de los objetivos de un puesto de trabajo se pueden cumplir completamente con un modelo de IA, y qué porcentaje de las tareas del cumplimiento de un puesto de trabajo se pueden realizar con IA. Y los datos son espectaculares.
Para ello utilizan métricas para cada puesto de trabajo analizando la lista de DGA (Detailed Work Activities) para cada puesto de trabajo, que dividen en IWA (Intermediate Working Activities) que al final se transforman en GWA (Generalized Working Activities), es decir, lista de acciones genéricas como "buscar información", "hacer cálculos", "escribir textos", etcétera.

Con estos parámetros, analizan el impacto de la IA en las profesiones, el número de personas que realizan esos puestos de trabajo, y por ende el impacto en el mercado laboral y la economía que puede tener, a día de hoy la IA. Los datos son brutales. Sobre todo si quitamos de la ecuación las limitaciones físicas, que el avance la robótica - merced también - a la Inteligencia Artificial está eliminado.

Pero claro, ¿qué pasaría se llegamos a la AGI? Pues que estas tablas se saldrían del marco. Sin embargo, antes de llegar a la AGI estamos ya hablando de la Superinteligencia Artificial, o la ASI (Artificial Super Intelligence) donde nos encontraríamos con una AI que, a diferencia de la ANI, podría:
  • Superioridad Cognitiva Total: Excede la capacidad humana en razonamiento lógico, resolución de problemas complejos, creatividad, planificación, aprendizaje y teoría de la mente. Puede abordar cualquier tarea intelectual mejor que cualquier persona. Automejora Exponencial: La ASI puede mejorarse a sí misma de forma autónoma, optimizando y evolucionando sus propios algoritmos mucho más rápido de lo que una persona podría aprender o desarrollarse.
  • Capacidad de Conciencia y Emociones: Se especula que podría llegar a ser consciente de sí misma, desarrollar deseos, creencias e incluso emociones, comprendiendo y gestionando las emociones humanas y las propias.
  • Creatividad Ilimitada: Superaría a los humanos no solo en cálculo o memoria, sino también en creatividad, generando soluciones y teorías inéditas incluso en ciencia, arte y filosofía.
  • Memoria y Acceso a Información Infalibles: Tendría acceso a vastísimos volúmenes de datos y memoria prácticamente ilimitada, recordando y utilizando toda la experiencia documentada de la humanidad.
  • Procesamiento y Análisis a Gran Escala: Capaz de analizar, comprender y extraer patrones de cantidades colosales de datos instantáneamente y sin fatiga, lo que le permite tomar decisiones o predecir eventos con una precisión y rapidez sin igual.
  • Resolución de Problemas Globales: Podría abordar desafíos globales—cambio climático, pandemias, escasez de recursos, enfermedades complejas—con niveles de eficacia y creatividad que van mucho más allá de la capacidad colectiva de la humanidad.
  • Autonomía Total: Requiere muy poca o ninguna intervención humana; puede aprender, adaptarse y actuar por sí misma en cualquier ámbito.
  • Potencial para la Auto-Conservación: Puede desarrollar objetivos propios y motivaciones que, si no están alineados con los humanos, podrían suponer riesgos existenciales o imprevisibles.
Sí, bueno, si miras estas características, tal vez estés pensando en SkyNET, y no creas que no te entiendo, pero no voy a centrarme en eso, sino en la parte de Autonomía Total donde nos encontraríamos con una Inteligencia Artificial que se podría mejor a sí misma. Y de eso va el último paper de la Universidad de Shanghai Jiao Tong, titulado "AlphaGo Model for Model Architecture Discovery", o lo que es lo mismo, un momento como el que sufrió el gran jugador de Go, Lee Sedol cuando se dio cuenta de que no podía vencer a la IA jugando al Go, y decidió retirarse joven - como se explica de auténtica maravilla en el libro de MANIAC que debes leerte sí o sí.

Figura 7: Maniac 

En este caso, el objetivo del paper es poner a la Inteligencia Artificial a hacer algo que tiene que ver consigo mismo, es decir, crear y evaluar nuevas arquitecturas para los modelos de Inteligencia Artificial, algo que no es ni mucho trivial y que marca la diferencia en la calidad del modelo, y el entorno de aplicación. Esto se lo sabe bien Meta, que parte de su revolución tiene que ver con la construcción del nuevo modelo Llama 5, después de que Llama 4 no cumpliera las expectativas por culpa, entre otras cosas, de la arquitectura elegida  -  además de otras, insisto -.
En este trabajo estamos hablando de justo una de las características de la ASI, para que ella misma sea capaz de crear y mejorar sus algoritmos, utilizando un modelo de evaluación que le permite evolucionar los más exitosos. En total, el algoritmo, con unas 20.000 horas de computo ha conseguido generar 106 nuevas arquitecturas State-of-the-art (SOTA) para modelos de Inteligencia Artificial. Un avance en innovación espectacular.
El nombre de la IA, como podéis ver, es Artificial Super Inteligence ASI - Arch, y abre un montón de nuevas líneas de investigación, o nuevas evoluciones, con trabajar durante más horas de computación para crear nuevas arquitecturas que resuelvan mejor problemas de hoy en día.

Visto todo esto, la sensación de que estamos en ese momento de la historia en el que la competición Geo-Política por el dominio del futuro se basa en la IA se acentúa. Hay nuevos Proyectos Manhattans, y una nueva carrera por el domino de la Súper Inteligencia Artificial en el mundo, hay nuevos Oppenheimers, nuevos Alamos, nuevos Von Neumann, nuevos científicos, investigadores, visionarios e impulsores, y hacen que esta carrera sea vertiginosa. 

¿Y Europa? Pues es la gran pregunta, pero está claro que la carrera hace tiempo que comenzó, y que recuperar la ventaja que llevan los otros hace que haya que invertir el doble o el triple, que haya que correr más, y que haya que recuperar mucho del talento que se ha ido buscando nuevas oportunidades. Es apasionante este mundo, y los que estamos disfrutando de esta velocidad estamos al mismo tiempo emocionados y con cierta sensación de mareo.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, mayo 18, 2025

AlphaEvolve: Un Agente AI para optimizar algoritmos

Desde hace años tengo la sana costumbre de disfrutar con mis amigos en un viaje de una semana donde solemos irnos de aventura por mares, países y lugares fuera de las tierras de España. Es un viaje donde las rias y la diversión son la tónica general, pero, como somos como somos, nuestras comidas, cenas y conversaciones suelen ser de programación de algoritmos con Q# para entornos de simulación de Quantum Computing y la Supremacía Cuántica, de cómo hacer transacciones de BitCoin sin usar un Exchanger y los problemas de los tamaños de bloques - que se explica bien en este libro - y el coste de la compra por eso, de las arquitecturas Serverless en plataformas de Cloud Computing, de mil y una aventura de Hacking y, cómo no, de Inteligencia Artificial.
Una de las mañanas, en uno de esos viajes, el más madrugador de todos nosotros, es decir: yo, me desayunaba con el paper de AlphaDev, donde los investigadores habían sido capaces de generar un algoritmo de ordenación con menos instrucciones. Estábamos en mitad del mar, y desde el pequeño velero donde estaba desayunando con mi ordenador estaba emocionado esperando a que se levantaran mis amigos para comentarlo, y al mismo tiempo, preparar el artículo que a la postre os publiqué: "AlphaDev: La IA que optimiza la implementación de los algoritmos mejor que los humanos"
Pero han pasado dos años, y el uso de modelos de DeepLearning con entrenamiento reforzado que se usó en el paper de AlphaDev ha seguido evolucionando, y nos ha llevado al anuncio que ha hecho el equipo de Google DeepMind para publicar AlphaEvolve, un Agente AI que utiliza los LLMs para hacer optimización de algoritmos.
La idea es básicamente la misma que tenía AlphaDev, pero aprovechándose AlphaEvolve de los avances en los LLMs, lo que permite utilizar modelos de Deep Reasoning como Gemini 2.0 Pro, combinado con Gemini 2.0 Flash, y luego tener una arquitectura del Agente AI que permita evaluar las soluciones, tal y como podéis ver en el siguiente esquema.
Como podéis ver en la imagen, además de dar almacenar el código con todos sus componentes a evolucionar, y el Prompt de configuración del agente para generar la optimización, se ensamblan varios motores de LLMs para luego pasar por un conjunto de evaluadores que comprueban la validez y el resultado de las soluciones propuestas por los diferentes LLMs para responder con la mejor de ellas y evitar el problema del indeterminismo y las alucinaciones. Las características de AlphaEvolve son:

Como ejemplo de funcionamiento tenéis este ejemplo, donde se le pide optimizar el código de un algoritmo. En la siguiente imagen está la definición del código que se quiere optimizar, que se marca con EVOLVE-BLOCK.
Después, el Prompt de acción para generar el resultado del código optimizado en las métricas que se solicitan, que no siempre la optimización es el número de instrucciones, el tamaño en memoria o la velocidad de resolución.
Y el resultado mostrado por el Agente AI de AlphaEvolve es el que tenéis en pantalla, donde se índica qué partes del código son las que se recomiendan cambiar, y cuál es la optimización que se consigue a través de realizar esos cambios.
La optimización de los algoritmos y el código, es algo que en los LLMs se lleva haciendo tiempo. Yo os publiqué el artículo de "ChatGPT: Cómo hacer (y mejorar) mi Trabajo de Fin de Carrera de la Universidad en un par de minutos" donde usaba el truco de hacer "challenge" constante al código generado por ChatGPT para ir mejorando el código en rendimiento, en calidad, en seguridad. Con AlphaEvolve se busca hacer un trabajo mucho más específico en optimizaciones de código a bajo nivel, y los resultados que presentan son muy interesantes.


En la imagen anterior tenéis los resultados de la optimización de un algoritmo para, dados tres números (m,n,p), multiplicar matrices m x n y n x p. En todos los supuestos la solución propuesta por AlphaEvolve es igual o mejor que el algoritmo original que se entrego. Y en la imagen siguiente tienes el código de entrada, el Prompt y la propuesta para el algoritmo de multiplicación de matrices.
Google ha publicado varios ejemplos en distintas disciplinas donde han utilizado AlphaEvolve para optimizar sus soluciones en diferentes áreas de la compañía, como el algoritmo de planificación de Borg para los datacenters, el diseño de los circuitos en sus TPUs (Tensor Processing Unit)  o el entrenamiento de Gemini donde AlphaEvolve propuso optimizaciones del 32% del algoritmo de FlashAttention.


En el artículo recogen algún otro ejemplo completo para que puedas analizar cómo AlphaEvolve analiza y propone las mejoras de optimización según el objetivo que se le ha pedido, y los resultados que han obtenido en diferentes tipos de soluciones.
Al final, la Inteligencia Artificial está transformando todos los sectores, la ciberseguridad como vemos artículo tras artículo, el trabajo diario de casi cualquier profesión, y por supuesto el desarrollo de software y la algorítmica. Y esto es algo que, al igual que os decía que GitHub y los repositorios de proyectos OpenSource deberían hacer para ciberseguridad, podrían hacer también para optimización. Mucha evolución en el desarrollo de software para que sea más rápido, más eficiente, más optimizado y más seguro..

PD: Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los posts, papers y charlas que he escrito, citado o impartido sobre este tema: Inteligencia Artificial (Hacking & Security): Links, Posts, Talks & Papers

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares