Auslesefehler-Mitigation für das Sampler-Primitiv mit M3
Nutzungsschätzung: unter einer Minute auf einem Heron-r2-Prozessor (HINWEIS: Dies ist nur eine Schätzung. Deine Laufzeit kann abweichen.)
Hintergrund
Im Gegensatz zum Estimator-Primitiv bietet das Sampler-Primitiv keine integrierte Unterstützung für Fehlerminderung. Mehrere der vom Estimator unterstützten Methoden sind speziell für Erwartungswerte konzipiert und daher nicht auf das Sampler-Primitiv anwendbar. Eine Ausnahme bildet die Auslesefehler-Mitigation, eine äußerst effektive Methode, die auch auf das Sampler-Primitiv anwendbar ist.
Das M3-Qiskit-Addon implementiert eine effiziente Methode zur Auslesefehler-Mitigation. Dieses Tutorial erläutert, wie du das M3-Qiskit-Addon zur Minderung von Auslesefehlern für das Sampler-Primitiv verwenden kannst.
Was ist ein Auslesefehler?
Unmittelbar vor der Messung wird der Zustand eines Qubit-Registers durch eine Superposition von Rechenbasisständen oder durch eine Dichtematrix beschrieben. Die Messung des Qubit-Registers in ein klassisches Bitregister erfolgt dann in zwei Schritten. Zunächst wird die eigentliche Quantenmessung durchgeführt. Das bedeutet, dass der Zustand des Qubit-Registers auf einen einzelnen Basiszustand projiziert wird, der durch eine Folge von en und en charakterisiert ist. Der zweite Schritt besteht darin, die den Basiszustand charakterisierende Bitfolge auszulesen und in den klassischen Computerspeicher zu schreiben. Wir nennen diesen Schritt Auslese (Readout). Es zeigt sich, dass der zweite Schritt (Auslese) mehr Fehler verursacht als der erste Schritt (Projektion auf Basiszustände). Dies ist nachvollziehbar, wenn du bedenkst, dass die Auslese die Erkennung eines mikroskopischen Quantenzustands und dessen Verstärkung in den makroskopischen Bereich erfordert. Ein Ausleseresonator ist an das (Transmon-)Qubit gekoppelt und erfährt dadurch eine sehr kleine Frequenzverschiebung. Ein Mikrowellenpuls wird vom Resonator reflektiert und erfährt dabei kleine Änderungen in seinen Eigenschaften. Der reflektierte Puls wird dann verstärkt und analysiert. Dies ist ein empfindlicher Prozess und unterliegt einer Vielzahl von Fehlern.
Der wichtige Punkt ist, dass sowohl die Quantenmessung als auch die Auslese fehlerbehaftet sind, wobei letztere den dominierenden Fehler verursacht, den sogenannten Auslesefehler, der im Mittelpunkt dieses Tutorials steht.
Theoretischer Hintergrund
Wenn sich die abgetastete Bitfolge (im klassischen Speicher gespeichert) von der Bitfolge unterscheidet, die den projizierten Quantenzustand charakterisiert, sprechen wir von einem Auslesefehler. Diese Fehler sind zufällig und von Abtastung zu Abtastung unkorreliert. Es hat sich als nützlich erwiesen, den Auslesefehler als einen verrauschten klassischen Kanal zu modellieren. Das heißt, für jedes Paar von Bitfolgen und gibt es eine feste Wahrscheinlichkeit, dass ein wahrer Wert von fälschlicherweise als gelesen wird.
Genauer gesagt gibt es für jedes Paar von Bitfolgen eine (bedingte) Wahrscheinlichkeit , dass gelesen wird, unter der Bedingung, dass der wahre Wert ist. Das heißt,
wobei die Anzahl der Bits im Ausleseregister ist. Zur Konkretisierung nehmen wir an, dass eine dezimale Ganzzahl ist, deren Binärdarstellung die Bitfolge ist, die die Rechenbasisstände bezeichnet. Wir nennen die -Matrix die Zuweisungsmatrix. Für einen festen wahren Wert muss die Summe der Wahrscheinlichkeit über alle verrauschten Ergebnisse den Wert ergeben. Das heißt
Eine Matrix ohne negative Einträge, die (1) erfüllt, wird links-stochastisch genannt. Eine links-stochastische Matrix wird auch spalten-stochastisch genannt, da die Summe jeder ihrer Spalten ergibt. Wir bestimmen experimentell Näherungswerte für jedes Element , indem wir wiederholt jeden Basiszustand präparieren und dann die Häufigkeiten des Auftretens abgetasteter Bitfolgen berechnen.
Wenn ein Experiment die Schätzung einer Wahrscheinlichkeitsverteilung über Ausgangs-Bitfolgen durch wiederholte Abtastung umfasst, können wir verwenden, um den Auslesefehler auf der Ebene der Verteilung zu mindern. Der erste Schritt besteht darin, einen festen Schaltkreis von Interesse viele Male zu wiederholen und ein Histogramm der abgetasteten Bitfolgen zu erstellen. Das normierte Histogramm ist die gemessene Wahrscheinlichkeitsverteilung über die möglichen Bitfolgen, die wir mit bezeichnen. Die (geschätzte) Wahrscheinlichkeit für die Abtastung der Bitfolge ist gleich der Summe über alle wahren Bitfolgen , jeweils gewichtet mit der Wahrscheinlichkeit, dass sie mit verwechselt wird. Diese Aussage in Matrixform lautet
wobei die wahre Verteilung ist. In Worten: Der Auslesefehler hat die Wirkung, die ideale Verteilung über Bitfolgen mit der Zuweisungsmatrix zu multiplizieren, um die beobachtete Verteilung zu erzeugen. Wir haben und gemessen, haben aber keinen direkten Zugang zu . Im Prinzip erhalten wir die wahre Verteilung der Bitfolgen für unseren Schaltkreis, indem wir Gleichung (2) numerisch nach lösen.
Bevor wir fortfahren, ist es erwähnenswert, dass dieser naive Ansatz einige wichtige Eigenschaften aufweist.
- In der Praxis wird Gleichung (2) nicht durch Invertierung von gelöst. Routinen der linearen Algebra in Softwarebibliotheken verwenden Methoden, die stabiler, genauer und effizienter sind.
- Bei der Schätzung von haben wir angenommen, dass nur Auslesefehler aufgetreten sind. Insbesondere nehmen wir an, dass keine Zustandspräparations- und Quantenmessfehler aufgetreten sind — oder dass diese anderweitig gemindert wurden. Insofern diese Annahme gerechtfertigt ist, repräsentiert wirklich nur den Auslesefehler. Wenn wir jedoch verwenden, um eine gemessene Verteilung über Bitfolgen zu korrigieren, machen wir keine solche Annahme. Tatsächlich erwarten wir, dass ein interessanter Schaltkreis Rauschen einführt, beispielsweise Gatterfehler. Die „wahre" Verteilung enthält weiterhin Auswirkungen aller Fehler, die nicht anderweitig gemindert werden.
Diese Methode, obwohl unter bestimmten Umständen nützlich, weist einige Einschränkungen auf.
Der Speicher- und Zeitaufwand zur Schätzung von wächst exponentiell in :
- Die Schätzung von und unterliegt statistischen Fehlern aufgrund endlicher Abtastung. Dieses Rauschen kann beliebig klein gemacht werden, allerdings auf Kosten von mehr Schüssen (bis zur Zeitskala driftender Hardwareparameter, die zu systematischen Fehlern in führen). Wenn jedoch keine Annahmen über die beim Durchführen der Mitigation beobachteten Bitfolgen gemacht werden, wächst die Anzahl der Schüsse, die zur Schätzung von erforderlich sind, mindestens exponentiell in .
- ist eine -Matrix. Wenn , übersteigt der erforderliche Speicher zur Speicherung von den verfügbaren Speicher eines leistungsstarken Laptops.
Weitere Einschränkungen sind:
- Die wiederhergestellte Verteilung kann eine oder mehrere negative Wahrscheinlichkeiten aufweisen (wobei die Summe weiterhin eins ergibt). Eine Lösung besteht darin, unter der Bedingung zu minimieren, dass jeder Eintrag in nicht-negativ ist. Die Laufzeit einer solchen Methode ist jedoch um Größenordnungen länger als das direkte Lösen von Gleichung (2).
- Dieses Mitigationsverfahren arbeitet auf der Ebene einer Wahrscheinlichkeitsverteilung über Bitfolgen. Insbesondere kann es keinen Fehler in einer einzelnen beobachteten Bitfolge korrigieren.
M3-Qiskit-Addon: Skalierung auf längere Bitfolgen
Das Lösen von Gleichung (2) mit Standard-Methoden der numerischen linearen Algebra ist auf Bitfolgen von höchstens etwa 10 Bit beschränkt. M3 kann jedoch mit wesentlich längeren Bitfolgen umgehen. Zwei Schlüsseleigenschaften von M3, die dies ermöglichen, sind:
- Korrelationen im Auslesefehler dritter und höherer Ordnung zwischen Bit-Gruppen werden als vernachlässigbar angenommen und ignoriert. Prinzipiell könnten auf Kosten zusätzlicher Schüsse auch höhere Korrelationen geschätzt werden.
- Anstatt explizit zu konstruieren, verwenden wir eine wesentlich kleinere effektive Matrix, die Wahrscheinlichkeiten nur für Bitfolgen aufzeichnet, die bei der Konstruktion von gesammelt wurden.
Auf einer übergeordneten Ebene funktioniert das Verfahren wie folgt.
Zunächst konstruieren wir Bausteine, aus denen wir eine vereinfachte, effektive Beschreibung von aufbauen können. Dann führen wir den Schaltkreis von Interesse wiederholt aus und sammeln Bitfolgen, die wir verwenden, um sowohl als auch, mithilfe der Bausteine, ein effektives zu konstruieren.
Genauer gesagt:
-
Einzel-Qubit-Zuweisungsmatrizen werden für jedes Qubit geschätzt. Dazu präparieren wir wiederholt das Qubit-Register im All-Null-Zustand und dann im All-Eins-Zustand und verzeichnen die Wahrscheinlichkeit für jedes Qubit, dass es falsch ausgelesen wird.
-
Korrelationen dritter und höherer Ordnung werden als vernachlässigbar angenommen und ignoriert.
Stattdessen konstruieren wir eine Anzahl von Einzel-Qubit-Zuweisungsmatrizen und eine Anzahl von Zwei-Qubit-Zuweisungsmatrizen. Diese Ein- und Zwei-Qubit-Zuweisungsmatrizen werden für die spätere Verwendung gespeichert.
-
Nach dem wiederholten Abtasten eines Schaltkreises zur Konstruktion von konstruieren wir eine effektive Approximation an unter ausschließlicher Verwendung von Bitfolgen, die bei der Konstruktion von abgetastet werden. Diese effektive Matrix wird mithilfe der im vorherigen Punkt beschriebenen Einzel- und Zwei-Qubit-Matrizen aufgebaut. Die lineare Dimension dieser Matrix beträgt höchstens in der Größenordnung der Anzahl der Schüsse, die bei der Konstruktion von verwendet werden, was wesentlich kleiner ist als die Dimension der vollständigen Zuweisungsmatrix .
Für technische Details zu M3 kannst du auf Scalable Mitigation of Measurement Errors on Quantum Computers verweisen.
Anwendung von M3 auf einen Quantenalgorithmus
Wir wenden die Auslesefehler-Mitigation von M3 auf das Problem der verborgenen Verschiebung an. Das Problem der verborgenen Verschiebung und eng verwandte Probleme wie das Problem der verborgenen Untergruppe wurden ursprünglich in einem fehlertoleranten Kontext konzipiert (genauer gesagt, bevor der Beweis erbracht wurde, dass fehlertolerante QPUs möglich sind!). Sie werden jedoch auch mit verfügbaren Prozessoren untersucht. Ein Beispiel für eine algorithmische exponentielle Beschleunigung, die für eine Variante des Problems der verborgenen Verschiebung auf 127-Qubit-IBM®-QPUs erzielt wurde, findest du in diesem Artikel (arXiv-Version).
Im Folgenden ist die gesamte Arithmetik Boolesch. Das heißt, für ist die Addition die logische XOR-Funktion. Darüber hinaus ist die Multiplikation (oder ) die logische AND-Funktion. Für ist durch bitweise Anwendung von XOR definiert. Das Skalarprodukt ist definiert durch .
Hadamard-Operator und Fourier-Transformation
Bei der Implementierung von Quantenalgorithmen ist es sehr üblich, den Hadamard-Operator als Fourier-Transformation zu verwenden. Die Rechenbasisstände werden manchmal als klassische Zustände bezeichnet. Sie stehen in einer Eins-zu-Eins-Beziehung zu den klassischen Bitfolgen. Der -Qubit-Hadamard-Operator auf klassischen Zuständen kann als Fourier-Transformation auf dem Booleschen Hyperwürfel betrachtet werden:
Betrachte einen Zustand , der einer festen Bitfolge entspricht. Durch Anwendung von und unter Verwendung von sehen wir, dass die Fourier-Transformierte von geschrieben werden kann als
Der Hadamard-Operator ist seine eigene Inverse, das heißt, . Somit ist die inverse Fourier-Transformation derselbe Operator, . Explizit haben wir
Das Problem der verborgenen Verschiebung
Wir betrachten ein einfaches Beispiel eines Problems der verborgenen Verschiebung. Das Problem besteht darin, eine konstante Verschiebung im Eingang einer Funktion zu identifizieren. Die Funktion, die wir betrachten, ist das Skalarprodukt. Es ist das einfachste Mitglied einer großen Klasse von Funktionen, die eine Quantenbeschleunigung für das Problem der verborgenen Verschiebung durch Techniken ermöglichen, die den unten vorgestellten ähnlich sind.
Seien Bitfolgen der Länge . Wir definieren durch
Seien feste Bitfolgen der Länge . Wir definieren ferner durch
wobei und (verborgene) Parameter sind. Wir erhalten zwei Blackboxen, eine implementiert und die andere . Wir nehmen an, dass wir wissen, dass sie die oben definierten Funktionen berechnen, außer dass wir weder noch kennen. Das Ziel ist es, die verborgenen Bitfolgen (Verschiebungen) und durch Abfragen an und zu bestimmen. Es ist klar, dass wir im klassischen Fall Abfragen benötigen, um und zu bestimmen. Beispielsweise können wir mit allen Paaren von Zeichenfolgen abfragen, bei denen ein Element des Paares ausschließlich aus Nullen besteht und das andere Element genau ein auf gesetztes Element hat. Bei jeder Abfrage erfahren wir ein Element von entweder oder . Wir werden jedoch sehen, dass, wenn die Blackboxen als Quantenschaltkreise implementiert werden, wir und mit einer einzigen Abfrage an jeweils und bestimmen können.
Im Kontext der algorithmischen Komplexität wird eine Blackbox als Orakel bezeichnet. Zusätzlich zur Undurchsichtigkeit hat ein Orakel die Eigenschaft, dass es die Eingabe verarbeitet und die Ausgabe sofort erzeugt, ohne etwas zum Komplexitätsbudget des Algorithmus beizutragen, in den es eingebettet ist. Tatsächlich werden sich die Orakel, die und implementieren, als effizient erweisen.
Quantenschaltkreise für und
Wir benötigen die folgenden Zutaten, um und als Quantenschaltkreise zu implementieren.
Für Einzel-Qubit-klassische Zustände mit kann das kontrollierte--Gatter geschrieben werden als