Principios básicos de la corrección de errores cuánticos

En el equipo de Google Quantum AI se han construido qubits superconductores (procesadores cuánticos, la primera realización de qubits) que superan los cálculos clásicos, y también hay una fecha máxima para las simulaciones químicas cuánticas. Sin embargo, la tasa de error de la generación actual de procesadores cuánticos sigue siendo muy alta: del orden de 10 -3 por operación, lo que se considera necesario para una variedad de algoritmos útiles. Cerrar esta enorme brecha en las tasas de error requerirá algo más que simplemente fabricar mejores qubits: las futuras computadoras cuánticas tendrán que utilizar la corrección de errores cuánticos (QEC).

La idea central de QEC es crear qubits lógicos distribuyendo estados cuánticos entre muchos qubits de datos físicos. Cuando se produce un error físico, se puede detectar comprobando repetidamente ciertas propiedades del qubit, corrigiéndolo así y evitando cualquier error en el estado del qubit lógico. Si bien los errores lógicos aún son posibles si una serie de qubits físicos fallan juntos, la tasa de error debería disminuir exponencialmente a medida que se agregan más qubits físicos (se necesitan más qubits físicos para causar un error lógico). Este comportamiento de escala exponencial se basa en errores de qubit físicos, que son raros y suficientemente independientes. En particular, es importante suprimir los errores correlacionados, en los que un error físico afecta a muchos qubits simultáneamente o persiste durante muchos ciclos de corrección de errores. Este error de correlación crea un patrón de detección de errores más complejo que es más difícil de corregir y que tiene más probabilidades de provocar errores lógicos.

Nuestro equipo implementó recientemente la idea de QEC en nuestra arquitectura Sycamore utilizando códigos de repetición cuántica. Estos códigos consisten en cadenas unidimensionales de qubits, que alternan entre qubits de datos, qubits lógicos de codificación y qubits de medición, que utilizamos para detectar errores en estados lógicos. Si bien estos códigos repetidos solo pueden corregir un error cuántico a la vez1, contienen los mismos componentes que los códigos de corrección de errores más complejos y requieren menos qubits físicos por qubit lógico, lo que nos permite explorar mejor cómo los errores lógicos reducen el crecimiento del tamaño de los qubits lógicos.

En "Eliminación de errores correlacionados causados ​​por fugas en la corrección de errores cuánticos superconductores" publicado en Nature Communications, utilizamos estos códigos repetidos para demostrar un método para reducir la cantidad de errores correlacionados en qubits físicos de nuevas tecnologías. Luego, en "Supresión exponencial de errores de inversión de bits o de fase con corrección de errores repetidos", publicado en Nature, mostramos que a medida que agregamos más y más qubits físicos, los errores lógicos de estos códigos repetidos se suprimen exponencialmente, lo cual es consistente con la Expectativas de la teoría QEC.

El objetivo del código repetido es detectar errores en los qubits de datos sin medir directamente su estado. Lo hace entrelazando cada par de qubits de datos con su qubit métrico compartido, lo que nos dice si los estados de esos qubits de datos son iguales o diferentes (es decir, su paridad), sin decirnos el estado mismo. Repetimos este proceso una y otra vez, y cada ronda dura solo un microsegundo. Detectamos un error cuando los números pares e impares medidos cambian entre rondas.

Sin embargo, surge un desafío clave: cómo crear qubits a partir de circuitos superconductores. Un qubit requiere sólo dos estados de energía, generalmente etiquetados |0? ¿Y 1 más? Nuestro dispositivo tiene una escalera de estados energéticos. |0?, |1?, |2?, |3?, etc. Usamos los dos estados de energía más bajos para codificar nuestros qubits, que contienen información para el cálculo (los llamamos estados computacionales). Usamos estados de energía más altos (|2?, |3? y superiores) para ayudar a lograr operaciones de entrelazamiento de alta fidelidad, pero estas operaciones de entrelazamiento a veces permiten que los qubits se "filtren" en estos estados superiores, lo que resulta en El nombre del estado filtrado.

