Seguridad

Claude Mythos reduce hasta 39 veces el coste de Circuitos Cuánticos

Hace poco os contábamos en este blog cómo Claude Mythos Preview se había sentado atrabajar como criptoanalista y había encontrado nuevas formas de debilitar HAWK y AES. Aquella historia tenía a la Inteligencia Artificial buscando grietas en los algoritmos que
protegen nuestra información. Ahora Claude vuelve a aparecer en el mundo de la Criptografía y la Computación Cuántica,
pero en el lado contrario de la mesa. Esta vez no intenta romper un algoritmo: intenta diseñar
los circuitos con los que funcionarán los ordenadores cuánticos del futuro.

 

La ironía es bastante buena. Una Inteligencia Artificial clásica está ayudando a reducir los
recursos que necesitarán los Quantum Computers que, algún día, podrán ejecutar algoritmos
como el de Shor y poner contra las cuerdas a buena parte de la criptografía actual.

El trabajo, liderado por Andi Gu dentro del programa STEM Fellows de Anthropic junto con
Alek Kemeny, Susanne Yelin y Mikhail Lukin, plantea un experimento aparentemente sencillo:
darle a Claude Mythos 5 la descripción en lenguaje natural de ocho circuitos cuánticos,
dejar que proponga implementaciones en Python y utilizar un evaluador independiente para
comprobar que funcionan y medir cuánto cuestan.

El resultado es de los que obligan a mirar dos veces la tabla. En siete de las ocho tareas,
los circuitos encontrados reducen simultáneamente el número de Puertas Toffoli y el número
de qubits respecto al mejor diseño de referencia. En las comparaciones directas, la mejora
del coste combinado llega hasta 39 veces. Y en la octava tarea Claude no se limitó a
optimizar una implementación conocida: encontró una nueva arquitectura reversible pararealizar inversión modular.


La carrera cuántica no se gana sólo fabricando mejores qubits

Cuando hablamos de Quantum Computing solemos imaginar que el gran cuello de botella
está en el hardware: fabricar más qubits, mantenerlos aislados del ruido y corregir sus errores
durante el tiempo suficiente. Y todo eso es cierto. Los procesadores actuales siguen teniendo
muy pocos qubits para ejecutar muchas de las aplicaciones que prometen una ventaja real, y
además son extraordinariamente frágiles. Pero hay otra forma de acercar una aplicación al hardware disponible: hacer que el
algoritmo necesite mucho menos ordenador.

El ejemplo que utiliza Anthropic es FeMoco, el cluster de hierro y azufre que se encuentra en
el corazón de la nitrogenasa, la enzima con la que algunas bacterias convierten el nitrógeno
del aire en amoníaco. Entender su química podría ayudar a diseñar catalizadores industriales
mejores y procesos de fabricación de fertilizantes más limpios.

En 2017 se estimó que calcular su energía fundamental exigiría alrededor de 50 billones de
puertas
Toffoli. Después de ocho años de mejoras algorítmicas y rediseños de circuitos, la
estimación cayó hasta unos
340 millones: aproximadamente 150.000 veces menos. No apareció de repente un ordenador 150.000 veces mejor. Gran parte del progreso consistió
en aprender a pedirle mucho menos trabajo a la máquina. 
Hay dos formas de hacer que un ordenador sea 150.000 veces mejor en una tarea: la primera que el ordenador sea 150.000 veces mejor y la segunda que la tarea sea 150.000 veces más sencilla

Aquí conviene explicar qué se está contando. Un circuito cuántico, igual que uno clásico, se
construye aplicando operaciones elementales. La Puerta Toffoli es especialmente costosa en
una arquitectura tolerante a fallos, así que su número se utiliza como una aproximación al
trabajo lógico y, muchas veces, al tiempo de ejecución.

Pero contar operaciones no basta. También importa cuántos qubits necesita utilizar el circuito
a la vez. Pensad en lo que ocurre con un programa normal: puede guardar resultados en
memoria para no tener que calcularlos de nuevo. Ahorra trabajo, pero ocupa más espacio. En
estos circuitos aparece una negociación parecida: guardar resultados intermedios consume qubits; no guardarlos puede obligar a repetir cálculos.


