Recientemente, Google ha presentado su nuevo procesador cuántico Willow, que sucede al anterior chip cuántico Sycamore, también fruto del trabajo de la compañía Google Quantum AI, fundada en el año 2012. Sycamore se anunció en el año 2019 con 54 qubits, mientras que Willow, anunciado hace unas semanas, trae 105 qubits.
Los medios se llenaron de noticias anunciando a bombo y platillo que Willow era capaz de resolver en 5 minutos una tarea que, a un superordenador convencional como es el Google Frontier de HPE en el centro de computación de Oak Ridge, le llevaría 10^25 años, que es un tiempo más prolongado que la edad del universo.
Si bien la computación cuántica es un campo de investigación de gran interés, es conveniente “aterrizar” algunos conceptos para evitar que las expectativas superen la realidad. Algo que, en los tiempos que corren, empieza a suceder con cierta facilidad en materias como la propia computación cuántica, la Inteligencia Artificial, la energía de fusión o el metaverso, por poner algunos ejemplos más o menos evidentes.
El estado de la computación cuántica en 2024
La computación cuántica tiene sus orígenes allá por los años 80 del siglo pasado. De hecho, a principios del presente siglo XXI, ya se planteaba la posibilidad de tener ordenadores cuánticos “de sobremesa” en algún momento del futuro cercano. Ya estamos en ese “futuro cercano” de entonces y la idea de tener un ordenador cuántico de sobremesa sigue siendo ciencia ficción.
Para entender por qué, hay que explicar brevemente en qué se diferencia un ordenador clásico de un ordenador cuántico. En un ordenador clásico, como los PCs de sobremesa o portátiles, así como los Mac o cualquier otro que se nos ocurra, incluyendo los superordenadores y los centros de datos, se trabaja con bits y la llamada “álgebra booleana”.
Foto: Superordenador ENIAC. El estado actual de la computación cuántica es similar al estado del superordenador ENIAC en la década de los años 40 del siglo pasado. Fuente US-Army
Los bits tienen un valor que puede ser “1” o “0”, y se agrupan en cantidades de 8, 16, 32 o 64 bits para conformar la forma de trabajar de los procesadores que se encargan de ejecutar el código de los programas. Los primeros ordenadores funcionaban con procesadores de 8 bits, después pasaron a 16 bits y 32 bits hasta llegar a los 64 bits de los procesadores actuales.
Puede haber ordenadores que usen más bits, o puede que, internamente, en algunos casos, los procesadores puedan operar con registros de más bits hasta llegar incluso a los 512. Pero, la arquitectura de los ordenadores que conocemos funciona con registros de 64 bits. La arquitectura de los procesadores define las operaciones que pueden realizarse sobre dichos registros a partir de las líneas de código y los datos de los que se componen los programas.
Los ordenadores tradicionales usan una arquitectura Von Neumann, con instrucciones que se ejecutan en las unidades aritmético-lógicas y datos almacenados en la memoria o los dispositivos de almacenamiento.
El problema de los ordenadores tradicionales estriba en que, a medida que la complejidad de los problemas se incrementa, estos tienen que “trocearse” en grupos de “n” bits para procesarlos de forma secuencial en las CPUs, ya sean x86 o ARM. Es lo que impide que un código criptográfico con claves de 1024 bits, por ejemplo, pueda hackearse usando los ordenadores clásicos. La factorización de números primos con cifras de 1024 bits es imposible de realizar con ordenadores clásicos. Y mucho menos otras como la RSA-2048 o la AES-256.
Foto: en un qubit en estado de superposición cuántica, tenemos infinitos estados posibles definidos por vectores que pueden representarse en la llamada Esfera de Bloch. Fuente: Wikipedia
En un ordenador cuántico, se trabaja con qubits. Estos qubits no tienen valores binarios de “1” y “0”, sino una superposición de infinitos estados (cuánticos). Un procesador cuántico con N qubits, puede manejar simultáneamente 2^N estados, sin necesidad de procesarlos secuencialmente. Los algoritmos cuánticos pueden acceder a esos 2^N estados para operar. Así, para N = 105, tenemos 2^105 estados para realizar operaciones probabilísticas sin necesidad de ir estado tras estados realizando operaciones booleanas, como sucede con los algoritmos tradicionales.
De este modo, teóricamente, un ordenador cuántico con 20 millones de qubits estables, podría romper un código criptográfico RSA-2048 en unas ocho horas usando el algoritmo de Shor, para la factorización de números primos empleando un ordenador cuántico.
Esto es la teoría. Pero ¿y en la práctica?
En el momento presente, la computación cuántica está en un estado de inmadurez tal, que hace inviable cualquier tipo de utilidad práctica más allá de las propias actividades relacionadas con la investigación sobre su desarrollo. Un procesador cuántico que pretenda ser útil precisa de miles, decenas de miles o incluso centenares de miles de qubits para que sea realmente útil.
Foto: qubits en un chip IBM Heron. El tamaño de los qubits actuales es de aproximadamente medio milímetro. Tan solo una fracción del tamaño que tenían en 2018. Fuente: IBM
Por otro lado, la fabricación de los procesadores cuánticos, como el Willow de Google, está aún en un estado muy incipiente. Para que te hagas una idea, el procesador que Google nos muestra en las imágenes de prensa, integra 105 qubits que se verían a simple vista si estuvieran al descubierto. Para dar el salto a procesadores “comerciales” y útiles, habría que miniaturizar los qubits en bastantes órdenes de magnitud.
Los procesadores cuánticos, por otro lado, no pueden operar a temperatura ambiente. Es más, tienen que trabajar a temperaturas cercanas al cero absoluto, inferiores a las que encontramos en el espacio exterior.
Para llevar a los qubits a los estados de superposición necesarios para su funcionamiento, se necesita excitarlos con generadores de frecuencia en el rango de las microondas.
Foto: cada qbit está conectado mediante cables a generadores de microondas para ponerlos en estado de superposición cuántica. Fuente: Google.
La corrección de errores, además, es un apartado que está también en un estado precario. Uno de los mayores logros de Willow es haber demostrado, para este diseño concreto, que a medida que se añaden más qubits es posible mantener los errores dentro de márgenes contenidos o incluso reducir la tasa de errores mediante la agrupación de un número variable de qubits físicos en qubits lógicos. De ahí que se necesiten cantidades de qubits muy elevadas en los potenciales procesadores cuánticos del futuro.
El famoso benchmark de la supremacía cuántica de Google
Si todo está tan en pañales, ¿cómo es posible que Google haya anunciado a bombo y platillo la supremacía cuántica? Esta pregunta creo que resume un poco la polémica que rodea a la computación cuántica.
La supremacía cuántica es un término que alude a la capacidad de un ordenador cuántico para abordar tareas que a un ordenador clásico llevaría una cantidad de tiempo prohibitiva completar. Cuando hablamos de ordenadores clásicos, nos referimos a superordenadores, todo sea dicho.
Que Google haya anunciado la supremacía cuántica con Sycamore primero y Willow después, es un hito con letra pequeña: el benchmark que Google “se sacó de la manga” con Sycamore en 2019, cuando también anunció la supremacía cuántica, es en la práctica un ejercicio más teórico que práctico.
El benchmark RCS (Random Circuit Sampling) lo que hace es generar circuitos cuánticos pseudoaleatorios en el procesador, ya sea el Sycamore primero, con sus 54 qubits (53 bits efectivos) o el Willow ahora con 105 qubits. Estos circuitos cuánticos se generan a través de la inducción de estados de superposición en los qubits. A través de las interconexiones de los procesadores cuánticos se obtienen mediciones que generan cadenas de unos y ceros “colapsados”.
Foto: el benchmark RCS no tiene aplicación práctica alguna más allá de mostrar que en un procesador cuántico es posible manejar simultáneamente un número de estados que alcanza la cifra de 2^n, siendo "n" el número de qbits. Gestionar problemas con un número de estados posibles tan elevado, llevaría en ordenadores clásicos tiempos exponencialmente más prolongados a medida que aumenta el número de estados. Fuente: Google.
Si los procesadores cuánticos funcionan correctamente, sin colapsar, la distribución de cadenas de unos y ceros que se obtiene tras completar algunos miles de iteraciones, muestra patrones similares a los que se obtienen en el fenómeno de interferencia cuántica de fotones.
A medida que aumenta el número de qubits y la profundidad de las interacciones entre dichos qubits, la simulación de este comportamiento aleatorio en un ordenador clásico se vuelve más y más compleja, con un tiempo de ejecución exponencialmente más prolongado. Hasta llegar a la supremacía cuántica de Willow, en la que Google afirma que este procesador cuántico puede completar en 5 minutos una tarea que, a un ordenador clásico (el superordenador Frontier de HP, concretamente) llevaría completar 10 septillones de años, que es un 10 seguido de 25 ceros.
En la práctica, la utilidad de este benchmark es nula. No es como un benchmark de ordenadores clásicos donde se mide el rendimiento en aplicaciones conocidas. Este benchmark RCS sería como generar voltajes y corrientes aleatorias en un procesador Intel o AMD y ver que la respuesta de las puertas lógicas recrea un patrón aleatorio, para después verificar con un superordenador que ese patrón obtenido responde a la teoría.
Foto: en 2018 visitamos los laboratorios de Intel en Delft, en los Países Bajos, para conocer más a fondo al procesador cuántico de Intel, con 50 qbits. La forma de trabajar con los procesadores cuánticos no ha cambiado esencialmente desde entonces. Willow de Google se "programa" de un modo similar a como se hacía entonces. Fuente: Manu Arenas en los laboratorios de Intel en Delft.
Los procesadores cuánticos con utilidad en el mundo real, precisan de incluso millones de qubits para funcionar. Y estamos con 105 en Willow. Y para 105 qubits, tenemos un tamaño de chip tal que ocupa la palma de una mano enteramente, lo cual hace que tengamos por delante un trabajo de miniaturización extremadamente complejo de afrontar, teniendo en cuenta que los qubits se fabrican con materiales semiconductores difíciles de trabajar.
Así que, de momento, lo único que sabemos es que los chips cuánticos responden al paradigma de la computación cuántica, pero son incapaces de realizar tareas útiles debido a la elevada tasa de error (que en Willow se reduce, pero sin llegar a ser un avance definitivo) o al brevísimo tiempo de coherencia de los qubits (100 ms en Willow, mientras que se necesitan del orden de los 10 segundos para aplicaciones prácticas). Por no hablar de la ausencia de algoritmos cuánticos (se están diseñando) o la ausencia de APIs, kits de desarrollo o lenguajes de programación (con el permiso de entornos de programación incipientes como Qiskit de IBM).