Instrucciones especialmente adaptadas
De forma predeterminada, las puertas cuánticas y las operaciones de lectura de los ordenadores cuánticos de IBM® están calibradas para ofrecer un rendimiento óptimo en los casos de uso más habituales. Sin embargo, algunas cargas de trabajo se benefician de instrucciones cuyos parámetros están ajustados de forma diferente. Por ejemplo, ( MidCircuitMeasuremeasure_2 ) es una operación de lectura diseñada específicamente para realizar mediciones en el centro de un circuito, y las cz puertas más lentas pueden mejorar los resultados de algunos flujos de trabajo de mitigación de errores.
Las instrucciones especialmente calibradas se presentan en dos formatos, y se accede a ellas de forma diferente:
- Las instrucciones con diferentes firmas se calibran junto con las instrucciones estándar en la calibración predeterminada, por lo que puedes añadirlas a tus circuitos como cualquier otra instrucción. Normalmente se identifican mediante un sufijo, como por ejemplo
measure_2. - Las calibraciones alternativas sustituyen partes de la calibración predeterminada por parámetros ajustados de forma diferente. Se selecciona uno pasando un
calibration_idal recuperar el backend.
Para saber cómo se calibran los ordenadores cuánticos de IBM, consulta «Supervisar, calibrar y evaluar el rendimiento ».
Instrucciones con diferentes firmas
Estas instrucciones están calibradas con el conjunto de instrucciones estándar, por lo que no es necesario realizar ningún paso especial para obtener un backend que las admita. Para utilizar uno, añade la instrucción qiskit-ibm-runtime correspondiente a tu circuito.
Instrucción | Descripción | Caso de uso típico | Uso en Qiskit | Familia del procesador |
|---|---|---|---|---|
measure_2 | Pulso de medición más corto | Mediciones a mitad del circuito | MidCircuitMeasure (versión v0.43.0 o posterior) | Garza, Chotacabras r2 |
reset_2 | Un pulso de reinicio condicional más corto que utiliza measure_2 | Restablecimiento de qubits a mitad del circuito | MidCircuitReset (versión v0.49.0 o posterior) | Garza |
measure_reset | Una medición como measure esa también reinicia el qubit* | Medir y reiniciar un qubit | MeasureReset (versión v0.50.0 o posterior) | Garza, Chotacabras r2 |
measure_reset_2 | Una medición más corta como measure_2 esa también reinicia el qubit* | Medir y reiniciar un qubit en medio de un circuito | Inicializar MeasureReset con ( name="measure_reset_2" versión v0.50.0 o posterior) | Garza, Chotacabras r2 |
xslow | Puerta «bit-flip» (X) con duración ampliada | Selección posterior y mitigación de errores. Es el valor por defecto de la opción x_pulse_type en las pasadas de postselección | XSlowGate (versión v0.50.0 o posterior) | Todos |
* En los procesadores Heron, el reinicio depende del resultado de la medición. En los procesadores Nighthawk r2, el reinicio es incondicional.
Dado que estas instrucciones no son compatibles con todos los backends, comprueba las instrucciones compatibles con el backend antes de utilizarlas:
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService()
backend = service.backend("<backend_name>")
print(backend.supported_instructions)Para encontrar todos los backends que admiten una instrucción, utiliza:
service = QiskitRuntimeService()
backends = service.backends(filters=lambda b: "<instruction>" in b.supported_instructions)Utiliza instruction_signatures para ver las firmas de estas instrucciones especialmente calibradas:
print(backend.configuration().instruction_signatures)Calibraciones alternativas
Las calibraciones alternativas sustituyen partes de la calibración predeterminada por parámetros ajustados de forma diferente. Cada calibración alternativa tiene un identificador de calibración, y su disponibilidad depende de la QPU.
Para utilizar una calibración alternativa, pasa su valor calibration_id al recuperar el backend. El destino del backend —y, por lo tanto, el transpilador— utiliza las propiedades de las instrucciones derivadas de esa calibración, y las tareas primitivas que se ejecutan en el backend se ejecutan con ellas.
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService()
backend = service.backend("<backend_name>", calibration_id="<calibration_id>")
print(backend.calibration_id)No todas las QPU disponen de calibraciones alternativas.
Calibraciones lentas de la compuerta
Las calibraciones de puerta lenta ajustan la cz puerta para que sea más lenta que en la calibración predeterminada. Las puertas cz más lentas podrían mejorar el rendimiento en flujos de trabajo de estimación de observables a gran escala con mitigación de errores, pero también aumentan la duración total del circuito, lo que provoca cierta decoherencia adicional.
En los procesadores Heron, también se dispone de calibraciones de puerta lenta con dos modos de control de polarización del sistema de dos niveles ( TLS ):
- El sesgo de TLS de CC está optimizado para ofrecer el mejor rendimiento instantáneo. La calibración predeterminada utiliza un sesgo de TLS de corriente continua.
- El sesgo AC TLS modula el sesgo TLS para estabilizar los errores del dispositivo a lo largo del tiempo, lo que mantiene estable el modelo de ruido del dispositivo durante flujos de trabajo prolongados. Para más detalles, véase «Estabilización del ruido» en «Estimación observable en ausencia de verificación clásica ».
Los procesadores Nighthawk no utilizan el sesgo de TLS, por lo que cuentan con una única calibración de puerta lenta.
N.º de calibración | Familia del procesador | Sesgo TLS | Recomendado para |
|---|---|---|---|
| Ninguna (calibración predeterminada) | Todos | DC (Garza) | Uso general. Especialmente recomendado para cargas de trabajo cuyas cadenas de bits puedan destilarse de forma clásica, como los circuitos de picos y los flujos de trabajo SQD o SKQD, así como para cargas de trabajo con detección de errores. |
slow_gates_dc | Garza | DC | Flujos de trabajo de estimación de observables a gran escala, especialmente aquellos que utilizan técnicas heurísticas de mitigación de errores, como la extrapolación sin ruido (ZNE). |
slow_gates_ac | Garza | CA | Flujos de trabajo que requieren índices de error estables durante sesiones prolongadas. Muy recomendable para flujos de trabajo que impliquen el aprendizaje del ruido, como la amplificación probabilística de errores (PEA) y la cancelación probabilística de errores (PEC). |
slow_gates | Nighthawk | No aplicable | Flujos de trabajo de estimación de observables que utilizan técnicas de mitigación de errores, como ZNE, PEA y PEC. |
Por ejemplo:
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService()
# On a Heron QPU
backend = service.backend("ibm_kingston", calibration_id="slow_gates_ac")
# backend = service.backend("ibm_kingston", calibration_id="slow_gates_dc")
# On a Nighthawk QPU
backend = service.backend("ibm_phoenix", calibration_id="slow_gates")Cuando utilices slow_gates_ac, envía todos los trabajos del flujo de trabajo a una única sesión para que se ejecuten mientras el ruido del dispositivo se mantenga estable.
Comprobar la duración de los controles de acceso
Dado que las calibraciones lentas de las puertas aumentan la duración de estas cz , compara dichas duraciones con las de la calibración predeterminada para comprender el efecto que tienen en tu circuito. Utiliza el objetivo del backend para averiguar la duración, en segundos, de la puerta cz en un par concreto de qubits:
default_backend = service.backend("<backend_name>")
slow_backend = service.backend(
"<backend_name>", calibration_id="slow_gates_ac"
) # Or slow_gates_dc, or slow_gates on Nighthawk
qubits = (0, 1) # Replace with a connected qubit pair on the backend
print(default_backend.target["cz"][qubits].duration)
print(slow_backend.target["cz"][qubits].duration)Dado que el destino refleja la calibración seleccionada, compila tus circuitos para el backend que utilice la misma calibración que la que tienes calibration_id previsto ejecutar.
Próximos pasos
- Aprende a realizar pruebas en circuitos dinámicos con mediciones a mitad del circuito.
- Utiliza la poselección para filtrar los resultados afectados por ruido correlacionado.
- Descubre cómo se supervisan, calibran y evalúan los ordenadores cuánticos de IBM.