Por eso los investigadores valoran ambas cosas conjuntamente. Cada propuesta de Claude
recibe una puntuación que combina las operaciones que necesita y los qubits que utiliza. Así
pueden comparar diseños que ahorran por caminos distintos: unos reducen mucho el trabajo,
otros necesitan menos memoria y algunos consiguen mejorar las dos cosas.


La idea es sencilla: hacer la misma tarea con menos recursos, sin que el ahorro en una
parte dispare el gasto en la otra.
La maquinaria de búsqueda se parece más a un laboratorio automático que a una conversación
normal con un chatbot. Cada tarea comienza con una especificación escrita por investigadores
y un programa vacío. Claude propone varias familias de soluciones, escribe el código que
construye cada circuito y recibe del evaluador los errores o la puntuación. Las propuestas
válidas sobreviven y se modifican; las que dejan una ancilla sin limpiar, calculan mal una
salida o incumplen la interfaz quedan descartadas.

El sistema utiliza OpenEvolve para mantener esa búsqueda evolutiva y Claude Mythos 5 para proponer arquitecturas y reescrituras. Entre iteraciones no hay una conversación infinita
que lo recuerde todo: cada sesión recibe una parte limitada del archivo de diseños, sus costes,
algunos intentos anteriores y el feedback del evaluador.

La extraña regla cuántica: aquí no se puede tirar la basura

Hasta aquí parece un problema de optimización de código bastante convencional. El detalle
que lo vuelve realmente interesante es que un circuito cuántico no puede programarse igual
que una aplicación normal.

La primera dificultad es el control de flujo. Un programa clásico mira una condición y decide:
“si ocurre esto, ejecuta A; si no, ejecuta B”. Un circuito cuántico puede estar procesando una
superposición de entradas en la que unas necesitarían A y otras B. No puede seleccionar
tranquilamente una sola rama clásica: tiene que expresar ese comportamiento mediante
operaciones controladas dentro de una secuencia fija de puertas. Y el coste de esas ramas
termina dentro del circuito.

La segunda dificultad es todavía más extraña: no se puede borrar la información
intermedia sin más.

Imaginad que resolvéis un problema en una pizarra. Hacéis unas cuentas auxiliares, utilizáis
el resultado y después borráis la esquina donde estaban los garabatos. En un ordenador
cuántico esa basura no puede desaparecer de manera irreversible. Si queda enganchada al
estado, puede impedir que las amplitudes interfieran como deben. Y si intentáis borrarla de
la manera clásica, destruís la reversibilidad del cálculo.

La salida habitual es el «uncomputation»: una vez utilizado el resultado intermedio, se ejecutan
en sentido inverso las operaciones que lo produjeron hasta devolver los qubits auxiliares a
cero. Funciona, pero cuesta más puertas.

Y esto crea una negociación permanente. Guardar resultados intermedios ahorra repetir
cálculos, pero consume qubits. Limpiarlos cuanto antes libera memoria, pero puede obligar a
recomputarlos más tarde. Diseñar un buen circuito significa encontrar un punto inteligente
en esa frontera.

El primer gran examen que pusieron a Claude fue la suma de puntos sobre curvas
elípticas. Quienes hayáis leído el artículo sobre el algoritmo de Grover ya sabéis que un
algoritmo cuántico no es una especie de magia universal: cada ventaja necesita un circuito
muy concreto.  En este caso la suma de puntos es una pieza central de los algoritmos
cuánticos para resolver el logaritmo discreto en curvas elípticas, el problema sobre el que descansa ECDSA y buena parte de la criptografía de curva elíptica.

El paso más caro de esa suma suele ser la inversión modular. En un ordenador clásico
existe un método muy eficaz llamado divsteps, que va actualizando una pareja de números y
decide en cada ronda si intercambia, suma, resta o divide entre dos.

El problema es que, para ejecutar el proceso al revés, un circuito cuántico tendría que recordar
qué decisión tomó en cada una de sus muchas iteraciones. Guardar toda esa historia de ramas
consume una cantidad enorme de qubits. Por eso un algoritmo clásico excelente podía ser
una mala base para un circuito reversible.


Claude
propuso una salida bastante elegante: tal vez la historia no tenía que guardarse porque
podía reconstruirse mirando el estado actual de los números. Es decir, el propio
resultado de cada paso podía actuar como memoria de la decisión que lo había producido.

