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.
Utilisation 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 instance EC2 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 fonction 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 PennyLane plug-in Amazon Braket ou du SDK Python Amazon Braket et d'exemples de référentiels de blocs-notes. Les exemples de blocs-notes Amazon Braket, basés sur le SDK, vous permettent de configurer et d'exécuter certains algorithmes hybrides sans le plug-in. PennyLane Cependant, nous vous 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 appareils 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 calculs erronés.
Les algorithmes quantiques purs tels que celui de Shor (exemple d'estimation de phase quantique)
Dans les algorithmes quantiques hybrides, les unités de traitement quantique (QPU) fonctionnent comme des coprocesseurs pour les processeurs classiques, notamment pour accélérer certains calculs dans un algorithme classique. Les exécutions de circuits deviennent beaucoup plus courtes, à la portée des capacités des appareils actuels.
Dans cette section :
Amazon Braket avec PennyLane
Amazon Braket prend en charge 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 les blocs-notes Amazon Braket. Pour accéder aux appareils Amazon Braket depuis PennyLane, ouvrez 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 Amazon Braket à partir de l'IDE de votre choix.
-
Le PennyLane plugin Amazon Braket — Pour utiliser votre propre IDE, vous pouvez installer le plugin Amazon PennyLane Braket manuellement. Le plug-in se connecte PennyLane au SDK Amazon Braket Python
, ce qui vous permet d'exécuter des circuits PennyLane sur Amazon des appareils Braket. Pour installer le PennyLane plugin, utilisez la commande suivante.
pip install amazon-braket-pennylane-plugin
L'exemple suivant montre comment configurer l'accès aux appareils Amazon Braket 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 obtenir des exemples de didacticiels et plus d'informations à ce sujet PennyLane, consultez le référentiel d'exemples Amazon Braket.
Le PennyLane plug-in Amazon Braket vous permet de basculer entre Amazon Braket QPU et les simulateurs intégrés en une seule ligne PennyLane de code. Il propose deux appareils quantiques Amazon Braket avec lesquels travailler : PennyLane
-
braket.aws.qubitpour fonctionner avec les appareils quantiques du service Amazon Braket, y compris les QPU et les simulateurs -
braket.local.qubitpour fonctionner avec le simulateur Amazon local du SDK Braket
Le PennyLane plugin Amazon Braket est open source. Vous pouvez l'installer depuis le GitHub dépôt des PennyLane plugins
Pour plus d'informations à ce sujet PennyLane, consultez la documentation sur le PennyLane site Web
Exemples d'algorithmes hybrides dans les blocs-notes Amazon Braket
Amazon Braket propose une variété d'exemples de blocs-notes qui ne reposent pas sur le PennyLane plug-in pour exécuter des algorithmes hybrides. Vous pouvez commencer avec n'importe lequel de ces blocs-notes hybrides Amazon Braket illustrant des méthodes variationnelles, telles
Les exemples de blocs-notes Amazon Braket s'appuient sur le SDK Amazon Braket Python.
Vous pouvez explorer Amazon Braket plus en détail à l'aide de nos exemples de blocs-notes.
Algorithmes hybrides avec PennyLane simulateurs intégrés
Amazon Braket Hybrid Jobs est désormais doté de processeurs hautes performances et de simulateurs GPU-based intégrés de. PennyLane lightning.qubit lightning.gpu simulateur accéléré à l'aide de la bibliothèque CuQuantum de NVIDIA
Avec Hybrid Jobs, vous pouvez désormais exécuter le code de votre algorithme variationnel à l'aide d'une combinaison d'un coprocesseur classique et d'un QPU, d'un simulateur à la demande Amazon Braket tel queSV1, ou directement à l'aide du simulateur intégré de. PennyLane
Le simulateur intégré est déjà disponible avec le conteneur Hybrid Jobs, vous devez 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 instance de GPU InstanceConfig comme indiqué dans l'extrait de code suivant :
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.g4dn.xlarge")) def function(wires): dev = qml.device("lightning.gpu", wires=wires) ...
Reportez-vous à l'exemple
Activation du gradient PennyLane avec les simulateurs Amazon Braket
Avec le PennyLane plug-in pour Amazon Braket, vous pouvez calculer des dégradés à l'aide de la méthode de différenciation adjointe lors de l'exécution sur le simulateur vectoriel d'état local ou SV1.
Remarque : Pour utiliser la méthode de différenciation adjointe, vous devez spécifier diff_method='device' dans votreqnode, et non diff_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 les indices de regroupement pour les hamiltoniens QAOA et les utilisera pour diviser l'hamiltonien en plusieurs valeurs attendues. Si vous souhaitez utiliser la capacité de différenciation adjointe de SV1 lorsque vous exécutez QAOA à partir dePennyLane, 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)