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.
PennyLane Mit Amazon Braket verwenden
Hybride Algorithmen sind Algorithmen, die sowohl klassische als auch Quantenbefehle enthalten. Die klassischen Befehle werden auf klassischer Hardware (einer EC2 Instanz oder Ihrem Laptop) ausgeführt, und die Quantenbefehle werden entweder auf einem Simulator oder auf einem Quantencomputer ausgeführt. Wir empfehlen, hybride Algorithmen mithilfe der Hybrid-Jobs-Funktion auszuführen. Weitere Informationen finden Sie unter Wann sollten Sie Amazon Braket Jobs verwenden?
Amazon Braket ermöglicht es Ihnen, hybride Quantenalgorithmen mithilfe des Amazon PennyLane Braket-Plug-ins oder mit dem Amazon Braket Python SDK und Beispiel-Notebook-Repositorys einzurichten und auszuführen. Amazon Braket-Beispiel-Notebooks, die auf dem SDK basieren, ermöglichen es Ihnen, bestimmte Hybrid-Algorithmen ohne das PennyLane Plugin einzurichten und auszuführen. Wir empfehlen dies jedoch, PennyLane da es eine umfassendere Benutzererfahrung bietet.
Über hybride Quantenalgorithmen
Hybride Quantenalgorithmen sind heute für die Industrie wichtig, da moderne Quantencomputer im Allgemeinen Rauschen und damit Fehler erzeugen. Jedes Quantengatter, das zu einer Berechnung hinzugefügt wird, erhöht die Wahrscheinlichkeit, dass Rauschen hinzukommt. Daher können Algorithmen mit langer Laufzeit durch Rauschen überfordert werden, was zu fehlerhaften Berechnungen führt.
Reine Quantenalgorithmen wie der von Shor (Beispiel Quantum Phase Estimation)
In hybriden Quantenalgorithmen arbeiten Quantenverarbeitungseinheiten (QPUs) als Co-Prozessoren für klassische Algorithmen CPUs, insbesondere um bestimmte Berechnungen in einem klassischen Algorithmus zu beschleunigen. Die Ausführung von Schaltungen wird deutlich kürzer, was mit den Möglichkeiten heutiger Geräte möglich ist.
In diesem Abschnitt:
Amazon Braket mit PennyLane
Amazon Braket bietet Unterstützung für PennyLane
Die PennyLane Bibliothek bietet Schnittstellen zu vertrauten Tools für maschinelles Lernen, einschließlich PyTorch und TensorFlow, um das Training von Quantenschaltkreisen schnell und intuitiv zu gestalten.
-
Die PennyLane Bibliothek —— PennyLane ist in Amazon Braket-Notebooks vorinstalliert. Um von aus auf Amazon Braket-Geräte zuzugreifen PennyLane, öffnen Sie ein Notizbuch und importieren Sie die PennyLane Bibliothek mit dem folgenden Befehl.
import pennylane as qml
Tutorial-Notizbücher helfen Ihnen dabei, schnell loszulegen. Alternativ können Sie PennyLane On Amazon Braket von einer IDE Ihrer Wahl aus verwenden.
-
Das Amazon PennyLane Braket-Plugin — Um Ihre eigene IDE zu verwenden, können Sie das Amazon PennyLane Braket-Plugin manuell installieren. Das Plugin stellt eine Verbindung PennyLane mit dem Amazon Braket Python SDK
her, sodass Sie Schaltungen PennyLane auf Amazon Braket-Geräten ausführen können. Verwenden Sie den folgenden Befehl, um PennyLane das Plugin zu installieren.
pip install amazon-braket-pennylane-plugin
Das folgende Beispiel zeigt, wie Sie den Zugriff auf Amazon Braket-Geräte einrichten in PennyLane:
# to use SV1 import pennylane as qml sv1 = qml.device("braket.aws.qubit", device_arn="arn:aws:braket:::device/quantum-simulator/amazon/sv1", wires=2) # to run a circuit: @qml.qnode(sv1) def circuit(x): qml.RZ(x, wires=0) qml.CNOT(wires=[0,1]) qml.RY(x, wires=1) return qml.expval(qml.PauliZ(1)) result = circuit(0.543) #To use the local sim: local = qml.device("braket.local.qubit", wires=2)
Tutorial-Beispiele und weitere Informationen PennyLane dazu finden Sie im Amazon Braket-Beispiel-Repository
Das Amazon PennyLane Braket-Plugin ermöglicht es Ihnen, PennyLane mit einer einzigen Amazon Codezeile zwischen Braket QPU und eingebetteten Simulatorgeräten zu wechseln. Es bietet zwei Amazon Braket-Quantengeräte, mit denen Sie arbeiten können: PennyLane
-
braket.aws.qubit
für den Betrieb mit den Quantengeräten des Amazon Braket-Dienstes, einschließlich Simulatoren QPUs -
braket.local.qubit
für die Ausführung mit dem lokalen Simulator des Amazon Braket-SDK
Das Amazon PennyLane Braket-Plugin ist Open Source. Sie können es aus dem PennyLane GitHub Plugin-Repository
Weitere Informationen PennyLane dazu finden Sie in der Dokumentation auf der PennyLane Website
Hybride Algorithmen in Amazon Braket-Beispielnotizbüchern
Amazon Braket bietet eine Vielzahl von Beispiel-Notebooks, die nicht auf das PennyLane Plugin angewiesen sind, um Hybrid-Algorithmen auszuführen. Sie können mit jedem dieser Amazon Braket-Hybrid-Beispielnotizbücher
Die Amazon Braket-Beispielnotizbücher basieren auf dem Amazon Braket Python SDK
Mit unseren Beispiel-Notizbüchern
Hybride Algorithmen mit eingebetteten Simulatoren PennyLane
Amazon Braket Hybrid Jobs bietet jetzt leistungsstarke CPU- und GPU-basierte eingebettete Simulatoren von. PennyLanelightning.qubit
State-Vector-Simulator, den mit der CuQuantum-Bibliothek von NVIDIA beschleunigten lightning.gpu
Simulator und andere.
Mit Hybrid-Jobs können Sie jetzt Ihren variationellen Algorithmuscode mit einer Kombination aus einem klassischen Co-Prozessor und einer QPU, einem Amazon Braket-On-Demand-Simulator wieSV1, oder direkt mit dem eingebetteten Simulator von ausführen. PennyLane
Der eingebettete Simulator ist bereits mit dem Hybrid Jobs-Container verfügbar. Sie müssen lediglich Ihre Python-Hauptfunktion mit dem @hybrid_job
Decorator dekorieren. Um den PennyLane lightning.gpu
Simulator zu verwenden, müssen Sie außerdem eine GPU-Instanz angeben, InstanceConfig
wie im folgenden Codeausschnitt gezeigt:
import pennylane as qml from braket.jobs import hybrid_job from braket.jobs.config import InstanceConfig @hybrid_job(device="local:pennylane/lightning.gpu", instance_config=InstanceConfig(instanceType="ml.p3.8xlarge")) def function(wires): dev = qml.device("lightning.gpu", wires=wires) ...
Sehen Sie sich das Beispiel-Notizbuch
Adjoint Gradient aktiviert PennyLane mit Amazon Braket-Simulatoren
Mit dem PennyLane Plugin für Amazon Braket können Sie Gradienten mithilfe der Methode der adjungierten Differenzierung berechnen, wenn Sie auf dem lokalen Zustandsvektorsimulator oder. SV1
Hinweis: Um die Methode der adjungierten Differenzierung verwenden zu können, müssen Sie diff_method='device'
in Ihrer qnode
und nicht angeben. diff_method='adjoint'
Sehen Sie sich das folgende Beispiel an.
device_arn = "arn:aws:braket:::device/quantum-simulator/amazon/sv1" dev = qml.device("braket.aws.qubit", wires=wires, shots=0, device_arn=device_arn) @qml.qnode(dev, diff_method="device") def cost_function(params): circuit(params) return qml.expval(cost_h) gradient = qml.grad(circuit) initial_gradient = gradient(params0)
Anmerkung
Derzeit PennyLane berechnet ich Gruppierungsindizes für QAOA-Hamiltonianer und verwendet sie, um den Hamiltonian in mehrere Erwartungswerte aufzuteilen. Wenn Sie bei der Ausführung SV1 von QAOA die Fähigkeit zur adjungierten Differenzierung verwenden möchten, müssen Sie den Kosten-Hamilton-Wert rekonstruierenPennyLane, indem Sie die Gruppierungsindizes wie folgt entfernen: cost_h, mixer_h = qml.qaoa.max_clique(g, constrained=False)
cost_h = qml.Hamiltonian(cost_h.coeffs, cost_h.ops)