Mitigación de errores de lectura para la primitiva Sampler utilizando M3
Estimación de uso: menos de un minuto en un procesador Heron r2 (NOTA: Esta es solo una estimación. Su tiempo de ejecución puede variar.)
Antecedentes
A diferencia de la primitiva Estimator, la primitiva Sampler no tiene soporte integrado para la mitigación de errores. Varios de los métodos soportados por el Estimator están diseñados específicamente para valores esperados y, por lo tanto, no son aplicables a la primitiva Sampler. Una excepción es la mitigación de errores de lectura, que es un método altamente efectivo y también aplicable a la primitiva Sampler.
El complemento M3 de Qiskit implementa un método eficiente para la mitigación de errores de lectura. Este tutorial explica cómo utilizar el complemento M3 de Qiskit para mitigar errores de lectura con la primitiva Sampler.
¿Qué es el error de lectura?
Inmediatamente antes de la medición, el estado de un registro de qubits se describe mediante una superposición de estados base computacionales, o mediante una matriz de densidad. La medición del registro de qubits en un registro de bits clásicos procede entonces en dos pasos. Primero se realiza la medición cuántica propiamente dicha. Esto significa que el estado del registro de qubits se proyecta sobre un único estado base que se caracteriza por una cadena de s y s. El segundo paso consiste en leer la cadena de bits que caracteriza este estado base y escribirla en la memoria de la computadora clásica. Llamamos a este paso lectura. Resulta que el segundo paso (lectura) incurre en más error que el primer paso (proyección sobre estados base). Esto tiene sentido cuando se recuerda que la lectura requiere detectar un estado cuántico microscópico y amplificarlo al ámbito macroscópico. Un resonador de lectura se acopla al qubit (transmon), experimentando así un desplazamiento de frecuencia muy pequeño. Un pulso de microondas se hace rebotar en el resonador, experimentando a su vez pequeños cambios en sus características. El pulso reflejado se amplifica y analiza. Este es un proceso delicado y está sujeto a una gran cantidad de errores.
El punto importante es que, aunque tanto la medición cuántica como la lectura están sujetas a error, la última incurre en el error dominante, llamado error de lectura, que es el enfoque de este tutorial.
Antecedentes teóricos
Si la cadena de bits muestreada (almacenada en la memoria clásica) difiere de la cadena de bits que caracteriza el estado cuántico proyectado, decimos que ha ocurrido un error de lectura. Se observa que estos errores son aleatorios y no están correlacionados de muestra a muestra. Ha resultado útil modelar el error de lectura como un canal clásico ruidoso. Es decir, para cada par de cadenas de bits y , existe una probabilidad fija de que un valor verdadero de sea leído incorrectamente como .
Más precisamente, para cada par de cadenas de bits , existe una probabilidad (condicional) de que se lee , dado que el valor verdadero es Es decir,
donde es el número de bits en el registro de lectura. Para ser concretos, asumimos que es un entero decimal cuya representación binaria es la cadena de bits que etiqueta los estados base computacionales. Llamamos a la matriz la matriz de asignación. Para un valor verdadero fijo , la suma de la probabilidad sobre todos los resultados ruidosos debe dar . Es decir,
Una matriz sin entradas negativas que satisface (1) se denomina estocástica por la izquierda. Una matriz estocástica por la izquierda también se denomina estocástica por columnas porque cada una de sus columnas suma . Determinamos experimentalmente valores aproximados para cada elemento mediante la preparación repetida de cada estado base y luego el cálculo de las frecuencias de ocurrencia de las cadenas de bits muestreadas.
Si un experimento implica estimar una distribución de probabilidad sobre cadenas de bits de salida mediante muestreo repetido, entonces podemos usar para mitigar el error de lectura a nivel de la distribución. El primer paso es repetir un circuito fijo de interés muchas veces, creando un histograma de cadenas de bits muestreadas. El histograma normalizado es la distribución de probabilidad medida sobre las cadenas de bits posibles, que denotamos por . La probabilidad (estimada) de muestrear la cadena de bits es igual a la suma sobre todas las cadenas de bits verdaderas , cada una ponderada por la probabilidad de que sea confundida con . Esta afirmación en forma matricial es
donde es la distribución verdadera. En palabras, el error de lectura tiene el efecto de multiplicar la distribución ideal sobre cadenas de bits por la matriz de asignación para producir la distribución observada . Hemos medido y , pero no tenemos acceso directo a . En principio, obtendremos la distribución verdadera de cadenas de bits para nuestro circuito resolviendo numéricamente la ecuación (2) para .
Antes de continuar, vale la pena señalar algunas características importantes de este enfoque ingenuo.
- En la práctica, la ecuación (2) no se resuelve invirtiendo . Las rutinas de álgebra lineal en las bibliotecas de software emplean métodos que son más estables, precisos y eficientes.
- Al estimar , asumimos que solo ocurrieron errores de lectura. En particular, asumimos que no hubo errores de preparación de estado ni de medición cuántica, o al menos que fueron mitigados de otra manera. En la medida en que esta sea una buena suposición, realmente representa solo el error de lectura. Pero cuando usamos para corregir una distribución medida sobre cadenas de bits, no hacemos tal suposición. De hecho, esperamos que un circuito interesante introduce ruido, por ejemplo, errores de compuerta. La distribución "verdadera" todavía incluye efectos de cualquier error que no se haya mitigado de otra manera.
Este método, aunque útil en algunas circunstancias, tiene algunas limitaciones.
Los recursos de espacio y tiempo necesarios para estimar crecen exponencialmente en :
- La estimación de y está sujeta a error estadístico debido al muestreo finito. Este ruido puede hacerse tan pequeño como se desee a costa de más disparos (hasta la escala temporal de los parámetros de hardware que derivan y resultan en errores sistemáticos en ). Sin embargo, si no se hacen suposiciones sobre las cadenas de bits observadas al realizar la mitigación, el número de disparos requeridos para estimar crece al menos exponencialmente en .
- es una matriz de . Cuando , la cantidad de memoria requerida para almacenar es mayor que la memoria disponible en una computadora portátil potente.
Otras limitaciones son:
- La distribución recuperada puede tener una o más probabilidades negativas (aunque sumen uno). Una solución es minimizar sujeto a la restricción de que cada entrada en sea no negativa. Sin embargo, el tiempo de ejecución de tal método es órdenes de magnitud más largo que resolver directamente la ecuación (2).
- Este procedimiento de mitigación funciona a nivel de una distribución de probabilidad sobre cadenas de bits. En particular, no puede corregir un error en una cadena de bits individual observada.
Complemento M3 de Qiskit: Escalando a cadenas de bits más largas
Resolver la ecuación (2) usando rutinas estándar de álgebra lineal numérica está limitado a cadenas de bits de no más de aproximadamente 10 bits. M3, sin embargo, puede manejar cadenas de bits mucho más largas. Dos propiedades clave de M3 que hacen esto posible son:
- Se asume que las correlaciones en el error de lectura de orden tres y superior entre colecciones de bits son despreciables y se ignoran. En principio, a costa de más disparos, se podrían estimar correlaciones de orden superior también.
- En lugar de construir explícitamente, usamos una matriz efectiva mucho más pequeña que registra probabilidades solo para las cadenas de bits recolectadas al construir .
A un alto nivel, el procedimiento funciona de la siguiente manera.
Primero, construimos bloques a partir de los cuales podemos construir una descripción simplificada y efectiva de . Luego, ejecutamos repetidamente el circuito de interés y recolectamos cadenas de bits que usamos para construir tanto como, con la ayuda de los bloques, una efectiva.
Más precisamente,
-
Se estiman matrices de asignación de un solo qubit para cada qubit. Para hacer esto, preparamos repetidamente el registro de qubits en el estado de todos ceros y luego en el estado de todos unos , y registramos la probabilidad para cada qubit de que sea leído incorrectamente.
-
Se asume que las correlaciones de orden tres y superior son despreciables y se ignoran.
En su lugar, construimos un número de matrices de asignación de un solo qubit de , y un número de matrices de asignación de dos qubits de . Estas matrices de asignación de uno y dos qubits se almacenan para uso posterior.
-
Después de muestrear repetidamente un circuito para construir , construimos una aproximación efectiva de usando solo las cadenas de bits que se muestrean al construir . Esta matriz efectiva se construye usando las matrices de uno y dos qubits descritas en el elemento anterior. La dimensión lineal de esta matriz es a lo sumo del orden del número de disparos utilizados en la construcción de , que es mucho menor que la dimensión de la matriz de asignación completa .
Para detalles técnicos sobre M3, puede consultar Scalable Mitigation of Measurement Errors on Quantum Computers.
Aplicación de M3 a un algoritmo cuántico
Aplicaremos la mitigación de lectura de M3 al problema del desplazamiento oculto. El problema del desplazamiento oculto, y problemas estrechamente relacionados como el problema del subgrupo oculto, fueron concebidos originalmente en un entorno tolerante a fallos (más precisamente, ¡antes de que se demostrara que los QPU tolerantes a fallos eran posibles!). Pero también se estudian con los procesadores disponibles. Un ejemplo de aceleración exponencial algorítmica obtenida para una variante del problema del desplazamiento oculto en QPU IBM® de 127 qubits se puede encontrar en este artículo (versión arXiv).
En lo que sigue, toda la aritmética es booleana. Es decir, para , la suma, es la función lógica XOR. Además, la multiplicación (o ) es la función lógica AND. Para , se define por la aplicación bit a bit de XOR. El producto punto se define por .
Operador de Hadamard y transformada de Fourier
Al implementar algoritmos cuánticos, es muy común usar el operador de Hadamard como una transformada de Fourier. Los estados base computacionales a veces se denominan estados clásicos. Están en una relación biunívoca con las cadenas de bits clásicas. El operador de Hadamard de qubits sobre estados clásicos puede verse como una transformada de Fourier sobre el hipercubo booleano:
Considera un estado correspondiente a una cadena de bits fija . Aplicando , y usando , vemos que la transformada de Fourier de puede escribirse como
La Hadamard es su propia inversa, es decir, . Así, la transformada de Fourier inversa es el mismo operador, . Explícitamente, tenemos,
El problema del desplazamiento oculto
Consideramos un ejemplo simple de un problema de desplazamiento oculto. El problema consiste en identificar un desplazamiento constante en la entrada de una función. La función que consideramos es el producto punto. Es el miembro más simple de una gran clase de funciones que admiten una aceleración cuántica para el problema de desplazamiento oculto mediante técnicas similares a las presentadas a continuación.
Sean cadenas de bits de longitud . Definimos por
Sean cadenas de bits fijas de longitud . Además definimos por
donde y son parámetros (ocultos). Se nos dan dos cajas negras, una que implementa y la otra . Suponemos que sabemos que calculan las funciones definidas anteriormente, excepto que no conocemos ni ni . El juego consiste en determinar las cadenas de bits (desplazamientos) ocultas y haciendo consultas a y . Está claro que si jugamos el juego de forma clásica, necesitamos consultas para determinar y . Por ejemplo, podemos consultar con todos los pares de cadenas tales que un elemento del par sea todo ceros, y el otro elemento ten exactamente un elemento establecido en . En cada consulta, aprendemos un elemento de o de . Sin embargo, veremos que, si las cajas negras se implementan como circuitos cuánticos, podemos determinar y con una sola consulta a cada una de y .
En el contexto de la complejidad algorítmica, una caja negra se denomina oráculo. Además de ser opaco, un oráculo tiene la propiedad de que consume la entrada y produce la salida instantáneamente, sin agregar nada al presupuesto de complejidad del algoritmo en el que está integrado. De hecho, en el caso que nos ocupa, los oráculos que implementan y resultarán ser eficientes.
Circuitos cuánticos para y
Necesitamos los siguientes ingredientes para implementar y como circuitos cuánticos.
Para estados clásicos de un solo qubit , con , la compuerta controlada puede escribirse como