Fehlerminderungs- und Fehlerunterdrückungstechniken
Die Beta-Version eines neuen Ausführungsmodells ist jetzt verfügbar. Das Directed Execution Model bietet mehr Flexibilität bei der Anpassung deines Fehlerminderungs-Workflows. Weitere Informationen findest du im Directed execution model-Guide.
Fehlerminderungs- und Fehlerunterdrückungstechniken werden verwendet, um die Ergebnisqualität beim Skalieren auf größere Workloads zu verbessern. Diese Seite bietet High-Level-Erklärungen der mit Qiskit verfügbaren Fehlerunterdrückungs- und Fehlerminderungstechniken.
Dynamical Decoupling
Quantenschaltungen werden auf IBM®-Hardware als Sequenzen von Mikrowellenpulsen ausgeführt, die zu präzisen Zeitintervallen geplant und ausgeführt werden müssen. Leider können unerwünschte Interaktionen zwischen Qubits zu kohärenten Fehlern auf inaktiven Qubits führen. Dynamical Decoupling funktioniert, indem auf inaktiven Qubits Pulssequenzen eingefügt werden, um die Wirkung dieser Fehler annähernd zu kompensieren. Jede eingefügte Pulssequenz entspricht einer Identitätsoperation, aber die physische Anwesenheit der Pulse hat die Wirkung, Fehler zu unterdrücken. Es gibt viele mögliche Optionen für Pulssequenzen, und welche Sequenz für jeden speziellen Fall besser ist, bleibt ein aktives Forschungsgebiet.
Beachte, dass Dynamical Decoupling hauptsächlich für Schaltungen nützlich ist, die Lücken enthalten, in denen einige Qubits ohne Operationen inaktiv sind. Wenn die Operationen in der Schaltung sehr dicht gepackt sind, sodass alle Qubits die meiste Zeit beschäftigt sind, verbessert das Hinzufügen von Dynamical-Decoupling-Pulsen möglicherweise nicht die Leistung. Tatsächlich könnte es die Leistung sogar aufgrund von Unvollkommenheiten in den Pulsen selbst verschlechtern.
Das untenstehende Diagramm zeigt Dynamical Decoupling mit einer XX-Pulssequenz. Die abstrakte Schaltung links wird auf einen Mikrowellenpuls-Plan oben rechts abgebildet. Die untere rechte Seite zeigt denselben Plan, jedoch mit einer Sequenz von zwei X-Pulsen, die während einer Leerlaufperiode des ersten Qubits eingefügt werden.

Du kannst Dynamical Decoupling auf folgende Arten aktivieren:
- Der Dynamical-Decoupling-Transpiler-Pass in Qiskit
- Die Dynamical-Decoupling-Option bei Verwendung von IBM Quantum Estimator oder Sampler
Pauli Twirling
Twirling, auch bekannt als randomized compiling, ist eine weit verbreitete Technik zur Umwandlung beliebiger Rauschkanäle in Rauschkanäle mit spezifischerer Struktur.
Pauli-Twirling ist eine spezielle Art von Twirling, die Pauli-Operationen verwendet. Es bewirkt, dass jeder Quantenkanal in einen Pauli-Kanal transformiert wird. Allein durchgeführt kann es kohärentes Rauschen mildern, da sich kohärentes Rauschen typischerweise quadratisch mit der Anzahl der Operationen aufsummiert, Pauli-Rauschen dagegen nur linear. Pauli-Twirling wird oft mit anderen Fehlerminderungstechniken kombiniert, die besser mit Pauli-Rauschen als mit beliebigem Rauschen funktionieren.
Pauli Twirling wird implementiert, indem ein ausgewählter Satz von Gates mit zufällig ausgewählten Einzel-Qubit-Pauli-Gates umgeben wird, sodass die ideale Wirkung des Gates gleich bleibt. Das Ergebnis ist, dass eine einzelne Schaltung durch ein zufälliges Ensemble von Schaltungen ersetzt wird, alle mit der gleichen idealen Wirkung. Beim Sampling der Schaltung werden Samples aus mehreren zufälligen Instanzen gezogen, anstatt nur aus einer einzigen.
Da die meisten Fehler in aktueller Quanten-Hardware von Zwei-Qubit-Gates stammen, wird diese Technik oft ausschließlich auf (native) Zwei-Qubit-Gates angewendet. Das folgende Diagramm zeigt einige Pauli Twirls für die CNOT- und ECR-Gates. Jede Schaltung innerhalb einer Zeile hat die gleiche ideale Wirkung.

