Zum Hauptinhalt springen

Operator-Rückwärtspropagation (OBP)

Operator-Rückwärtspropagation (OBP) ist eine Technik zur Reduzierung der Circuit-Tiefe, indem Operationen vom Ende des Circuits entfernt werden – auf Kosten zusätzlicher Operatormessungen. Es gibt verschiedene Möglichkeiten, OBP durchzuführen; dieses Paket verwendet eine Methode, die auf der Clifford-Störungstheorie basiert [1].

Je weiter ein Operator durch einen Circuit propagiert wird, desto exponentiell größer wird die zu messende Observable. Dies erzeugt sowohl einen klassischen als auch einen Quantenressourcen-Overhead. Bei manchen Circuits ist die resultierende Verteilung der zusätzlichen Pauli-Observablen jedoch konzentrierter als die exponentielle Worst-Case-Skalierung. Das bedeutet, dass einige Terme einer Observable mit kleinen Koeffizienten abgeschnitten werden können, um den Quantenoverhead zu reduzieren. Der dabei entstehende Fehler lässt sich kontrollieren, um einen geeigneten Kompromiss zwischen Präzision und Effizienz zu finden.

Installation

Du kannst das OBP-Paket auf zwei Arten installieren: über PyPI oder durch Kompilierung aus dem Quellcode. Es empfiehlt sich, diese Pakete in einer virtuellen Umgebung zu installieren, um Abhängigkeitskonflikte zu vermeiden.

Aus PyPI installieren

Der einfachste Weg, das Paket qiskit-addon-obp zu installieren, ist über PyPI.

pip install qiskit-addon-obp

Aus dem Quellcode bauen

Nutzer, die zum Paket beitragen möchten oder es manuell installieren wollen, können zunächst das Repository klonen:

git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_

und das Paket dann über `pip` installieren. Das Repository enthält außerdem Beispiel-Notebooks. Wenn du im Repository entwickeln möchtest, installiere die `dev`-Abhängigkeiten.

Passe die Optionen nach Bedarf an:

```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'

Theoretischer Hintergrund

Das in diesem Paket implementierte OBP-Verfahren ist in [1] ausführlich beschrieben. Bei Verwendung des Estimator-Primitives ist die Ausgabe eines Quanten-Workloads die Schätzung eines oder mehrerer Erwartungswerte O\langle O \rangle bezüglich eines Zustands, der mithilfe eines QPU vorbereitet wurde. Dieser Abschnitt fasst das Verfahren zusammen.

Zunächst wird die Erwartungswertemessung einer Observable OO in Bezug auf einen Anfangszustand ψ|\psi\rangle und einen Quantenschaltkreis UQU_Q formuliert:

OUψ=ψUOUψ.\langle O \rangle_{U|\psi\rangle} = \langle\psi | U^\dagger O U |\psi \rangle.

Um dieses Problem auf klassische und Quantenressourcen zu verteilen, wird der Circuit UU in zwei Teilschaltkreise aufgeteilt, UCU_C und UQU_Q. Der Circuit UCU_C wird klassisch simuliert, der Circuit UQU_Q auf Quantenhardware ausgeführt, und die Ergebnisse der klassischen Simulation werden genutzt, um die Messung der Observable OO zu rekonstruieren.

OBP-Diagramm, das die Aufteilung eines Circuits in zwei Teilschaltkreise zeigt: einer wird klassisch berechnet, der andere mit Quantenhardware gemessen

Der Teilschaltkreis UCU_C sollte so gewählt werden, dass er klassisch simulierbar ist, und berechnet den Erwartungswert

OUCOUC,\langle O' \rangle \equiv U_C^\dagger O U_C,

also die Version des Ausgangsoperators OO, die durch den Circuit UCU_C entwickelt wurde. Sobald OO' bestimmt ist, wird der Quanten-Workload vorbereitet: Der Zustand ψ|\psi\rangle wird initialisiert, der Circuit UQU_Q wird auf ihn angewendet und anschließend wird der Erwartungswert OO' gemessen. Man kann zeigen, dass dies äquivalent zur Messung von O\langle O \rangle ist:

ψUQOUQψ=ψUQUCOUCUQψ=ψUOUψ=OUψ \langle \psi | U_Q^\dagger O' U_Q \psi \rangle = \langle \psi | U_Q^\dagger U_C^\dagger O U_CU_Q \psi \rangle = \langle\psi | U^\dagger O U |\psi \rangle = \langle O \rangle_{U|\psi\rangle}

Um den Erwartungswert O\langle O' \rangle zu messen, muss OO' in eine Summe von Pauli-Strings zerlegbar sein:

O=PcPP,O' = \sum_P c_P P,

wobei cPc_P reelle Koeffizienten der Zerlegung sind und PP ein Pauli-String aus II-, XX-, YY- und ZZ-Operatoren ist. Damit lässt sich der Erwartungswert von OO rekonstruieren durch

ψUQOψ=PcPψUQPUQψ.\langle \psi | U_Q^\dagger O' |\psi \rangle = \sum_P c_P \langle \psi | U_Q^\dagger P U_Q | \psi \rangle.

Terme abschneiden

Dieses Schema bietet einen Kompromiss zwischen der benötigten Circuit-Tiefe von UQU_Q, der Anzahl der Circuit-Ausführungen auf Quantenhardware und dem Umfang der klassischen Rechenressourcen, die zur Berechnung von OO' erforderlich sind. Im Allgemeinen wachsen beim tieferen Backpropagieren durch einen Circuit sowohl die Anzahl der zu messenden Pauli-Strings als auch der Fehlerkorrektur-Overhead exponentiell (ebenso wie die für die Simulation von UCU_C benötigten klassischen Ressourcen).

Glücklicherweise enthält die Zerlegung von OO' häufig Koeffizienten, die sehr klein sind und aus den endgültigen Messungen zur Rekonstruktion von OO herausgeschnitten werden können, ohne einen großen Fehler zu verursachen. Das Paket qiskit-addon-obp bietet die Möglichkeit, ein Fehlerbudget anzugeben, das automatisch nach Termen sucht, die innerhalb einer bestimmten Fehlertoleranz abgeschnitten werden können.

Clifford-Störungstheorie

Das Paket qiskit-addon-obp nähert sich der Operator-Rückwärtspropagation auf Basis der Clifford-Störungstheorie. Diese Methode hat den Vorteil, dass der Overhead beim Backpropagieren verschiedener Gates mit der Nicht-Clifford-Eigenschaft von UCU_C skaliert (d. h. dem Anteil von UCU_C, der aus Nicht-Clifford-Instruktionen besteht).

Dieser OBP-Ansatz beginnt damit, den simulierten Circuit UCU_C in Scheiben (Slices) aufzuteilen:

UC=s=1SUs=US...U2U1,U_C = \prod_{s=1}^S \mathcal{U}_s = \mathcal{U}_S...\mathcal{U}_2\mathcal{U}_1,

wobei SS die Gesamtanzahl der Slices darstellt und Us\mathcal{U}_s einen einzelnen Slice des Circuits UCU_C bezeichnet. Jeder dieser Slices wird dann analytisch der Reihe nach angewendet, um den rückwärtspropagieren Operator OO' zu messen. Ob ein Slice zur Gesamtgröße der Summe beiträgt, hängt davon ab, ob es sich um eine Clifford- oder Nicht-Clifford-Operation handelt. Wenn ein Fehlerbudget angegeben ist, findet zwischen der Anwendung jedes Slices eine Kürzung statt.

Nächste Schritte

Empfehlungen

Referenzen

[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).