Zum Hauptinhalt springen

Fehlerminderung konfigurieren

Neues Ausführungsmodell, jetzt in der Betaversion

Die Betaversion eines neuen Ausführungsmodells ist jetzt verfügbar. Das gerichtete Ausführungsmodell bietet mehr Flexibilität bei der Anpassung deines Fehlerminderungs-Workflows. Weitere Informationen findest du in der Anleitung Gerichtetes Ausführungsmodell.

Paketversionen

Der Code auf dieser Seite wurde mit den folgenden Anforderungen entwickelt. Wir empfehlen die Verwendung dieser oder neuerer Versionen.

qiskit-ibm-runtime~=0.43.1

Fehlerminderungstechniken ermöglichen es Benutzern, Schaltkreisfehler durch Modellierung des Geräterauschens zum Zeitpunkt der Ausführung zu mindern. Dies führt typischerweise zu einem quantenmechanischen Vorverarbeitungsaufwand im Zusammenhang mit dem Modelltraining und einem klassischen Nachverarbeitungsaufwand, um Fehler in den Rohergebnissen mithilfe des generierten Modells zu mindern.

Der Estimator-Primitive unterstützt mehrere Fehlerminderungstechniken, darunter TREX, ZNE, PEC und PEA. Eine Erläuterung zu jeder Technik findest du unter Fehlerminderungs- und Unterdrückungstechniken. Bei Verwendung von Primitives kannst du einzelne Methoden ein- oder ausschalten. Details findest du im Abschnitt Benutzerdefinierte Fehlereinstellungen.

hinweis

Sampler unterstützt keine Fehlerminderung, aber du kannst das mthree-Paket (matrixfreie Messungsminderung) verwenden, um die Fehlerminderung lokal durchzuführen.

Estimator unterstützt auch resilience_level. Das Resilience Level gibt an, wie viel Widerstandsfähigkeit gegen Fehler aufgebaut werden soll. Höhere Level erzeugen genauere Ergebnisse, auf Kosten längerer Verarbeitungszeiten. Resilience Levels können verwendet werden, um den Kosten-Genauigkeits-Kompromiss bei der Anwendung von Fehlerminderung auf deine Primitive-Abfrage zu konfigurieren. Die Fehlerminderung reduziert Fehler (Bias) in Ergebnissen durch Verarbeitung der Ausgaben aus einer Sammlung oder einem Ensemble verwandter Schaltkreise. Der Grad der Fehlerreduktion hängt von der angewendeten Methode ab. Das Resilience Level abstrahiert die detaillierte Auswahl der Fehlerminderungsmethode, um Benutzern zu ermöglichen, über den Kosten-Genauigkeits-Kompromiss nachzudenken, der für ihre Anwendung geeignet ist.

Vor diesem Hintergrund entspricht jedes Level einer oder mehreren Methoden mit zunehmendem quantenmechanischen Sampling-Aufwand, damit du mit verschiedenen Zeit-Genauigkeits-Kompromissen experimentieren kannst. Die folgende Tabelle zeigt dir, welche Levels und entsprechende Methoden für jeden der Primitives verfügbar sind.

Achtung

Die Fehlerminderung ist aufgabenspezifisch, sodass die Techniken, die du anwenden kannst, je nachdem variieren, ob du eine Verteilung samplst oder Erwartungswerte generierst.

Estimator unterstützt die folgenden Resilience Levels. Sampler unterstützt keine Resilience Levels.

Resilience LevelDefinitionTechnik
0Keine MinderungKeine
1 [Standard]Minimale Minderungskosten: Fehler im Zusammenhang mit Auslese-Fehlern mindernTwirled Readout Error eXtinction (TREX) Messungs-Twirling
2Mittlere Minderungskosten. Reduziert typischerweise Bias in Estimatoren, ist aber nicht garantiert Null-Bias zu sein.Level 1 + Zero Noise Extrapolation (ZNE) und Gate-Twirling
Achtung

