View a markdown version of this page

Utilisation de la compilation paramétrique pour accélérer les tâches hybrides - Amazon Braket

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 de la compilation paramétrique pour accélérer les tâches hybrides

Amazon Braket prend en charge la compilation paramétrique sur certains QPU. Cela vous permet de réduire la charge associée à l'étape de compilation coûteuse en calculs en ne compilant un circuit qu'une seule fois et non pour chaque itération de votre algorithme hybride. Cela peut améliorer considérablement les temps d'exécution des tâches hybrides, car vous n'avez pas à recompiler votre circuit à chaque étape. Il vous suffit de soumettre des circuits paramétrés à l'un de nos QPU compatibles en tant que Braket Hybrid Job. Pour les tâches hybrides de longue durée, Braket utilise automatiquement les données d'étalonnage mises à jour du fournisseur de matériel lors de la compilation de votre circuit afin de garantir des résultats de la plus haute qualité.

Pour créer un circuit paramétrique, vous devez d'abord fournir des paramètres en tant qu'entrées dans le script de votre algorithme. Dans cet exemple, nous utilisons un petit circuit paramétrique et ignorons tout traitement classique entre chaque itération. Pour les charges de travail classiques, vous devez soumettre de nombreux circuits par lots et effectuer un traitement classique tel que la mise à jour des paramètres à chaque itération.

import os from braket.aws import AwsDevice from braket.circuits import Circuit, FreeParameter def start_here(): print("Test job started.") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) circuit = Circuit().rx(0, FreeParameter("theta")) parameter_list = [0.1, 0.2, 0.3] for parameter in parameter_list: result = device.run(circuit, shots=1000, inputs={"theta": parameter}) print("Test job completed.")

Vous pouvez soumettre le script de l'algorithme à exécuter en tant que tâche hybride à l'aide du script de tâche suivant. Lorsque vous exécutez le Job hybride sur une QPU prenant en charge la compilation paramétrique, le circuit n'est compilé que lors de la première exécution. Lors des exécutions suivantes, le circuit compilé est réutilisé, ce qui augmente les performances d'exécution du Job hybride sans aucune ligne de code supplémentaire.

from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( device=device_arn, source_module="algorithm_script.py", )
Note

La compilation paramétrique est prise en charge sur tous les QPU supraconducteurs basés sur des grilles, à l'Rigetti Computingexception des programmes de niveau d'impulsion.