Skip to main content
IBM Quantum Platform

Configurar la gestión del ruido con Estimator

  • El código de esta página se ha desarrollado teniendo en cuenta los siguientes requisitos. Recomendamos utilizar estas versiones o posteriores.

    qiskit-ibm-runtime~=0.47.0
    

Hay varias formas de gestionar el ruido, normalmente mediante el uso de diversas técnicas de mitigación y supresión de errores para evitarlos antes de que se produzcan. Estas técnicas suelen generar una sobrecarga de preprocesamiento. Por lo tanto, es importante encontrar un equilibrio entre perfeccionar los resultados y garantizar que el trabajo se complete en un plazo razonable.

Estimator admite las siguientes técnicas de gestión del ruido. Consulte «Técnicas de mitigación y supresión de errores» para obtener una explicación de cada una de ellas. Consulte la sección «Configuración de errores personalizados» para obtener instrucciones sobre cómo habilitar estas técnicas.


Nivel de resiliencia

El resilience_level especifica el nivel de resiliencia que se debe incorporar para hacer frente a los errores. Los niveles más altos generan resultados más precisos, a costa de tiempos de procesamiento más largos. Los niveles de resiliencia pueden utilizarse para configurar el equilibrio entre coste y precisión al aplicar la gestión del ruido a su consulta primitiva. La gestión del ruido reduce los errores (sesgos) en los resultados mediante el procesamiento de las señales de salida de un conjunto de circuitos relacionados. El grado de reducción del error depende del método aplicado. El nivel de resiliencia abstracta la elección concreta del método de gestión del ruido para permitir a los usuarios evaluar la relación entre coste y precisión más adecuada para su aplicación.

Por ello, cada nivel se corresponde con uno o varios métodos con un nivel creciente de sobrecarga de muestreo cuántico, lo que te permite experimentar con diferentes equilibrios entre tiempo y precisión. La siguiente tabla muestra qué niveles y métodos correspondientes están disponibles para cada una de las primitivas.

Nivel de resiliencia
Descripción
Técnica
0Sin medidas de mitigaciónNinguna
1 [Predeterminado]Costes mínimos de mitigación: Mitigar los errores relacionados con los errores de lecturaRotación de la lectura de error de TREX ( eXtinction )
2Costes de mitigación moderados. Por lo general, reduce el sesgo de los estimadores, pero no garantiza que el sesgo sea nulo.Nivel 1 + Extrapolación de ruido cero (ZNE) y giro de compuerta
Atención

Los niveles de resiliencia se encuentran actualmente en fase beta, por lo que la sobrecarga de muestreo y la calidad de la solución variarán de un circuito a otro. Se irán incorporando nuevas funciones, opciones avanzadas y herramientas de gestión de forma continua. No se garantiza que se apliquen métodos específicos de gestión del ruido en cada nivel de resiliencia.

Configurar el Estimador con niveles de resiliencia

Puede utilizar los niveles de resiliencia para especificar técnicas de gestión del ruido, o bien puede configurar técnicas personalizadas de forma individual, tal y como se describe en «Configuración personalizada de errores ».

Importante

Cualquier opción que se especifique manualmente, además del nivel de resiliencia, se aplica de forma adicional al conjunto básico de opciones definido por dicho nivel. Por lo tanto, en principio, se podría establecer el nivel de resiliencia en 1, pero luego desactivar la mitigación de mediciones, aunque esto no es recomendable.

Por ejemplo, al establecer el nivel de resiliencia en 0 se desactiva zne_mitigation, pero estimator.options.resilience.zne_mitigation = True anula ese valor.

Ejemplo

El siguiente código habilita ZNE, TREX y el giro de puertas al configurar resilience_level 2.

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})

Configuración personalizada de gestión del ruido

Puedes activar y desactivar cada uno de los métodos de gestión del ruido mediante las opciones del Estimador.

Note

No todas las opciones son compatibles entre sí en todos los tipos de circuitos. Consulte la tabla de compatibilidad de funciones para obtener más información.

Ejemplo

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True

print(
    f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}"
)
print(
    f">>> measurement error mitigation is turned on: "
    f"{estimator.options.twirling.enable_gates}"
)

Output:

>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True

Desactivar todas las medidas de mitigación de errores

Para obtener instrucciones sobre cómo desactivar todas las medidas de mitigación de errores, consulte la sección «Desactivar todas las medidas de supresión y mitigación de errores» de la guía de opciones de Estimator.


Próximos pasos

Recomendaciones
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.