Saltar al contenido principal
Este proyecto está en fase beta. ¿Encontraste un error? Abre un issue en GitHub. ¿Tienes una pregunta o una idea? Pregunta en Discussions — ¡nos encantaría tu opinión!
¿Cómo es la calidad de la traducción en esta página?

Técnicas de mitigación y supresión de errores

Nuevo modelo de ejecución, ahora en versión beta

La versión beta de un nuevo modelo de ejecución ya está disponible. El modelo de ejecución dirigida ofrece más flexibilidad para personalizar tu flujo de trabajo de mitigación de errores. Consulta la guía del Modelo de ejecución dirigida para más información.

Las técnicas de mitigación y supresión de errores se utilizan para mejorar la calidad de los resultados al escalar hacia cargas de trabajo más grandes. Esta página proporciona explicaciones de alto nivel de las técnicas de supresión y mitigación de errores disponibles con Qiskit.

Desacoplamiento dinámico​

Los circuitos cuánticos se ejecutan en hardware de IBM® como secuencias de pulsos de microondas que deben programarse y ejecutarse en intervalos de tiempo precisos. Desafortunadamente, las interacciones no deseadas entre qubits pueden producir errores coherentes en qubits inactivos. El desacoplamiento dinámico funciona insertando secuencias de pulsos en los qubits inactivos para cancelar aproximadamente el efecto de estos errores. Cada secuencia de pulsos insertada equivale a una operación de identidad, pero la presencia física de los pulsos tiene el efecto de suprimir los errores. Hay muchas posibles elecciones de secuencias de pulsos, y cuál es mejor para cada caso particular sigue siendo un área activa de investigación.

Ten en cuenta que el desacoplamiento dinámico es principalmente útil para circuitos que contienen intervalos en los que algunos qubits permanecen inactivos sin ninguna operación actuando sobre ellos. Si las operaciones del circuito están muy densamente empaquetadas, de modo que todos los qubits están ocupados la mayor parte del tiempo, la adición de pulsos de desacoplamiento dinámico podría no mejorar el rendimiento. De hecho, incluso podría empeorarlo debido a imperfecciones en los propios pulsos.

El diagrama a continuación muestra el desacoplamiento dinámico con una secuencia de pulsos XX. El circuito abstracto de la izquierda se mapea en una secuencia temporal (programación) de pulsos de microondas en la parte superior derecha. La parte inferior derecha muestra la misma programación, pero con una secuencia de dos pulsos X insertados durante un período de inactividad del primer qubit.

Representación del desacoplamiento dinámico

Puedes habilitar el desacoplamiento dinámico de las siguientes maneras:

Twirling de Pauli​

El twirling, también conocido como compilación aleatoria, es una técnica ampliamente utilizada para convertir canales de ruido arbitrarios en canales de ruido con una estructura más específica.

El twirling de Pauli es un tipo especial de twirling que usa operaciones de Pauli. Tiene el efecto de transformar cualquier canal cuántico en un canal de Pauli. Realizado por sí solo, puede mitigar el ruido coherente porque este tiende a acumularse de forma cuadrática con el número de operaciones, mientras que el ruido de Pauli se acumula de forma lineal. El twirling de Pauli se combina frecuentemente con otras técnicas de mitigación de errores que funcionan mejor con ruido de Pauli que con ruido arbitrario.

El twirling de Pauli se implementa rodeando un conjunto elegido de puertas con puertas de Pauli de un solo qubit elegidas aleatoriamente, de tal manera que el efecto ideal de la puerta permanece igual. El resultado es que un único circuito se reemplaza por un conjunto aleatorio de circuitos, todos con el mismo efecto ideal. Al muestrear el circuito, las muestras se toman de múltiples instancias aleatorias, en lugar de una sola.

Representación del twirling de Pauli

Dado que la mayoría de los errores en el hardware cuántico actual provienen de puertas de dos qubits, esta técnica se aplica frecuentemente de forma exclusiva a puertas de dos qubits (nativas). El siguiente diagrama muestra algunos twirls de Pauli para las puertas CNOT y ECR. Cada circuito dentro de una fila tiene el mismo efecto ideal.

Representación de los twirls de puertas

Puedes habilitar el twirling de Pauli de las siguientes maneras:

Extinción de errores de lectura con twirling (TREX)​

La extinción de errores de lectura con twirling (TREX) mitiga el efecto de los errores de medición en la estimación de valores esperados de observables de Pauli. Se basa en la noción de mediciones con twirling, que se realizan sustituyendo aleatoriamente las puertas de medición por una secuencia de (1) una puerta Pauli X, (2) una medición y (3) un volteo de bit clásico. Al igual que en el twirling de puertas estándar, esta secuencia equivale a una medición simple en ausencia de ruido, como se muestra en el siguiente diagrama:

Representación del twirling de medición

En presencia de errores de lectura, el twirling de medición tiene el efecto de diagonalizar la matriz de transferencia de errores de lectura, facilitando su inversión. Un término de reescalado del canal de ruido diagonal se aprende mediante la caracterización de circuitos aleatorios inicializados en el estado cero. Esto permite al servicio eliminar el sesgo de los valores esperados causado por el ruido de lectura. Estimar la matriz de transferencia de errores de lectura requiere ejecutar circuitos de calibración adicionales, lo que introduce una pequeña sobrecarga.

Puedes habilitar TREX de las siguientes maneras:

Extrapolación a ruido cero (ZNE)​

La extrapolación a ruido cero (ZNE) es una técnica para mitigar errores en la estimación de valores esperados de observables. Aunque a menudo mejora los resultados, no garantiza producir un resultado sin sesgo.

