Vergleichen Sie Simulatoren - Amazon Braket

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.

Vergleichen Sie Simulatoren

Dieser Abschnitt hilft Ihnen bei der Auswahl des Amazon Braket-Simulators, der für Ihre Quantenaufgabe am besten geeignet ist, indem einige Konzepte, Einschränkungen und Anwendungsfälle beschrieben werden.

Wahl zwischen lokalen Simulatoren und On-Demand-Simulatoren (SV1, TN1, DM1)

Die Leistung lokaler Simulatoren hängt von der Hardware ab, die die lokale Umgebung hostet, z. B. eine Braket-Notebook-Instanz, die zum Ausführen Ihres Simulators verwendet wird. On-Demand-Simulatoren laufen im AWS Cloud und sind so konzipiert, dass sie über typische lokale Umgebungen hinaus skaliert werden können. On-Demand-Simulatoren sind für größere Schaltungen optimiert, verursachen jedoch einen gewissen Latenz-Overhead pro Quantenaufgabe oder Batch von Quantenaufgaben. Dies kann einen Kompromiss bedeuten, wenn es um viele Quantenaufgaben geht. Angesichts dieser allgemeinen Leistungsmerkmale können Ihnen die folgenden Anleitungen bei der Auswahl der Art der Durchführung von Simulationen helfen, auch bei Simulationen mit Rauschen.

Für Simulationen:

  • Bei einer Belegschaft von weniger als 18 qubits, verwenden Sie einen lokalen Simulator.

  • Bei der Beschäftigung von 18—24 qubits, wählen Sie je nach Arbeitslast einen Simulator aus.

  • Bei Beschäftigung von mehr als 24 qubits, verwenden Sie einen On-Demand-Simulator.

Für Geräuschsimulationen:

  • Bei weniger als 9 Beschäftigten qubits, verwenden Sie einen lokalen Simulator.

  • Bei der Beschäftigung von 9—12 qubits, wählen Sie je nach Arbeitslast einen Simulator aus.

  • Wenn Sie mehr als 12 Mitarbeiter beschäftigen qubits, verwenden DM1.

Was ist ein Zustandsvektorsimulator?

SV1 ist ein universeller Zustandsvektorsimulator. Er speichert die gesamte Wellenfunktion des Quantenzustands und wendet sequentiell Gate-Operationen auf den Zustand an. Es speichert alle Möglichkeiten, auch die extrem unwahrscheinlichen. Das Tool SV1 Die Laufzeit eines Simulators für eine Quantenaufgabe nimmt linear mit der Anzahl der Gates im Schaltkreis zu.

Was ist ein Dichtematrixsimulator?

DM1 simuliert Quantenschaltkreise mit Rauschen. Es speichert die vollständige Dichtematrix des Systems und wendet sequentiell die Gatter- und Rauschoperationen der Schaltung an. Die endgültige Dichtematrix enthält vollständige Informationen über den Quantenzustand nach dem Betrieb der Schaltung. Die Laufzeit skaliert im Allgemeinen linear mit der Anzahl der Operationen und exponentiell mit der Anzahl von qubits.

Was ist ein Tensor-Netzwerksimulator?

TN1 kodiert Quantenschaltkreise in einen strukturierten Graphen.

  • Die Knoten des Graphen bestehen aus Quantengattern, oder qubits.

  • Die Kanten des Graphen stellen Verbindungen zwischen Gates dar.

Als Ergebnis dieser Struktur TN1 kann simulierte Lösungen für relativ große und komplexe Quantenschaltkreise finden.

TN1 benötigt zwei Phasen