Du kannst Pauli Twirling auf folgende Arten aktivieren:
- Ein benutzerdefinierter Pauli-Twirling-Pass in Qiskit
- Die Twirling-Optionen bei Verwendung von IBM Quantum Estimator oder Sampler
Twirled Readout Error eXtinction (TREX)
Twirled Readout Error eXtinction (TREX) mildert die Wirkung von Messfehlern für die Schätzung von Pauli-Observablen-Erwartungswerten. Es basiert auf dem Konzept der getwirlten Messungen, die durch zufällige Ersetzung von Mess-Gates durch eine Sequenz von (1) einem Pauli X-Gate, (2) einer Messung und (3) einem klassischen Bit-Flip erreicht werden. Genau wie beim Standard-Gate-Twirling ist diese Sequenz in Abwesenheit von Rauschen einer einfachen Messung äquivalent, wie im folgenden Diagramm dargestellt:
Bei Vorhandensein von Auslesefehlern bewirkt Mess-Twirling, dass die Auslesefehler-Transfermatrix diagonalisiert wird, was es leicht macht, sie zu invertieren. Ein Skalierungsterm aus dem diagonalen Rauschkanal wird durch Benchmarking zufälliger Schaltungen, die im Null-Zustand initialisiert werden, erlernt. Dadurch kann der Service Bias aus Erwartungswerten entfernen, der durch Ausleserauschen entsteht. Die Schätzung der Auslesefehler-Transfer-Matrix erfordert die Ausführung zusätzlicher Kalibrierungsschaltungen, was einen kleinen Overhead einführt.
Du kannst TREX auf folgende Arten aktivieren:
- Das Addon Qiskit Mitigation für Qiskit
- Die Option
measure_mitigationbei Verwendung von IBM Quantum Estimator - Das Resilience-Level bei Verwendung von IBM Quantum Estimator
Zero-Noise Extrapolation (ZNE)
Zero-Noise Extrapolation (ZNE) ist eine Technik zur Fehlerminderung bei der Schätzung von Erwartungswerten von Observablen. Obwohl sie oft die Ergebnisse verbessert, ist nicht garantiert, dass sie ein erwartungstreues Ergebnis liefert.
ZNE besteht aus zwei Stufen:
-
Rauschverstärkung: Die ursprüngliche Quantenschaltung wird mehrmals mit unterschiedlichen Rauschpegeln ausgeführt.
-
Extrapolation: Das ideale Ergebnis wird geschätzt, indem die verrauschten Erwartungswert-Ergebnisse zur Null-Rausch-Grenze extrapoliert werden.
Sowohl die Rauschverstärkungs- als auch die Extrapolationsstufe können auf viele verschiedene Arten implementiert werden. IBM Quantum Compute implementiert Rauschverstärkung durch "digitales Gate-Folding", was bedeutet, dass Zwei-Qubit-Gates durch äquivalente Sequenzen des Gates und seiner Inversen ersetzt werden. Beispielsweise würde das Ersetzen eines unitären durch einen Rauschverstärkungsfaktor von 3 ergeben. Für die Extrapolation kannst du aus einer von mehreren funktionalen Formen wählen, einschließlich einer linearen Anpassung oder einer exponentiellen Anpassung. Das untenstehende Bild zeigt digitales Gate-Folding links und das Extrapolationsverfahren rechts.

