Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser PennyLane avec Amazon Braket
Les algorithmes hybrides sont des algorithmes qui contiennent à la fois des instructions classiques et quantiques. Les instructions classiques sont exécutées sur du matériel classique (une EC2 instance ou votre ordinateur portable), et les instructions quantiques sont exécutées soit sur un simulateur, soit sur un ordinateur quantique. Nous vous recommandons d'exécuter des algorithmes hybrides à l'aide de la fonctionnalité Hybrid Jobs. Pour plus d'informations, consultez Quand utiliser Amazon Braket Jobs.
Amazon Braket vous permet de configurer et d'exécuter des algorithmes quantiques hybrides à l'aide du plug-in Amazon Braket, ou à l'aide d'Amazon PennyLane Braket SDK Python et de référentiels d'exemples de blocs-notes. Des exemples de blocs-notes Amazon Braket, basés sur leSDK, vous permettent de configurer et d'exécuter certains algorithmes hybrides sans le plug-in. PennyLane Cependant, nous le recommandons PennyLane car cela offre une expérience plus riche.
À propos des algorithmes quantiques hybrides
Les algorithmes quantiques hybrides sont importants pour l'industrie aujourd'hui, car les dispositifs informatiques quantiques contemporains produisent généralement du bruit et, par conséquent, des erreurs. Chaque porte quantique ajoutée à un calcul augmente le risque d'ajouter du bruit ; par conséquent, les algorithmes de longue durée peuvent être submergés par le bruit, ce qui entraîne des erreurs de calcul.
Les algorithmes quantiques purs tels que ceux de Shor (exemple d'estimation de phase quantique)
Dans les algorithmes quantiques hybrides, les unités de traitement quantique (QPUs) fonctionnent comme des coprocesseurs pour les algorithmes classiquesCPUs, notamment pour accélérer certains calculs dans un algorithme classique. Les exécutions des circuits deviennent beaucoup plus courtes, ce qui est à la portée des capacités des appareils actuels.
Dans cette section :
- Amazon Braket avec PennyLane
- Exemples d'algorithmes hybrides dans les carnets de notes Amazon Braket
- Algorithmes hybrides avec PennyLane simulateurs intégrés
- Dégradé adjoint activé PennyLane avec les simulateurs Amazon Braket
- Utilisation de tâches hybrides et exécution PennyLane d'un QAOA algorithme
- Exécutez des charges de travail hybrides avec des simulateurs PennyLane intégrés
Amazon Braket avec PennyLane
Amazon Braket fournit un support pour PennyLane
La PennyLane bibliothèque fournit des interfaces vers des outils d'apprentissage automatique familiers, notamment PyTorch et TensorFlow pour rendre l'apprentissage des circuits quantiques rapide et intuitif.
-
La PennyLane bibliothèque -— PennyLane est préinstallée dans Amazon Carnets Braket. Pour accéder à Amazon Supprimez les appareils PennyLane, ouvrez-les dans un bloc-notes et importez la PennyLane bibliothèque à l'aide de la commande suivante.
import pennylane as qml
Les carnets de didacticiels vous aident à démarrer rapidement. Vous pouvez également utiliser PennyLane sur Amazon Support IDE de votre choix.
-
Le Amazon PennyLane Plugin Braket — Pour utiliser le vôtreIDE, vous pouvez installer le Amazon PennyLane Plugin Braket manuellement. Le plugin se connecte PennyLane à Amazon Braket Python SDK
, afin que vous puissiez exécuter des circuits sur PennyLane Amazon Dispositifs de freinage. Pour installer le PennyLane plugin, utilisez la commande suivante.
pip install amazon-braket-pennylane-plugin
L'exemple suivant montre comment configurer l'accès à Amazon Dispositifs de freinage dans 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)
Pour des exemples de didacticiels et plus d'informations à ce sujet PennyLane, consultez le référentiel d'exemples Amazon Braket
Le Amazon PennyLane Le plugin Braket vous permet de basculer entre Amazon Frein QPU et simulateurs intégrés PennyLane avec une seule ligne de code. Il propose deux Amazon Appareils quantiques Braket compatibles avec PennyLane :
-
braket.aws.qubit
pour courir avec Amazon Les dispositifs quantiques du service Braket, y compris les QPUs simulateurs -
braket.local.qubit
pour courir avec Amazon Le simulateur local SDK de Braket
Le Amazon Le PennyLane plugin Braket est open source. Vous pouvez l'installer depuis le GitHub dépôt des PennyLane plugins
Pour plus d'informations PennyLane, consultez la documentation sur le PennyLane site Web
Exemples d'algorithmes hybrides dans les carnets de notes Amazon Braket
Amazon Braket fournit une variété d'exemples de blocs-notes qui ne s'appuient pas sur le PennyLane plugin pour exécuter des algorithmes hybrides. Vous pouvez commencer avec n'importe lequel de ces carnets hybrides Amazon Braket
Les carnets de notes d'exemple Amazon Braket s'appuient sur le Python Amazon Braket. SDK
Vous pouvez explorer Amazon Allez encore plus loin avec nos exemples de carnets de notes
Algorithmes hybrides avec PennyLane simulateurs intégrés
Amazon Braket Hybrid Jobs est désormais livré avec des simulateurs intégrés hautes performances CPU GPU basés sur. PennyLanelightning.qubit
lightning.gpu
simulateur accéléré à l'aide NVIDIA de la cuQuantum bibliothèque
Avec Hybrid Jobs, vous pouvez désormais exécuter votre code d'algorithme variationnel à l'aide d'une combinaison d'un coprocesseur classique et d'un QPU Amazon Simulateur de freinage à la demande tel que SV1, ou directement à l'aide du simulateur intégré de PennyLane.
Le simulateur intégré est déjà disponible avec le conteneur Hybrid Jobs, il vous suffit de décorer votre fonction Python principale avec le @hybrid_job
décorateur. Pour utiliser le PennyLane lightning.gpu
simulateur, vous devez également spécifier une GPU instance dans le, InstanceConfig
comme indiqué dans l'extrait de code suivant :
import pennylane as qml from braket.jobs import hybird_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) ...
Reportez-vous à l'exemple de bloc-notes
Dégradé adjoint activé PennyLane avec les simulateurs Amazon Braket
Avec le plugin PennyLane plugin pour Amazon Braket, vous pouvez calculer les dégradés à l'aide de la méthode de différenciation adjointe lorsque vous l'exécutez sur le simulateur de vecteur d'état local ou. SV1
Remarque : Pour utiliser la méthode de différenciation adjointe, vous devez spécifier diff_method='device'
dans votre qnode
et nondiff_method='adjoint'
. Consultez l'exemple suivant.
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)
Note
Actuellement, PennyLane calculera des indices de regroupement pour les QAOA hamiltoniens et les utilisera pour diviser l'hamiltonien en plusieurs valeurs attendues. Si vous souhaitez utiliser la fonctionnalité SV1 de différenciation adjointe lors de l'exécution QAOA de PennyLane, vous devrez reconstruire l'hamiltonien des coûts en supprimant les indices de regroupement, comme suit : cost_h, mixer_h = qml.qaoa.max_clique(g, constrained=False)
cost_h = qml.Hamiltonian(cost_h.coeffs, cost_h.ops)