ZNE consta de dos etapas:

  1. Amplificación de ruido: El circuito cuántico original se ejecuta múltiples veces a diferentes tasas de ruido.

  2. Extrapolación: El resultado ideal se estima extrapolando los resultados del valor esperado con ruido hacia el límite de ruido cero.

Tanto la etapa de amplificación de ruido como la de extrapolación pueden implementarse de muchas formas diferentes. IBM Quantum Compute implementa la amplificación de ruido mediante "plegado digital de puertas", lo que significa que las puertas de dos qubits se reemplazan por secuencias equivalentes de la puerta y su inversa. Por ejemplo, reemplazar un unitario UU con UU†UU U^\dagger U produciría un factor de amplificación de ruido de 3. Para la extrapolación, puedes elegir entre varias formas funcionales, incluyendo un ajuste lineal o un ajuste exponencial. La imagen a continuación muestra el plegado digital de puertas a la izquierda y el procedimiento de extrapolación a la derecha.

Representación de ZNE

La sobrecarga de este método escala con el número de factores de ruido. La configuración predeterminada muestrea el valor esperado en tres factores de ruido, lo que lleva a una sobrecarga aproximada de 3x.

Puedes habilitar ZNE de las siguientes maneras:

Amplificación probabilística de errores (PEA)​

Uno de los principales desafíos en ZNE es amplificar con precisión el ruido que afecta al circuito objetivo. El plegado de puertas proporciona una manera fácil de realizar esta amplificación, pero puede ser imprecisa y podría llevar a resultados incorrectos. Consulta el artículo "Scalable error mitigation for noisy quantum circuits produces competitive expectation values", y específicamente la página 4 de la información suplementaria, para más detalles. La amplificación probabilística de errores ofrece un enfoque más preciso para la amplificación de errores mediante el aprendizaje de ruido.

PEA es una técnica más sofisticada que realiza experimentos preliminares para reconstruir el ruido y luego usa esta información para realizar una amplificación precisa. Comienza aprendiendo el modelo de ruido con twirling de cada capa de puertas de entrelazamiento del circuito antes de ejecutarlas. Tras la fase de aprendizaje, los circuitos se ejecutan a cada factor de ruido, donde cada capa de entrelazamiento de los circuitos se amplifica inyectando probabilísticamente ruido de un solo qubit proporcional al modelo de ruido aprendido correspondiente. Consulta el artículo "Evidence for the utility of quantum computing before fault tolerance" para más detalles.

PEA consta de tres etapas:

  1. Aprendizaje: Se aprende el modelo de ruido con twirling de cada capa de puertas de entrelazamiento del circuito.
  2. Amplificación de ruido: El circuito cuántico original se ejecuta múltiples veces a diferentes factores de ruido.
  3. Extrapolación: El resultado ideal se estima extrapolando los resultados del valor esperado con ruido hacia el límite de ruido cero.

Para experimentos a escala de utilidad, PEA suele ser la mejor opción.

Como PEA es una técnica de amplificación de ruido de ZNE, también necesitas habilitar ZNE. Puedes habilitar PEA y ZNE de las siguientes maneras:

Aprendizaje de ruido requerido

Si estás utilizando el nuevo Estimator del lado del cliente introducido en qiskit-ibm-runtime v0.50.0, se requiere un trabajo de aprendizaje de ruido independiente para usar PEA. Consulta Migrar de Sampler y Estimator del lado del servidor a los del lado del cliente para obtener más información.

Cancelación probabilística de errores (PEC)​

La cancelación probabilística de errores (PEC) es una técnica para mitigar errores en la estimación de valores esperados de observables. A diferencia de ZNE, devuelve una estimación insesgada del valor esperado. Sin embargo, generalmente conlleva una mayor sobrecarga.

En PEC, el efecto de un circuito objetivo ideal se expresa como una combinación lineal de circuitos con ruido que son realmente implementables en la práctica:

Oideal=∑iηiOnoisy,i\mathcal{O}_{\text{ideal}} = \sum_{i} \eta_i \mathcal{O}_{noisy, i}

La salida del circuito ideal puede entonces reproducirse ejecutando diferentes instancias de circuitos con ruido extraídas de un conjunto aleatorio definido por la combinación lineal. Si los coeficientes ηi\eta_i forman una distribución de probabilidad, pueden usarse directamente como las probabilidades del conjunto. En la práctica, algunos de los coeficientes son negativos, por lo que forman una distribución de cuasi-probabilidad. Aún pueden usarse para definir un conjunto aleatorio, pero existe una sobrecarga de muestreo relacionada con la negatividad de la distribución de cuasi-probabilidad, caracterizada por la cantidad

γ=∑i∣ηi∣≥1.\gamma = \sum_{i} \lvert \eta_i \rvert \geq 1.

La sobrecarga de muestreo es un factor multiplicativo sobre el número de disparos requeridos para estimar un valor esperado a una precisión dada, en comparación con el número de disparos que se necesitaría del circuito ideal. Escala cuadráticamente con γ\gamma, que a su vez escala exponencialmente con la profundidad del circuito.

Puedes habilitar PEC de las siguientes maneras:

Aprendizaje de ruido requerido

Si estás utilizando el nuevo Estimator del lado del cliente introducido en qiskit-ibm-runtime v0.50.0, se requiere un trabajo de aprendizaje de ruido independiente para usar PEC. Consulta Migrar de Sampler y Estimator del lado del servidor a los del lado del cliente para obtener más información.

Próximos pasos​