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.
Kostenverfolgung und Kosteneinsparung
Tipp
Lernen Sie die Grundlagen des Quantencomputers kennen mit AWS! Melden Sie sich für den Amazon Braket Digital Learning Plan
Mit Amazon Braket haben Sie bei Bedarf Zugriff auf Quantencomputer-Ressourcen, ohne dass Sie sich vorab verpflichten müssen. Sie zahlen nur das, was Sie nutzen. Weitere Informationen zu den Preisen finden Sie auf unserer Preisseite
In diesem Abschnitt:
Ausgabenlimits für Amazon Braket festlegen QPUs
Die Ausgabenlimits von Amazon Braket bieten optionale Kostenkontrollen pro Gerät für Quantenverarbeitungseinheiten ()QPUs.
So funktionieren Ausgabenlimits: Amazon Braket verfolgt Ihre kumulierten Ausgaben und validiert jede Anfrage zur Aufgabenerstellung anhand Ihres konfigurierten Limits. Wenn die geschätzten Kosten einer Aufgabe Ihr verbleibendes Ausgabenlimit überschreiten, lehnt Amazon Braket die Aufgabe sofort mit einem Validierungsfehler ab. Sie können optional einen Zeitraum für Ihr Ausgabenlimit konfigurieren. Durch die Konfiguration eines Zeitraums können Sie sicherstellen, dass Aufgaben nur in diesem angegebenen Zeitraum eingereicht werden können. Aufgaben, die außerhalb des Zeitraums eingereicht wurden, werden abgelehnt.
Opt-in-Design: Bestehende Workflows bleiben davon unberührt, es sei denn, Sie aktivieren die Kontrollen ausdrücklich. Sie können alle Einschränkungen aufheben, indem Sie das Ausgabenlimit löschen.
Anmerkung
Ausgabenlimits gelten nur für QPU-Aufgaben auf Abruf und hybride Jobs. Sie schließen Simulatoren, verwaltete Notebooks, EC2 Hybrid-Job-Instanzkosten und Braket Direct-Reservierungen aus. Für ein umfassendes Kostenmanagement für alle AWS-Services nutzen Sie weiterhin AWS Budgets
Liste der Maßnahmen zur Ausgabenbegrenzung
- Suchen
-
Mit dem folgenden AWS-CLI-Befehl können Sie Ausgabenlimits in einer bestimmten AWS-Region und für ein bestimmtes Braket-Gerät suchen und auflisten.
aws --region {device_region} braket search-spending-limits --filters name=deviceArn,operator=EQUAL,values={device_arn} - Erstellen
-
Mit dem folgenden AWS-CLI-Befehl können Sie ein neues Ausgabenlimit für ein bestimmtes Quantengerät in einer bestimmten Region erstellen. Die Anfrage wird abgelehnt, wenn für das Gerät bereits ein Ausgabenlimit besteht.
aws --region {device_region} braket create-spending-limit --device-arn {device_arn} --spending-limit {max_spend} - Aktualisieren
-
Mit dem folgenden AWS-CLI-Befehl können Sie ein vorhandenes Ausgabenlimit auf einen neuen maximalen Ausgabenwert aktualisieren. Die Anfrage wird abgelehnt, wenn die Summe der aktuellen Ausgaben und der Ausgaben in der Warteschlange bereits über dem angeforderten neuen Höchstbetrag liegt.
aws --region {device_region} braket update-spending-limit --spending-limit-arn {spending_limit_arn} --spending-limit {new_max_spend}Sie können statt oder zusätzlich zu den neuen Höchstausgaben einen Zeitraum angeben, wie im obigen Beispiel.
- Löschen
-
Mit dem folgenden AWS-CLI-Befehl können Sie ein vorhandenes Ausgabenlimit löschen.
aws --region {device_region} braket delete-spending-limit --spending-limit-arn {spending_limit_arn}Sie können anstelle oder zusätzlich zu den neuen Höchstausgaben einen Zeitraum angeben, wie im obigen Beispiel.
Als bewährte Methode sollten Sie immer den Regionsparameter angeben, obwohl dies optional ist. Befehle, die in einer anderen Region als der des Geräts ausgeführt werden, schlagen fehl oder geben im SearchSpendingLimits Fall von falsche Ergebnisse zurück.
Weitere Beispiele zur Verwendung von Ausgabenlimits finden Sie im Beispiel-Notizbuch
So funktioniert die Aufgabenvalidierung
Wenn das AWS-Konto eine ansonsten gültige CreateQuantumTask Anfrage sendet, unterliegt es dem folgenden Gating-Verhalten. Hinweis: Das verbleibende Budget ist die Differenz zwischen dem Ausgabenlimit und der Summe der Ausgaben in der Warteschlange und der aktuellen Ausgaben. (Siehe nächsten Abschnitt)
-
Fall 1: Es gibt kein Ausgabenlimit für das Task-Gerät: Die Aufgabe wurde erstellt.
-
Fall 2: Es gibt ein Ausgabenlimit für das Zielgerät, und die aktuelle Uhrzeit liegt innerhalb des Zeitraums, für den das Ausgabenlimit gilt:
-
Wenn die geschätzten Kosten der Aufgabe niedriger oder gleich dem verbleibenden Budget sind: CreateQuantumTask erfolgreich, wird die Aufgabe erstellt.
-
Wenn die geschätzten Kosten höher sind als das verbleibende Budget:
CreateQuantumTaskschlägt fehl und es wird keine Aufgabe erstellt.
-
-
Fall 3: Es gibt ein Ausgabenlimit für das Zielgerät und die aktuelle Uhrzeit liegt außerhalb des Zeitraums des Ausgabenlimits:
CreateQuantumTaskschlägt fehl und es wird keine Aufgabe erstellt.
Wie wird das verbleibende Budget berechnet
Das verbleibende Budget ist die Differenz zwischen dem Ausgabenlimit und der Summe der aktuellen Ausgaben und der Ausgaben in der Warteschlange.
Wenn eine Aufgabe für ein Gerät mit einem Ausgabenlimit erstellt wird, werden die Ausgaben in der Warteschlange um die geschätzten Kosten der Aufgabe erhöht. Dieses Ereignis ist in der ersten Zeile der folgenden Tabelle aufgeführt. Die folgende Tabelle zeigt, was mit den Ausgaben in der Warteschlange und den aktuellen Ausgaben je nach Fortschritt der Aufgabe passiert.
|
Alter Zustand der Quantenaufgabe |
Neuer Quanten-Aufgabenzustand |
Wechseln Sie zu Ausgaben in der Warteschlange |
Zu aktuellen Ausgaben wechseln |
|
- |
ERSTELLT |
Erhöht um die geschätzten Kosten |
Keine Änderung |
|
ERSTELLT |
IN WARTESCHLANGE |
Keine Änderung |
Keine Änderung |
|
Beliebig |
AUSFÜHREN |
Keine Änderung |
Keine Änderung |
|
Beliebig |
CANCELLING |
Keine Änderung |
Keine Änderung |
|
CANCELLING |
CANCELLED |
Reduziert um die geschätzten Kosten |
Keine Änderung |
|
Beliebig |
FEHLGESCHLAGEN |
Reduziert um die geschätzten Kosten |
Keine Änderung |
|
AUSFÜHREN |
COMPLETED |
Reduziert um die geschätzten Kosten |
Erhöht um die geschätzten Kosten (entsprechend angepasst für teilweise erledigte Aufgaben) |
Sonderfälle
F: Werden Aufgaben, die sich bereits in der Warteschlange befinden, bei der Erstellung eines Ausgabenlimits auf die Ausgaben in der Warteschlange angerechnet?
A: Nein. Aufgaben, die bereits erstellt wurden, sich in der Warteschlange befinden oder anderweitig in Bearbeitung sind, werden nicht auf die Ausgaben in der Warteschlange eines neu erstellten Ausgabenlimits angerechnet.
F: Führt die Senkung des Ausgabenlimits durch dessen Aktualisierung dazu, dass erstellte, in der Warteschlange befindliche oder anderweitig in Bearbeitung befindliche Quantenaufgaben vorzeitig beendet werden?
A: Nein.
F: Führt das Erreichen der Endzeit des Ausgabenlimits dazu, dass eine erstellte, in der Warteschlange befindliche oder anderweitig in Bearbeitung befindliche Quantenaufgabe vorzeitig beendet wird?
A: Nein. Erstellte, in der Warteschlange befindliche und anderweitig in Bearbeitung befindliche Aufgaben können unabhängig vom Status des Ausgabenlimits abgeschlossen werden.
F: Wie unterscheidet sich ein fehlendes Ausgabenlimit von einem Ausgabenlimit von null Dollar?
A: Da es kein Ausgabenlimit gibt, können Quantenaufgaben ohne Einschränkungen erstellt werden. Ein Ausgabenlimit von null Dollar blockiert alle Quantenaufgaben.
F: Blockiert ein Ausgabenlimit von Null in der Vergangenheit oder future die gesamte Erstellung von Quantenaufgaben?
A: Ja.
F: Werden bei der Festlegung eines Ausgabenlimits die geschätzten Kosten für Aufgaben, die sich bereits in der Warteschlange befinden, auf die aktuellen Ausgaben angerechnet, sobald diese Aufgaben abgeschlossen sind?
A: Nein. Nur Aufgaben, die eingereicht werden, solange ein Ausgabenlimit aktiv ist, werden auf die kumulierten Ausgaben angerechnet.
Kostenverfolgung nahezu in Echtzeit
Das Braket SDK bietet Ihnen die Möglichkeit, Ihre Quanten-Workloads um eine Kostenverfolgung nahezu in Echtzeit zu erweitern. Jedes unserer Beispiel-Notebooks enthält einen Code zur Kostenverfolgung, mit dem Sie einen maximalen Kostenvoranschlag für die Quantenverarbeitungseinheiten (QPUs) und On-Demand-Simulatoren von Braket erhalten. Die geschätzten Höchstkosten werden in USD angezeigt und beinhalten keine Gutschriften oder Rabatte.
Anmerkung
Die angegebenen Gebühren sind Schätzungen, die auf der Nutzung Ihres Amazon Braket-Simulators und Ihrer QPU-Aufgaben (Quantum Processing Unit) basieren. Die angezeigten geschätzten Gebühren können von Ihren tatsächlichen Gebühren abweichen. In den geschätzten Gebühren sind keine Rabatte oder Gutschriften enthalten, und es können zusätzliche Gebühren anfallen, wenn Sie andere Dienste wie Amazon Elastic Compute Cloud (Amazon EC2) nutzen.
Kostenverfolgung für SV1
Um zu demonstrieren, wie die Kostenverfolgungsfunktion verwendet werden kann, werden wir eine Bell State-Schaltung konstruieren und sie auf unserem SV1 Simulator ausführen. Importieren Sie zunächst die Braket SDK-Module, definieren Sie einen Bell State und fügen Sie die Tracker() Funktion zu unserer Schaltung hinzu:
#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})
Wenn Sie Ihr Notebook ausführen, können Sie die folgende Ausgabe für Ihre Bell State-Simulation erwarten. Die Tracker-Funktion zeigt Ihnen die Anzahl der gesendeten Schüsse, die abgeschlossenen Quantenaufgaben, die Ausführungsdauer, die in Rechnung gestellte Ausführungsdauer und Ihre maximalen Kosten in USD an. Ihre Ausführungszeit kann für jede Simulation variieren.
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')
Verwenden Sie den Cost Tracker, um die maximalen Kosten festzulegen
Sie können den Cost Tracker verwenden, um die Höchstkosten für ein Programm festzulegen. Möglicherweise haben Sie einen Höchstbetrag dafür, wie viel Sie für ein bestimmtes Programm ausgeben möchten. Auf diese Weise können Sie den Cost Tracker verwenden, um die Kostenkontrolllogik in Ihrem Ausführungscode zu integrieren. Das folgende Beispiel verwendet dieselbe Schaltung auf einer Rigetti QPU und begrenzt die Kosten auf 1 USD. Die Kosten für die Ausführung einer Iteration der Schaltung in unserem Code betragen 0,30 USD. Wir haben die Logik so eingestellt, dass die Iterationen wiederholt werden, bis die Gesamtkosten 1 USD überschreiten. Daher wird der Codeausschnitt dreimal ausgeführt, bis die nächste Iteration 1 USD übersteigt. Im Allgemeinen würde ein Programm so lange iterieren, bis die von Ihnen gewünschten maximalen Kosten erreicht sind, in diesem Fall drei Iterationen.
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
Anmerkung
Der Cost Tracker erfasst nicht die Dauer fehlgeschlagener TN1 Quantenaufgaben. Wenn Ihre Probe während einer TN1 Simulation abgeschlossen ist, der Kontraktionsschritt jedoch fehlschlägt, wird Ihre Probengebühr nicht im Cost Tracker angezeigt.
Bewährte Methoden zur Kosteneinsparung
Beachten Sie die folgenden bewährten Methoden für die Verwendung von Amazon Braket. Sparen Sie Zeit, minimieren Sie Kosten und vermeiden Sie häufige Fehler.
Überprüfen Sie mit Simulatoren
-
Überprüfen Sie Ihre Schaltungen mithilfe eines Simulators, bevor Sie sie auf einer QPU ausführen, sodass Sie Ihre Schaltung fein abstimmen können, ohne dass Gebühren für die Nutzung der QPU anfallen.
-
Auch wenn die Ergebnisse der Ausführung der Schaltung auf einem Simulator möglicherweise nicht mit den Ergebnissen der Ausführung der Schaltung auf einer QPU identisch sind, können Sie Codierungsfehler oder Konfigurationsprobleme mithilfe eines Simulators identifizieren.
Beschränken Sie den Benutzerzugriff auf bestimmte Geräte
-
Sie können Einschränkungen einrichten, die verhindern, dass unbefugte Benutzer Quantenaufgaben auf bestimmten Geräten einreichen. Die empfohlene Methode zur Zugriffsbeschränkung ist AWS IAM. Weitere Informationen dazu finden Sie unter Zugriff einschränken.
-
Wir empfehlen Ihnen, Ihr Administratorkonto nicht zu verwenden, um Benutzern Zugriff auf Amazon Braket-Geräte zu gewähren oder einzuschränken.
Stellen Sie Abrechnungsalarme ein
-
Sie können einen Abrechnungsalarm einrichten, der Sie benachrichtigt, wenn Ihre Rechnung ein voreingestelltes Limit erreicht. Die empfohlene Methode zum Einrichten eines Alarms ist die folgende AWS Budgets. Sie können benutzerdefinierte Budgets festlegen und Benachrichtigungen erhalten, wenn Ihre Kosten oder Nutzung Ihren budgetierten Betrag überschreiten könnten. Informationen finden Sie unter. AWS Budgets
Testen Sie TN1 Quantenaufgaben mit niedrigen Schusszahlen
-
Simulatoren kosten weniger als QPUs, aber bestimmte Simulatoren können teuer sein, wenn Quantenaufgaben mit hohen Schusszahlen ausgeführt werden. Wir empfehlen Ihnen, Ihre TN1 Aufgaben mit einer niedrigen shot Anzahl zu testen. ShotDie Anzahl hat keinen Einfluss auf die Kosten für SV1 und lokale Simulatoraufgaben.
Suchen Sie in allen Regionen nach Quantenaufgaben
-
In der Konsole werden Quantenaufgaben nur für Ihre aktuellen Aufgaben angezeigt AWS-Region. Wenn Sie nach abrechnungsfähigen Quantenaufgaben suchen, die eingereicht wurden, achten Sie darauf, alle Regionen zu überprüfen.
-
Eine Liste der Geräte und der zugehörigen Regionen finden Sie auf der Dokumentationsseite Unterstützte Geräte.