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.
Suivi des coûts et économies
Astuce
Découvrez les bases de l'informatique quantique avec AWS ! Inscrivez-vous au plan d'apprentissage numérique Amazon Braket
Avec Amazon Braket, vous avez accès à des ressources informatiques quantiques à la demande sans engagement initial. Vous ne payez que ce que vous utilisez. Pour en savoir plus sur les tarifs, consultez notre page de tarification
Dans cette section :
Définition des limites de dépenses pour Amazon Braket QPUs
Les limites de dépenses Amazon Braket fournissent un contrôle facultatif des coûts par appareil pour les unités de traitement quantique (). QPUs
Comment fonctionnent les limites de dépenses : Amazon Braket suit vos dépenses cumulées et valide chaque demande de création de tâche par rapport à la limite que vous avez configurée. Si le coût estimé d'une tâche dépasse votre limite de dépenses restante, Amazon Braket rejette immédiatement la tâche avec une erreur de validation. Vous pouvez éventuellement configurer une période pour votre limite de dépenses. En configurant une période, vous pouvez vous assurer que les tâches ne peuvent être soumises que pendant cette période spécifiée. Les tâches soumises en dehors de cette période seront rejetées.
Conception optionnelle : les flux de travail existants ne seront pas affectés à moins que vous n'activiez explicitement les contrôles. Vous pouvez supprimer toutes les restrictions en supprimant la limite de dépenses.
Note
Les limites de dépenses s'appliquent uniquement aux tâches QPU à la demande et hybrides. Ils excluent les simulateurs, les ordinateurs portables gérés, les coûts des instances Hybrid Job EC2 et les réservations Braket Direct. Pour une gestion complète des coûts de tous les services AWS, continuez à utiliser AWS Budgets
Liste des mesures de limitation des dépenses
- Rechercher
-
À l'aide de la commande AWS CLI suivante, vous pouvez rechercher et répertorier les limites de dépenses dans une région AWS spécifique et pour un appareil Braket spécifique.
aws --region {device_region} braket search-spending-limits --filters name=deviceArn,operator=EQUAL,values={device_arn} - Créez
-
À l'aide de la commande AWS CLI suivante, vous pouvez créer une nouvelle limite de dépenses pour un dispositif quantique spécifique dans une région spécifique. La demande est rejetée s'il existe déjà une limite de dépenses pour l'appareil.
aws --region {device_region} braket create-spending-limit --device-arn {device_arn} --spending-limit {max_spend} - Mettre à jour
-
À l'aide de la commande AWS CLI suivante, vous pouvez mettre à jour une limite de dépenses existante vers une nouvelle valeur de dépense maximale. La demande est rejetée si la somme des dépenses actuelles et des dépenses en attente est déjà supérieure à la nouvelle dépense maximale demandée.
aws --region {device_region} braket update-spending-limit --spending-limit-arn {spending_limit_arn} --spending-limit {new_max_spend}Vous pouvez indiquer une période à la place ou en plus de la nouvelle dépense maximale, comme dans l'exemple ci-dessus.
- Supprimer
-
À l'aide de la commande AWS CLI suivante, vous pouvez supprimer une limite de dépenses existante.
aws --region {device_region} braket delete-spending-limit --spending-limit-arn {spending_limit_arn}Vous pouvez indiquer une période à la place ou en plus de la nouvelle dépense maximale, comme dans l'exemple ci-dessus.
Bien que facultatif, il est recommandé de toujours spécifier le paramètre de région. Les commandes exécutées dans une région différente de celle de l'appareil échoueront ou, dans le cas contraireSearchSpendingLimits, renverront des résultats incorrects.
Pour plus d'exemples sur l'utilisation des limites de dépenses, consultez l'exemple de bloc-notes
Comment fonctionne la validation des tâches
Lorsque le compte AWS envoie une CreateQuantumTask demande par ailleurs valide, il est soumis au comportement de blocage suivant. Remarque : Le budget restant correspond à la différence entre la limite de dépenses et la somme des dépenses en attente et des dépenses en cours. (Voir la section suivante)
-
Cas 1 : Il n'y a aucune limite de dépenses pour le dispositif de tâches : la tâche est créée.
-
Cas 2 : Il existe une limite de dépenses pour l'appareil cible, et l'heure actuelle se situe dans la période de limite de dépenses :
-
Si le coût estimé de la tâche est inférieur ou égal au budget restant : si le résultat CreateQuantumTask est atteint, la tâche est créée.
-
Si le coût estimé est supérieur au budget restant :
CreateQuantumTaskéchec et aucune tâche n'est créée.
-
-
Cas 3 : Il existe une limite de dépenses pour l'appareil cible, et l'heure actuelle est en dehors de la période de limite de dépenses :
CreateQuantumTaskéchec et aucune tâche n'est créée.
Comment le budget restant est calculé
Le budget restant correspond à la différence entre la limite de dépenses et la somme des dépenses en cours et des dépenses en attente.
Lorsqu'une tâche est créée pour un appareil soumis à une limite de dépenses, les dépenses en file d'attente sont augmentées du coût estimé de la tâche. Cet événement est répertorié dans la première ligne du tableau suivant. Le tableau suivant indique ce qu'il advient des dépenses en file d'attente et des dépenses actuelles, en fonction de la progression de la tâche.
|
Ancien état d'une tâche quantique |
Nouvel état de tâche quantique |
Passage aux dépenses en file d'attente |
Modification des dépenses actuelles |
|
- |
CRÉÉ |
Augmenté par le coût estimé |
Pas de modification |
|
CRÉÉ |
QUEUED |
Pas de modification |
Pas de modification |
|
N’importe lequel |
RUNNING |
Pas de modification |
Pas de modification |
|
N’importe lequel |
ANNULATION |
Pas de modification |
Pas de modification |
|
ANNULATION |
CANCELLED |
Réduit par le coût estimé |
Pas de changement |
|
N’importe lequel |
ÉCHEC |
Réduit par le coût estimé |
Pas de modification |
|
RUNNING |
TERMINÉ |
Réduit par le coût estimé |
Augmenté du coût estimatif (ajusté en conséquence pour les tâches partiellement achevées) |
Étuis Edge
Q : Lors de la création d'une limite de dépenses, les tâches déjà présentes dans la file d'attente sont-elles prises en compte dans les dépenses en file d'attente ?
R : Non. Les tâches déjà créées, mises en file d'attente ou en cours ne sont pas prises en compte dans les dépenses en file d'attente d'une limite de dépenses nouvellement créée.
Q : L'abaissement de la limite de dépenses, en la mettant à jour, entraîne-t-il l'arrêt anticipé d'une tâche quantique créée, en file d'attente ou en cours de réalisation ?
R : Non.
Q : Le fait d'atteindre l'heure de fin de la limite de dépenses entraîne-t-il l'arrêt anticipé d'une tâche quantique créée, en file d'attente ou en cours de réalisation ?
R : Non. Les tâches créées, mises en file d'attente ou en cours peuvent être effectuées indépendamment de l'état de la limite de dépenses.
Q : En quoi l'absence de limite de dépenses diffère-t-elle d'une limite de dépenses de zéro dollar ?
R : Aucune limite de dépenses ne permet de créer des tâches quantiques sans restrictions. Une limite de dépenses de zéro dollar bloque toutes les tâches quantiques.
Q : Une limite de dépenses nulle dans le passé ou dans le futur bloque-t-elle toute création de tâches quantiques ?
A : Oui.
Q : Lors de la création d'une limite de dépenses, le coût estimé des tâches déjà en attente sera-t-il pris en compte dans les dépenses actuelles une fois ces tâches terminées ?
R : Non. Seules les tâches soumises alors qu'une limite de dépenses est active sont prises en compte dans les dépenses cumulées.
Suivi des coûts en temps quasi réel
Le SDK Braket vous offre la possibilité d'ajouter un suivi des coûts en temps quasi réel à vos charges de travail quantiques. Chacun de nos carnets d'exemples inclut un code de suivi des coûts pour vous fournir une estimation maximale des coûts des unités de traitement quantique (QPUs) et des simulateurs à la demande de Braket. Les estimations des coûts maximaux seront affichées en dollars américains et n'incluent aucun crédit ni aucune réduction.
Note
Les frais indiqués sont des estimations basées sur l'utilisation des tâches de votre simulateur Amazon Braket et de votre unité de traitement quantique (QPU). Les frais estimés indiqués peuvent différer de vos frais réels. Les frais estimés ne tiennent pas compte des remises ou des crédits et des frais supplémentaires peuvent vous être facturés en fonction de votre utilisation d'autres services tels qu'Amazon Elastic Compute Cloud (Amazon EC2).
Suivi des coûts pour SV1
Afin de démontrer comment la fonction de suivi des coûts peut être utilisée, nous allons construire un circuit Bell State et l'exécuter sur notre SV1 simulateur. Commencez par importer les modules du SDK Braket, définissez un Bell State et ajoutez la Tracker() fonction à notre circuit :
#import any required modules from braket.aws import AwsDevice from braket.circuits import Circuit from braket.tracking import Tracker #create our bell circuit circ = Circuit().h(0).cnot(0,1) device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") with Tracker() as tracker: task = device.run(circ, shots=1000).result() #Your results print(task.measurement_counts)
Counter({'00': 500, '11': 500})
Lorsque vous utilisez votre ordinateur portable, vous pouvez vous attendre au résultat suivant pour votre simulation de Bell State. La fonction de suivi vous indiquera le nombre de tirs envoyés, les tâches quantiques terminées, la durée d'exécution, la durée d'exécution facturée et votre coût maximum en dollars américains. Le temps d'exécution peut varier pour chaque simulation.
import datetime tracker.quantum_tasks_statistics() {'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 1000, 'tasks': {'COMPLETED': 1}, 'execution_duration': datetime.timedelta(microseconds=4000), 'billed_execution_duration': datetime.timedelta(seconds=3)}} tracker.simulator_tasks_cost()
Decimal('0.0037500000')
Utiliser le suivi des coûts pour fixer les coûts maximaux
Vous pouvez utiliser le suivi des coûts pour définir les coûts maximaux d'un programme. Vous pouvez avoir un seuil maximum pour le montant que vous souhaitez dépenser pour un programme donné. De cette façon, vous pouvez utiliser le suivi des coûts pour élaborer une logique de contrôle des coûts dans votre code d'exécution. L'exemple suivant prend le même circuit sur un Rigetti QPU et limite le coût à 1 USD. Le coût d'exécution d'une itération du circuit dans notre code est de 0,30 USD. Nous avons défini la logique pour répéter les itérations jusqu'à ce que le coût total dépasse 1 USD ; par conséquent, l'extrait de code sera exécuté trois fois jusqu'à ce que la prochaine itération dépasse 1 USD. En général, un programme continue à itérer jusqu'à ce qu'il atteigne le coût maximum souhaité, dans ce cas, trois itérations.
device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") with Tracker() as tracker: while tracker.qpu_tasks_cost() < 1: result = device.run(circ, shots=200).result() print(tracker.quantum_tasks_statistics()) print(tracker.qpu_tasks_cost(), "USD")
{'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.4400000000 USD
Note
Le suivi des coûts ne suivra pas la durée des tâches TN1 quantiques ayant échoué. Au cours d'une TN1 simulation, si votre répétition se termine, mais que l'étape de contraction échoue, vos frais de répétition ne seront pas affichés dans le suivi des coûts.
Les meilleures pratiques pour réduire les coûts
Tenez compte des bonnes pratiques suivantes pour utiliser Amazon Braket. Gagnez du temps, minimisez les coûts et évitez les erreurs courantes.
Vérifiez à l'aide de simulateurs
-
Vérifiez vos circuits à l'aide d'un simulateur avant de l'exécuter sur un QPU, afin de pouvoir affiner votre circuit sans encourir de frais pour l'utilisation du QPU.
-
Bien que les résultats de l'exécution du circuit sur un simulateur ne soient pas identiques à ceux de l'exécution du circuit sur un QPU, vous pouvez identifier les erreurs de codage ou les problèmes de configuration à l'aide d'un simulateur.
Restreindre l'accès des utilisateurs à certains appareils
-
Vous pouvez définir des restrictions qui empêchent les utilisateurs non autorisés de soumettre des tâches quantiques sur certains appareils. La méthode recommandée pour restreindre l'accès est d'utiliser AWS IAM. Pour plus d'informations sur la procédure à suivre, consultez Restreindre l'accès.
-
Nous vous recommandons de ne pas utiliser votre compte administrateur pour accorder ou restreindre l'accès des utilisateurs aux appareils Amazon Braket.
Définissez des alarmes de facturation
-
Vous pouvez définir une alarme de facturation pour vous avertir lorsque votre facture atteint une limite prédéfinie. La méthode recommandée pour configurer une alarme est la méthode suivante AWS Budgets. Vous pouvez définir des budgets personnalisés et recevoir des alertes lorsque vos coûts ou votre utilisation peuvent dépasser le montant budgétisé. Les informations sont disponibles à l'adresse AWS Budgets
.
Testez des tâches TN1 quantiques avec un faible nombre de tirs
-
Les simulateurs coûtent moins cher QPUs, mais certains peuvent être coûteux si les tâches quantiques sont exécutées avec un nombre de coups élevé. Nous vous recommandons de tester vos TN1 tâches avec un faible shot nombre de tâches. Shotle nombre n'a aucune incidence sur le coût SV1 et les tâches du simulateur local.
Vérifiez toutes les régions pour les tâches quantiques
-
La console affiche les tâches quantiques uniquement pour votre activité actuelle Région AWS. Lorsque vous recherchez des tâches quantiques facturables qui ont été soumises, assurez-vous de cocher toutes les régions.
-
Vous pouvez consulter la liste des appareils et de leurs régions associées sur la page de documentation des appareils pris en charge.