Typischerweise TN1 arbeitet in einem zweiphasigen Ansatz zur Simulation von Quantenberechnungen.

  • Die Probenphase: In dieser Phase TN1 entwickelt eine Möglichkeit, den Graphen auf effiziente Weise zu durchqueren. Dazu müssen Sie jeden Knoten besuchen, um die gewünschte Messung zu erhalten. Als Kunde sehen Sie diese Phase nicht, weil TN1 führt beide Phasen gemeinsam für Sie durch. Es schließt die erste Phase ab und entscheidet anhand praktischer Einschränkungen, ob die zweite Phase eigenständig durchgeführt werden soll. Sie haben keinen Einfluss auf diese Entscheidung, nachdem die Simulation begonnen hat.

  • Die Kontraktionsphase: Diese Phase entspricht der Ausführungsphase einer Berechnung in einem klassischen Computer. Die Phase besteht aus einer Reihe von Matrixmultiplikationen. Die Reihenfolge dieser Multiplikationen hat einen großen Einfluss auf die Schwierigkeit der Berechnung. Daher wird zuerst die Probenphase durchgeführt, um die effektivsten Berechnungspfade im Graphen zu finden. Nachdem es den Kontraktionspfad während der Probenphase gefunden hat, TN1 zieht die Gates Ihrer Schaltung zusammen, um die Ergebnisse der Simulation zu erhalten.

TN1 Graphen sind analog zu einer Karte

Metaphorisch gesehen können Sie die zugrunde liegenden Daten vergleichen TN1 Graphik zeigt die Straßen einer Stadt. In einer Stadt mit einem geplanten Raster ist es einfach, mithilfe einer Karte eine Route zu Ihrem Ziel zu finden. In einer Stadt mit ungeplanten Straßen, doppelten Straßennamen usw. kann es schwierig sein, auf einer Karte eine Route zu Ihrem Ziel zu finden.

Wenn TN1 Sie haben die Probenphase nicht durchgeführt. Es wäre, als würden Sie durch die Straßen der Stadt laufen, um Ihr Ziel zu finden, anstatt zuerst auf eine Karte zu schauen. Es kann sich in Bezug auf die Gehzeit wirklich auszahlen, mehr Zeit damit zu verbringen, auf die Karte zu schauen. Ebenso liefert die Probenphase wertvolle Informationen.

Man könnte sagen, dass TN1 hat ein gewisses „Bewusstsein“ für die Struktur des zugrundeliegenden Schaltkreises, den es durchquert. Dieses Bewusstsein erlangt es während der Probenphase.

Problemtypen, die für jeden dieser Simulatortypen am besten geeignet sind

SV1 eignet sich gut für jede Art von Problemen, die hauptsächlich auf einer bestimmten Anzahl von Problemen beruhen qubits und Tore. Im Allgemeinen wächst der Zeitaufwand linear mit der Anzahl der Tore, obwohl er nicht von der Anzahl der Tore abhängt shots. SV1 ist im Allgemeinen schneller als TN1 für Stromkreise unter 28 qubits.

SV1 kann für höhere Werte langsamer sein qubit Zahlen, weil es tatsächlich alle Möglichkeiten simuliert, auch die extrem unwahrscheinlichen. Es gibt keine Möglichkeit zu bestimmen, welche Ergebnisse wahrscheinlich sind. Somit für ein 30-qubit Bewertung, SV1 muss 2^30 Konfigurationen berechnen. Das Limit von 34 qubits für die Amazon Braket SV1 Der Simulator stellt aufgrund von Speicher- und Speicherbeschränkungen eine praktische Einschränkung dar. Sie können sich das so vorstellen: Jedes Mal, wenn Sie eine hinzufügen qubit to SV1, das Problem wird doppelt so schwer.