A medida que se aplican las operaciones, la cantidad de estados con fugas aumentará, lo que aumentará los errores en operaciones posteriores e incluso conducirá a la fuga de otros qubits cercanos; las fuentes de errores relacionados son particularmente desafiantes. En nuestros experimentos de depuración a principios de 2015, observamos que con más rondas de depuración, el rendimiento se degradaba a medida que las fugas comenzaban a aumentar.

Reducir el impacto de las fugas requiere que desarrollemos una nueva operación de qubit que pueda "borrar" el estado de la fuga, lo que se denomina reinicio multinivel.

Manipulamos los qubits para bombear rápidamente energía fuera de la estructura para su lectura, donde sale rápidamente del chip y permite que los qubits se enfríen a |0. estado, incluso a partir de |2? O |3 Aplicar esta operación al qubit de datos destruiría el estado lógico que intentamos proteger, pero podemos aplicarla al qubit de medición sin alterar el qubit de datos. Restablecer el qubit de medición al final de cada ronda estabiliza dinámicamente el dispositivo para que la fuga no continúe creciendo y propagándose, haciendo que nuestro dispositivo se parezca más a un qubit ideal.

Después de reducir la fuga, que es una fuente importante de error de correlación, nos propusimos probar si duplicar el código nos proporciona una reducción exponencial en el error de predicción al aumentar el número de qubits. Cada vez que ejecutamos el código duplicado, genera un conjunto de detecciones de errores. Debido a que las detecciones están asociadas con un par de qubits en lugar de un solo qubit, tenemos que observar todas las detecciones para intentar reconstruir dónde ocurrió el error. Este proceso se llama decodificación. Una vez que decodificamos el error, sabemos qué correcciones deben realizarse en los qubits de datos. Sin embargo, si se detectan demasiados errores en la cantidad de qubits de datos utilizados, la decodificación puede fallar y provocar errores lógicos.

Para probar nuestro código repetido, ejecutamos códigos que varían en tamaño de 5 a 21 qubits y también variamos el número de rondas de corrección de errores. También ejecutamos dos tipos diferentes de códigos repetidos (códigos de fase invertida o códigos de bits invertidos) que son sensibles a diferentes tipos de errores cuánticos. Al encontrar la probabilidad de error lógico en función del número de bucles, podemos ajustar la tasa de error lógico para cada tamaño y tipo de código. En nuestros datos, vemos que la tasa de error lógico en realidad disminuye exponencialmente a medida que aumenta el tamaño del código.

Podemos cuantificar la supresión de errores utilizando el parámetro de escala de errores λ (λλ), donde un valor de λ de 2 significa que cada vez que agregamos cuatro qubits de datos al código repetido, reducimos la tasa de error lógico a la mitad. . Encontramos en experimentos que el valor λ del código invertido es 3,18 y el valor λ del código invertido de bits es 2,99. Podemos comparar estos valores experimentales con simulaciones numéricas del λ esperado basadas en un modelo de error simple sin errores asociados. El modelo predice valores de código invertido y de bits de 3,34 y 3,78 respectivamente.

Esta es la primera vez que Lambda se mide en cualquier plataforma con múltiples rondas de detección de errores simultáneamente. Estamos particularmente entusiasmados con la cercanía de los valores de λ entre experimentos y simulaciones porque significa que nuestro sistema puede describirse mediante un modelo de error bastante simple sin muchos errores inesperados. Sin embargo, el protocolo no es perfecto, lo que sugiere que se necesita más investigación para comprender las no idealidades de nuestra arquitectura QEC, incluidas otras fuentes de errores asociados.

Este trabajo muestra dos requisitos previos importantes para QEC: primero, gracias a nuestro nuevo protocolo de reinicio, los dispositivos Sycamore pueden ejecutar múltiples rondas de corrección de errores sin acumular errores con el tiempo; segundo, podemos verificar la teoría y el error de QEC; Los modelos muestran una supresión exponencial de errores en códigos repetitivos. Estos experimentos son las pruebas de estrés más grandes del sistema QEC hasta la fecha. En nuestra prueba más grande, se utilizaron 1000 puertas de entrelazamiento y 500 qubits. Esperamos aplicar lo que aprendamos de estos experimentos a nuestra arquitectura QEC objetivo, un código de superficie bidimensional, que requerirá más qubits con mejor rendimiento.