Las primeras reglas que encontró funcionaban en ejemplos pequeños y fallaban al llegar a
números de 256 bits. Entonces dejó de probar trucos locales y empezó a estudiar la estructura
matemática de divsteps. Derivó identidades algebraicas, construyó una regla exacta para
recuperar la rama, la comprobó con simulaciones a gran escala y formalizó la afirmación en
Lean. El resultado fue la primera implementación reversible de divsteps sin almacenar toda
la historia de ramas.

Todo ese recorrido nació de un encargo de un párrafo y una ejecución de 53 horas, con
intervención humana limitada a la especificación inicial y a algunas indicaciones para que
explorase alternativas más amplias.

Pero no existe un único circuito ganador. Decodificar la historia ahorra qubits y cuesta
puertas; almacenarla cuesta memoria y puede ahorrar tiempo. Claude produjo una familia de
soluciones que amplía la frontera entre ambos recursos.

La comparación que resume mejor la idea es ésta: frente al diseño anterior con menos qubits,
una de las nuevas variantes utiliza aproximadamente un 12% más de qubits, pero necesita
17 veces menos puertas. En un hardware donde el tiempo sea la restricción dominante,
ésa puede ser una negociación extraordinaria. En otro donde cada qubit sea carísimo, puede
interesar una variante diferente.


Optimizar al propio optimizador cuántico

La segunda historia del trabajo parece un trabalenguas: Claude optimizó el decodificador que
utiliza un algoritmo cuántico de optimización. El algoritmo se llama Decoded Quantum Interferometry o DQI. En vez de buscar
una única respuesta de manera directa, prepara un estado cuántico en el que las soluciones
mejores tienen más probabilidad de aparecer al medir. Para construir ese estado necesita
un decodificador de códigos Reed–Solomon, y ese decodificador era la parte más cara del
circuito.

Para ponerle una imagen al problema, Anthropic utiliza la intersección polinómica óptima donde cada columna admite ciertos valores y buscamos una curva sencilla que pase por tantos de
ellos como sea posible. La figura original permite ver qué intenta optimizar DQI antes de
entrar en la maquinaria del decodificador.

La implementación anterior estaba basada en el algoritmo de Euclides extendido. Es un
método estupendo en un Quantum Computer, pero su secuencia de divisiones e intercambios
depende de la entrada. Para un circuito cuántico con una única secuencia fija de puertas, esa
variabilidad obliga a reservar rondas y operaciones que muchas entradas no necesitarán.
Claude cambió la base del diseño por el algoritmo de Berlekamp–Massey, que realiza el
mismo tipo de actualización en cada ronda y ejecuta un número fijo de rondas. Es una forma
de cálculo mucho más compatible con el control de flujo cuántico.

Aun así quedaba la basura. Una traducción reversible ingenua debería conservar valores
temporales de muchas rondas. Reservar memoria para el peor caso –35 valores excepcionales–
exigiría 665 qubits. Claude volvió a utilizar la misma idea de fondo: reconstruir casi toda
la historia a partir del estado actualizado y guardar únicamente lo que de verdad no puede
recuperarse.

Para saber cuánto espacio necesitaba, escribió un simulador de alta velocidad y ejecutó 403
millones de decodificaciones. Casi todas necesitaron guardar como máximo un valor, por
lo que el circuito reserva sólo 19 qubits. Aproximadamente una de cada 10.000 ejecuciones
necesita más y falla, una probabilidad que entra dentro del presupuesto de error permitido
por la tarea.

La mejora no salió de apretar un único tornillo. Llegó de rediseñar tres capas a la vez: elegir
otro algoritmo, cambiar la forma de hacerlo reversible y dejar de dimensionar la memoria
para un caso extremadamente raro que la propia tarea permitía tratar como fallo. En conjunto, el decodificador Reed–Solomon pasó de unos 5,1 millones de puertas Toffoli y
1.938 qubits a 440.000 Toffoli y 1.837 qubits: una mejora de unas 12 veces en el coste T Q.
Y no fue un caso aislado.

Los ocho problemas cubrían decodificación para optimización, funciones numéricas utilizadas
en simulación, química cuántica, teoría de números y simulación de teorías gauge. En la Función Gaussiana de punto fijo, la mejora del coste T Q llegó a 39 veces; en el ángulo de
rotación de HHL fue de 32 veces; en el potencial de Coulomb, de 9,9; y en una rutina para
simular un sistema no abeliano, de 7,7.