Resilience Levels befinden sich derzeit in der Beta, sodass Sampling-Aufwand und Lösungsqualität von Schaltkreis zu Schaltkreis variieren werden. Neue Features, erweiterte Optionen und Verwaltungstools werden fortlaufend veröffentlicht. Spezifische Fehlerminderungsmethoden sind nicht garantiert auf jedem Resilience Level angewendet zu werden.

Estimator mit Resilience Levels konfigurieren

Du kannst Resilience Levels verwenden, um Fehlerminderungstechniken anzugeben, oder du kannst benutzerdefinierte Techniken einzeln festlegen, wie in Benutzerdefinierte Fehlereinstellungen beschrieben.

Resilience Level 0

Es wird keine Fehlerminderung auf das Benutzerprogramm angewendet.

Resilience Level 1

Level 1 wendet Auslese-Fehlerminderung und Messungs-Twirling durch Anwendung einer modellfreien Technik an, die als Twirled Readout Error eXtinction (TREX) bekannt ist. Sie (Twirling) reduziert Messfehler, indem sie den Rauschkanal, der mit der Messung verbunden ist, diagonalisiert, indem sie Qubits durch X-Gates unmittelbar vor der Messung zufällig kippt. Ein Skalierungsterm aus dem diagonalen Rauschkanal wird durch Benchmarking zufälliger Schaltkreise gelernt, die im Null-Zustand initialisiert werden. Dies ermöglicht es dem Service, Bias aus Erwartungswerten zu entfernen, die aus Auslese-Rauschen resultieren. Dieser Ansatz wird weiter beschrieben in Model-free readout-error mitigation for quantum expectation values.

Resilience Level 2

Level 2 wendet die in Level 1 enthaltenen Fehlerminderungstechniken an und wendet auch Gate-Twirling an und verwendet die Zero Noise Extrapolation-Methode (ZNE). ZNE berechnet einen Erwartungswert der Observablen für verschiedene Rauschfaktoren (Amplifikationsphase) und verwendet dann die gemessenen Erwartungswerte, um den idealen Erwartungswert an der Null-Rausch-Grenze abzuleiten (Extrapolationsphase). Dieser Ansatz neigt dazu, Fehler in Erwartungswerten zu reduzieren, ist aber nicht garantiert, ein unverzerrtes Ergebnis zu erzeugen.

This image shows a graph.  The x-axis is labeled Noise amplification factor.  The y-axis is labeled Expectation value.  An upward sloping line is labeled Mitigated value.  Points near the line are noise-amplified values.  There is a horizontal line just above the X-axis labeled Exact value.

Der Aufwand dieser Methode skaliert mit der Anzahl der Rauschfaktoren. Die Standardeinstellungen sampeln den Erwartungswert bei drei Rauschfaktoren, was zu etwa 3x Aufwand führt, wenn dieses Resilience Level verwendet wird.

In Level 2 kippt die TREX-Methode Qubits zufällig durch X-Gates unmittelbar vor der Messung und kippt das entsprechende gemessene Bit, wenn ein X-Gate angewendet wurde. Dieser Ansatz wird weiter beschrieben in Model-free readout-error mitigation for quantum expectation values.

Beispiel

Die EstimatorV2-Schnittstelle ermöglicht es Benutzern, nahtlos mit einer Vielzahl von Fehlerminderungsmethoden zu arbeiten, um Fehler in Erwartungswerten von Observablen zu reduzieren. Der folgende Code verwendet Zero Noise Extrapolation und Auslese-Fehlerminderung, indem einfach resilience_level 2 gesetzt wird.

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
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})

Benutzerdefinierte Fehlereinstellungen

Du kannst einzelne Fehlerminderungs- und Unterdrückungsmethoden ein- und ausschalten, einschließlich Dynamical Decoupling, Gate- und Messungs-Twirling, Messfehlerminderung, PEC und ZNE. Eine Erläuterung zu jeder Technik findest du unter Fehlerminderungs- und Unterdrückungstechniken.

Hinweise
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: {estimator.options.resilience.measure_mitigation}")

Gesamte Fehlerminderung ausschalten

Anweisungen zum Ausschalten der gesamten Fehlerminderung findest du im Abschnitt Gesamte Fehlerunterdrückung und -minderung ausschalten.

Nächste Schritte

Empfehlungen