Für viele Arten von Problemen TN1 kann viel größere Schaltungen in realistischer Zeit auswerten als SV1 da TN1 nutzt die Struktur des Graphen. Es verfolgt im Wesentlichen die Entwicklung von Lösungen von Anfang an und behält nur die Konfigurationen bei, die zu einer effizienten Bearbeitung beitragen. Anders ausgedrückt: Es speichert die Konfigurationen, um eine Reihenfolge der Matrixmultiplikation zu erstellen, die zu einem einfacheren Bewertungsprozess führt.

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. TN1, die Anzahl der qubits und Gates sind wichtig, aber die Struktur des Graphen ist viel wichtiger. Zum Beispiel TN1 ist sehr gut darin, Schaltungen (Graphen) auszuwerten, in denen die Gatter eine geringe Reichweite haben (d. h. jedes qubit ist nur durch Tore mit seinem nächsten Nachbarn verbunden qubits) und Schaltungen (Graphen), in denen die Verbindungen (oder Tore) eine ähnliche Reichweite haben. Ein typischer Bereich für TN1 ist, jeden zu haben qubit rede nur mit anderen qubits das sind 5 qubits weg. Wenn der größte Teil der Struktur in einfachere Beziehungen wie diese zerlegt werden kann, die in mehr, kleineren oder einheitlicheren Matrizen dargestellt werden können, TN1 führt die Auswertung einfach durch.

Einschränkungen von TN1

TN1 kann langsamer sein als SV1 abhängig von der strukturellen Komplexität des Graphen. Für bestimmte Grafiken TN1 beendet die Simulation nach der Probenphase und zeigt den Status an, und zwar aus FAILED einem der beiden folgenden Gründe:

  • Es kann kein Pfad gefunden werden — Wenn der Graph zu komplex ist, ist es zu schwierig, einen guten Durchlaufpfad zu finden, und der Simulator gibt die Berechnung auf. TN1 kann die Kontraktion nicht durchführen. Möglicherweise wird eine Fehlermeldung ähnlich der folgenden angezeigt: No viable contraction path found.

  • Die Kontraktionsphase ist zu schwierig — In einigen Grafiken TN1 kann einen Durchlaufpfad finden, aber seine Auswertung ist sehr lang und extrem zeitaufwändig. In diesem Fall ist die Kontraktion so teuer, dass die Kosten unerschwinglich wären, und stattdessen TN1 endet nach der Probenphase. Möglicherweise wird eine Fehlermeldung ähnlich der folgenden angezeigt: Predicted runtime based on best contraction path found exceeds TN1 limit.

Anmerkung

Ihnen wird die Probenphase von in Rechnung gestellt TN1 auch wenn keine Kontraktion durchgeführt wird und Sie einen Status sehen. FAILED

Die prognostizierte Laufzeit hängt auch ab von shot zählen. Im schlimmsten Fall TN1 Die Kontraktionszeit hängt linear ab von shot zählen. Der Stromkreis kann mit weniger zusammengezogen werden shots. Sie könnten zum Beispiel eine Quantenaufgabe mit 100 einreichen shots, welche TN1 entscheidet, ist nicht kontrahierbar, aber wenn Sie mit nur 10 Punkten erneut einreichen, wird die Kontraktion fortgesetzt. In diesem Fall könnten Sie, um 100 Proben zu erhalten, 10 Quantenaufgaben mit jeweils 10 Proben einreichen shots für dieselbe Schaltung und kombiniere die Ergebnisse am Ende.

Als bewährte Methode empfehlen wir, dass du deine Schaltung oder deinen Circuit Class immer mit ein paar Tests testest shots (zum Beispiel 10), um herauszufinden, wie schwer deine Schaltung ist TN1, bevor Sie mit einer höheren Anzahl von fortfahren shots.

Anmerkung

Die Reihe von Multiplikationen, die die Kontraktionsphase bilden, beginnt mit kleinen NxN-Matrizen. Zum Beispiel ein 2-qubit Gate benötigt eine 4x4-Matrix. Die Zwischenmatrizen, die bei einer als zu schwierig eingestuften Kontraktion benötigt werden, sind gigantisch. Eine solche Berechnung würde Tage in Anspruch nehmen. Deshalb Amazon Braket versucht keine extrem komplexen Kontraktionen.

Concurrency (Nebenläufigkeit)

Alle Braket-Simulatoren bieten Ihnen die Möglichkeit, mehrere Schaltungen gleichzeitig zu betreiben. Die Grenzwerte für Parallelität variieren je nach Simulator und Region. Weitere Informationen zu Parallelitätslimits finden Sie auf der Seite Kontingente.