No todas estas cifras significan que una aplicación completa vaya a ejecutarse exactamente 39
veces más rápido
. Son mejoras en primitivas concretas y bajo una función de coste concreta.
Pero esas primitivas se llaman una y otra vez dentro de algoritmos mucho mayores, de modo
que reducirlas puede cambiar de manera significativa la factura total.


Lo más importante no es que Claude escribiera el código

Hay una lectura superficial de este trabajo que sería: “Claude sabe programar circuitos
cuánticos
”. Es cierta, pero se queda corta. Lo realmente interesante es el tipo de entorno científico que han construido. El modelo puede
proponer ideas arriesgadas porque cada resultado terminado pasa por un juez externo. Si
calcula mal, si no devuelve los ancillas a cero o si utiliza demasiados recursos, el evaluador lo
detecta. El sistema no confunde una explicación convincente con una demostración correcta.
Ésta parece ser una de las combinaciones más fértiles para acelerar investigación con
inteligencia artificial:


1. un problema que pueda representarse como código;

2. una comprobación externa y suficientemente barata de la corrección;

3. una función de coste objetiva;

4. y libertad para explorar familias de soluciones que no sean simples retoques locales.

Claude
no se limitó a rebajar contadores. En los dos ejemplos principales cambió la manera
de representar la información que un circuito reversible necesita conservar. La idea recurrente
fue especialmente física: no guardes toda la historia si el estado presente ya contiene
huellas suficientes para reconstruirla.

También conviene mantener los pies en el suelo. Los circuitos no se ejecutaron en un ordenador
cuántico real. El evaluador funciona de forma eficiente porque las tareas estudiadas pertenecen
a una clase concreta: circuitos que implementan funciones clásicas de forma coherente y
que pueden comprobarse siguiendo estados de la base computacional. No cualquier circuito
cuántico arbitrario admite una verificación clásica tan barata.


El coste T Q tampoco representa por igual todas las máquinas. En algunas arquitecturas
dominará el número de puertas; en otras, la profundidad, el enrutamiento o el número de qubits activos. El propio paper subraya que la función de puntuación puede cambiarse para
reflejar restricciones de hardware diferentes.

Y tampoco hubo una ausencia absoluta de humanos. Las especificaciones, las interfaces y
los criterios de corrección fueron escritos por investigadores. En el experimento de curvas
elípticas hubo indicaciones ocasionales para que Claude ampliara la búsqueda, porque el
modelo tendía a ser conservador y a volver a enfoques conocidos. Esa cautela también tuvo
una cara útil: lo llevó a comprobar repetidamente el resultado y a formalizar una parte en
Lean.

Pero el salto sigue siendo difícil de ignorar. La reducción acumulada de FeMoco necesitó ocho
años y muchos equipos. La nueva familia de circuitos para curvas elípticas apareció en una
ejecución de 53 horas. No son comparaciones idénticas, pero sí señalan una diferencia enorme
en la velocidad con la que puede explorarse un espacio de diseños cuando una IA propone y
una máquina verifica.

Y aquí aparece la posibilidad más ambiciosa del trabajo. Un Quantum Computer tolerante a
fallos no es sólo un circuito. También necesita códigos de corrección de errores, decodificadores,
compilación, enrutamiento y decisiones de hardware. Hoy solemos diseñar cada capa por
separado porque hacerlo todo a la vez es demasiado complejo. Pero muchas de esas capas
comparten las mismas propiedades: pueden escribirse como código, comprobarse y puntuarse.
¿Y si una IA pudiera diseñarlas conjuntamente para una aplicación concreta?

Tal vez los primeros ordenadores cuánticos útiles no lleguen únicamente porque aprendamos
a fabricar millones de qubits mejores. Puede que lleguen también porque sistemas como
éste descubran que, para resolver el problema que nos interesa, no necesitábamos tantos qubits ni tantas puertas como creíamos.

La última vez que Claude Mythos apareció en este blog estaba buscando una grieta en la
criptografía postcuántica. Esta vez ha estado diseñando parte de la maquinaria que algún día
podría ejecutar los algoritmos cuánticos contra la criptografía clásica. Visto así, la Inteligencia Artificial no sólo está acelerando la ciencia. También está empezando
a diseñar las herramientas con las que haremos la siguiente.

Saludos,
Otros artículos sobre Quantum Computing publicados:

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.