Der Overhead dieser Methode skaliert mit der Anzahl der Rauschfaktoren. Mit den Standardeinstellungen wird der Erwartungswert bei drei Rauschfaktoren abgetastet, was zu einem ungefähr dreifachen Overhead führt.
Du kannst ZNE auf folgende Arten aktivieren:
- Das Addon Qiskit Mitigation für Qiskit
- Die Option
zne_mitigationbei Verwendung von IBM Quantum Estimator - Das Resilience-Level bei Verwendung von IBM Quantum Estimator
Probabilistic Error Amplification (PEA)
Eine der Hauptherausforderungen bei ZNE besteht darin, das Rauschen, das die Zielschaltung beeinflusst, genau zu verstärken. Gate-Folding bietet eine einfache Möglichkeit, diese Verstärkung durchzuführen, ist jedoch potenziell ungenau und kann zu falschen Ergebnissen führen. Siehe den Artikel "Scalable error mitigation for noisy quantum circuits produces competitive expectation values", und insbesondere Seite 4 der ergänzenden Informationen für Details. Probabilistic Error Amplification bietet einen genaueren Ansatz zur Fehlerverstärkung durch Rauschlernen.
PEA ist eine raffiniertere Technik, die vorbereitende Experimente durchführt, um das Rauschen zu rekonstruieren, und diese Informationen dann verwendet, um eine genaue Verstärkung durchzuführen. Sie beginnt mit dem Lernen des getwirlten Rauschmodells jeder Schicht von Verschränkungs-Gates in der Schaltung, bevor sie ausgeführt werden. Nach der Lernphase werden die Schaltungen bei jedem Rauschfaktor ausgeführt, wobei jede Verschränkungs-Schicht der Schaltungen verstärkt wird, indem probabilistisch Einzel-Qubit-Rauschen proportional zum entsprechenden gelernten Rauschmodell injiziert wird. Siehe den Artikel "Evidence for the utility of quantum computing before fault tolerance" für weitere Details.
PEA besteht aus drei Stufen:
- Lernen: Das getwirlte Rauschmodell jeder Schicht von Verschränkungs-Gates in der Schaltung wird gelernt.
- Rauschverstärkung: Die ursprüngliche Quantenschaltung wird mehrmals mit unterschiedlichen Rauschfaktoren ausgeführt.
- Extrapolation: Das ideale Ergebnis wird geschätzt, indem die verrauschten Erwartungswert-Ergebnisse zur Null-Rausch-Grenze extrapoliert werden.
Für Utility-Scale-Experimente ist PEA oft die beste Wahl.
Da PEA eine ZNE-Technik zur Rauschverstärkung ist, musst du auch ZNE aktivieren. Du kannst PEA und ZNE auf folgende Arten aktivieren:
- Das Addon Qiskit Mitigation für Qiskit
- Die Option
zne_mitigationmitpeaals Verstärker bei Verwendung von IBM Quantum Estimator
Wenn du den neuen clientseitigen Estimator verwendest, der in qiskit-ibm-runtime v0.50.0 eingeführt wurde, ist ein separater Rauschlern-Job erforderlich, um PEA zu verwenden.
Weitere Informationen findest du unter Migration von serverseitigen zu clientseitigen Sampler und Estimator.
Probabilistic Error Cancellation (PEC)
Probabilistic Error Cancellation (PEC) ist eine Technik zur Fehlerminderung bei der Schätzung von Erwartungswerten von Observablen. Im Gegensatz zu ZNE liefert sie eine erwartungstreue Schätzung des Erwartungswerts. Sie verursacht jedoch im Allgemeinen einen größeren Overhead.
Bei PEC wird die Wirkung einer idealen Zielschaltung als Linearkombination von verrauschten Schaltungen ausgedrückt, die in der Praxis tatsächlich implementierbar sind:
Die Ausgabe der idealen Schaltung kann dann reproduziert werden, indem verschiedene verrauschte Schaltungsinstanzen ausgeführt werden, die aus einem durch die Linearkombination definierten zufälligen Ensemble gezogen werden. Wenn die Koeffizienten eine Wahrscheinlichkeitsverteilung bilden, können sie direkt als Wahrscheinlichkeiten des Ensembles verwendet werden. In der Praxis sind einige der Koeffizienten negativ, sodass sie stattdessen eine Quasi-Wahrscheinlichkeitsverteilung bilden. Sie können immer noch verwendet werden, um ein zufälliges Ensemble zu definieren, aber es gibt einen Sampling-Overhead im Zusammenhang mit der Negativität der Quasi-Wahrscheinlichkeitsverteilung, der durch die Größe charakterisiert wird
Der Sampling-Overhead ist ein multiplikativer Faktor für die Anzahl der Shots, die erforderlich sind, um einen Erwartungswert auf eine gegebene Präzision zu schätzen, verglichen mit der Anzahl der Shots, die von der idealen Schaltung benötigt würden. Er skaliert quadratisch mit , was wiederum exponentiell mit der Tiefe der Schaltung skaliert.
Du kannst PEC auf folgende Arten aktivieren:
- Das Addon Qiskit Mitigation für Qiskit
- Die Option
pec_mitigationbei Verwendung von IBM Quantum Estimator
Wenn du den neuen clientseitigen Estimator verwendest, der in qiskit-ibm-runtime v0.50.0 eingeführt wurde, ist ein separater Rauschlern-Job erforderlich, um PEC zu verwenden.
Weitere Informationen findest du unter Migration von serverseitigen zu clientseitigen Sampler und Estimator.
Nächste Schritte
-
Sieh dir das Tutorial zur Kombination von Fehlerminderungs-Optionen mit dem Estimator-Primitiv an.
-
Erkunde andere Optionen für die IBM Quantum Primitives.
-
Entscheide, in welchem Ausführungsmodus du deinen Job ausführen möchtest.