Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Techniken zur Fehlerminimierung auf Geräten IonQ
Zur Fehlerminimierung werden mehrere physische Schaltkreise betrieben und ihre Messungen kombiniert, um ein besseres Ergebnis zu erzielen.
Anmerkung
Für alle IonQ Geräte gilt: Bei Verwendung eines On-Demand-Modells gilt ein Limit von 1 Million Gateshots und ein Minimum von 2500 Schüssen für Aufgaben zur Fehlerminimierung. Bei einer direkten Reservierung gibt es kein Gateshot-Limit und ein Minimum von 500 Schüssen für Aufgaben zur Fehlerminimierung.
Verzerrung
IonQGeräte verfügen über eine Methode zur Fehlerminimierung, die als Debiasing bezeichnet wird.
Debiasing ordnet eine Schaltung in mehrere Varianten zu, die auf unterschiedliche Qubit-Permutationen oder mit unterschiedlichen Gate-Zerlegungen einwirken. Dadurch werden die Auswirkungen systematischer Fehler wie Gatterüberdrehungen oder eines einzelnen fehlerhaften Qubits reduziert, indem unterschiedliche Implementierungen einer Schaltung verwendet werden, die andernfalls die Messergebnisse verfälschen könnten. Dies geht auf Kosten des zusätzlichen Aufwands für die Kalibrierung mehrerer Qubits und Gates.
Weitere Informationen zum Debiasing finden Sie unter Verbesserung der Leistung von Quantencomputern durch Symmetrisierung
Anmerkung
Für die Verwendung von Debiasing sind mindestens 2500 Aufnahmen erforderlich.
Mit dem folgenden Code können Sie eine Quantenaufgabe mit Debiasing auf einem IonQ Gerät ausführen:
from braket.aws import AwsDevice from braket.circuits import Circuit from braket.error_mitigation import Debias # choose an IonQ device device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1") circuit = Circuit().h(0).cnot(0, 1) task = device.run(circuit, shots=2500, device_parameters={"errorMitigation": Debias()}) result = task.result() print(result.measurement_counts)
>>> {"00": 1245, "01": 5, "10": 10 "11": 1240} # result from debiasing
Wenn die Quantenaufgabe abgeschlossen ist, können Sie die Messwahrscheinlichkeiten und alle Ergebnistypen der Quantenaufgabe sehen. Die Messwahrscheinlichkeiten und Zählungen aller Varianten werden zu einer einzigen Verteilung zusammengefasst. Alle im Schaltkreis angegebenen Ergebnistypen, wie z. B. Erwartungswerte, werden anhand der aggregierten Messzahlen berechnet.
Scharfzeichnen
Sie können auch auf Messwahrscheinlichkeiten zugreifen, die mit einer anderen Nachbearbeitungsstrategie, dem sogenannten Sharpening, berechnet wurden. Beim Schärfen werden die Ergebnisse der einzelnen Varianten verglichen und widersprüchliche Aufnahmen verworfen, sodass das wahrscheinlichste Messergebnis aller Varianten bevorzugt wird. Weitere Informationen finden Sie unter Verbesserung der Leistung von Quantencomputern durch Symmetrisierung
Wichtig ist, dass beim Scharfzeichnen davon ausgegangen wird, dass die Form der Ausgangsverteilung dünn ist und nur wenige Zustände mit hoher Wahrscheinlichkeit und viele Zustände mit einer Wahrscheinlichkeit von Null aufweist. Wenn diese Annahme nicht zutrifft, kann es zu einer Verzerrung der Wahrscheinlichkeitsverteilung kommen.
Sie können auf die Wahrscheinlichkeiten aus einer geschärften Verteilung im additional_metadata
Feld GateModelTaskResult
im Braket Python SDK zugreifen. Beachten Sie, dass beim Scharfzeichnen nicht die Messwerte zurückgegeben werden, sondern stattdessen eine neu normalisierte Wahrscheinlichkeitsverteilung zurückgegeben wird. Der folgende Codeausschnitt zeigt, wie Sie nach dem Scharfzeichnen auf die Verteilung zugreifen können.
print(result.additional_metadata.ionqMetadata.sharpenedProbabilities)
>>> {"00": 0.51, "11": 0.549} # sharpened probabilities