Azure Quantum-Kontingente

Azure Quantum-Kontingente sind vom Anbieter definierte Grenzwerte für die Nutzung von QPUs targets. Kontingente helfen dabei, versehentliche Kostenüberschreitungen für den Benutzer zu verhindern und gleichzeitig die Integrität der Systeme des Anbieters zu erhalten. Kontingente basieren auf der Auswahl Ihres Anbieterplans und können in der Regel mit einem Supportticket erhöht werden.
Die von Kontingenten nachverfolgte Nutzung ist nicht zwangsläufig an Kosten oder Guthaben gebunden, sondern kann korreliert werden.

Tipp

Erstmalige Benutzer erhalten automatisch kostenlose Azure Quantum-Gutschriften in Höhe von 500 USD für die Verwendung mit jedem teilnehmenden Quantenhardwareanbieter. Wenn Sie das gesamte Guthaben verbraucht haben und mehr benötigen, können Sie sich für das Azure Quantum Credits-Programm bewerben.

Berechnung von Kontingenten

In Azure Quantum definieren und steuern Hardware- und Softwareanbieter die Kontingente ihrer Angebote. Ausführliche Informationen zu Kontingenten finden Sie auf jeder Referenzseite des Anbieters. Wenn ein Anbieter nicht in der folgenden Liste angezeigt wird, definiert dieser Anbieter keine Kontingente.

Anzeigen des verbleibenden Kontingents

Die Azure Quantum-Nutzung und die zugehörigen Kontingente werden in Bezug auf die Nutzungseinheit des jeweiligen Anbieters gemessen. Einige Anbieter definieren keine Kontingente und verfügen nicht über die Anzeige von Nutzungsinformationen.

Hinweis

Wenn Sie einen Azure Quantum Credits-Plan und keinen Abrechnungsplan verwenden, werden die Kontingentinformationen Ihren zugewiesenen Credits zugeordnet. In diesem Fall wird für das Kontingent das Guthaben aufgeführt, das Sie insgesamt erhalten haben.

Nachverfolgen des Kontingents mithilfe von Azure-Portal

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.
  2. Wählen Sie Ihren Azure Quantum-Arbeitsbereich aus.
  3. Navigieren Sie im linken Bereich unter Vorgänge zum Blatt Gutschriften und Kontingente, und wählen Sie die Registerkarte Kontingente aus.
  4. Sehen Sie sich die verbrauchten und die verbleibenden Kontingente für jeden ausgewählten Anbieter an. Beachten Sie, dass Kontingentinformationen in drei Spalten angezeigt werden.
  • Arbeitsbereichsnutzung: Das Nutzungslimit für den aktuellen Arbeitsbereich. Jeder Azure Quantum-Arbeitsbereich verfügt über ein Nutzungslimit.
  • Azure-Abonnementnutzung: Die Nutzung aller Arbeitsbereiche innerhalb der aktuellen Region und des aktuellen Abonnements. Nicht alle Kontingente werden auf dieser Ebene nachverfolgt.
  • Kadenz: Der Zeitraum für die Verlängerung Ihres Kontingents. Bei „Monatlich“ wird die Nutzung jeweils am Monatsersten zurückgesetzt. Bei „Einmalig“ wird die Nutzung nie zurückgesetzt.

Blatt „Kontingente“ im Azure-Portal

In dieser Ansicht ist Azure Quantum-Guthaben als Kontingent enthalten. Dadurch kann der Benutzer die Guthabeninformationen in Form der vom Anbieter nachverfolgten Einheiten sowie das zugeordnete Intervall anzeigen.

Nachverfolgen des Kontingents mithilfe der Azure CLI

Sie können Ihre Kontingente mithilfe der Azure-Befehlszeilenschnittstelle (Azure CLI) anzeigen. Weitere Informationen finden Sie unter Verwalten von Quantenarbeitsbereichen mit der Azure CLI.

  1. Installieren Sie die Azure CLI-Erweiterung quantum. Öffnen Sie eine Eingabeaufforderung, und führen Sie den folgenden Befehl aus. Dadurch wird auch ein Upgrade für die Erweiterung durchgeführt, wenn bereits eine vorherige Version installiert ist.

    az extension add --upgrade -n quantum
    
  2. Melden Sie sich mit Ihren Anmeldeinformationen bei Azure an. Es wird eine Liste mit den Abonnements angezeigt, die Ihrem Konto zugeordnet sind.

    az login
    
  3. Geben Sie das Abonnement an, das Sie verwenden möchten.

    az account set -s <Your subscription ID>
    
  4. Wählen Sie den Arbeitsbereich aus, den Sie verwenden möchten. Beachten Sie, dass Sie auch die Ressourcengruppe und den Speicherort angeben müssen.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. Verwenden Sie den Befehl az quantum workspace quotas, um Kontingentinformationen für den ausgewählten Arbeitsbereich anzuzeigen.

    az quantum workspace quotas -o table
    
    |Dimension | Holds | Limit   |   Period |   ProviderId | Scope | Utilization|
    |--------- | ----- | --------- | -------- | ----------|  ------------ | -----------|
    |qgs      |  0.0  |  8333334.0 | Infinite | ionq      |  Subscription | 33334.0|
    |hqc      |  0.0  |  800.0     | Infinite | quantinuum  | Subscription | 0.0|
    

Sehen Sie sich als Beispiel die obige Ausgabe an. In diesem Fall zeigt die Zeile qgs, dass das Limit des Kontos für IonQ 8333334 qgs beträgt und dass 33334 qgs davon bereits in Anspruch genommen wurden. Das Konto verfügt auch über ein Limit von 800 HQCs für Quantinuum, und 0 davon wurden bereits in Anspruch genommen.

Die Spalte Bereich gibt an, ob sich das Kontingent auf den aktuellen Arbeitsbereich oder das Abonnement bezieht.

  • Workspace (Arbeitsbereich): Das Kontingent wird für einen einzelnen Arbeitsbereich nachverfolgt.
  • Subscription (Abonnement): Das Kontingent wird für alle Arbeitsbereiche innerhalb des gleichen Abonnements bzw. innerhalb der gleichen Region nachverfolgt.

Die Spalte Zeitraum gibt den Zeitraum an, in dem Ihr Kontingent erneuert wird.

  • Monthly (Monatlich): Die Nutzung wird jeweils am Monatsersten zurückgesetzt.
  • Unendlich: Die Nutzung wird nie zurückgesetzt (in der ansicht Azure-Portal auch als einmalig bezeichnet).

Nachverfolgen des Kontingents mithilfe des Python SDK

  1. Installieren Sie die neueste Version des Python-Pakets azure-quantum.

  2. Öffnen Sie eine neue Python-Datei. Instanziieren Sie ein Workspace-Objekt. Dadurch können Sie eine Verbindung mit dem Arbeitsbereich herstellen, den Sie zuvor in Azure bereitgestellt haben.

    from azure.quantum import Workspace
    
    # Copy the following settings for your workspace
    workspace = Workspace ( 
      resource_id = "", # Add your resource_id 
      location = ""  # Add your workspace location (for example, "westus") 
    )
    
  3. Verwenden Sie die Methode get_quotas, um Kontingentinformationen für den ausgewählten Arbeitsbereich anzuzeigen.

    quotas = workspace.get_quotas() 
    
    [{'dimension': 'qgs', 'scope': 'Subscription', 'provider_id': 'ionq', 'utilization': 33334.0, 'holds': 0.0, 'limit': 16666667.0, 'period': 'Infinite'}, 
    
     {'dimension': 'hqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 40.0, 'period': 'Infinite'}, 
    
     {'dimension': 'ehqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 160.0, 'period': 'Infinite'}, 
    
     {'dimension': 'combined_job_hours', 'scope': 'Workspace', 'provider_id': 'Microsoft', 'utilization': 0.0, 'holds': 0.0, 'limit': 20.0, 'period': 'Monthly'}, 
    
     {'dimension': 'combined_job_hours', 'scope': 'Subscription', 'provider_id': 'Microsoft', 'utilization': 0.011701412083333333, 'holds': 0.0, 'limit': 1000.0, 'period': 'Monthly'}]
    

Sehen Sie sich als Beispiel die obige Ausgabe an. In diesem Fall zeigt die Zeile qgs, dass das Limit des Kontos für IonQ 8333334 qgs beträgt und dass 33334 qgs davon bereits in Anspruch genommen wurden. Die Anzahl gleichzeitiger Jobs ist die Anzahl der Jobs, die pro Arbeitsbereich gleichzeitig in die Warteschlange gestellt werden können.

Das scope Element gibt an, ob sich das Kontingent auf den aktuellen Arbeitsbereich oder das Abonnement bezieht.

  • Workspace (Arbeitsbereich): Das Kontingent wird für einen einzelnen Arbeitsbereich nachverfolgt.
  • Subscription (Abonnement): Das Kontingent wird für alle Arbeitsbereiche innerhalb des gleichen Abonnements bzw. innerhalb der gleichen Region nachverfolgt.

Das period Element gibt den Zeitraum an, in dem Ihr Kontingent verlängert wird.

  • Monthly (Monatlich): Die Nutzung wird jeweils am Monatsersten zurückgesetzt.
  • Unendlich: Die Nutzung wird nie zurückgesetzt (in der ansicht Azure-Portal auch als einmalig bezeichnet).

Tipp

Die get_quotas -Methode gibt die Ergebnisse in Form eines Python-Wörterbuchs zurück. Für ein besser lesbares Format verwenden Sie die folgenden Codebeispiele, um eine Zusammenfassung der > verbleibenden Kontingente auf Abonnement- und Arbeitsbereichsebene zu drucken.

Kopieren Sie den folgenden Code, um das Kontingent auf Abonnementebene nachzuverfolgen.

# This gathers usage against quota for the various providers (quota is set at the subscription level).
# Note that a provider may have mutiple quotas, such as Quantinuum that limits usage of their Emulator.

rigetti_quota = 0
ionq_quota = 0
quantinuum_hqc_quota = 0
quantinuum_ehqc_quota = 0

rigetti_quota_utilization = 0
ionq_quota_utilization = 0
quantinuum_hqc_quota_utilization = 0
quantinuum_ehqc_quota_utilization = 0

for quota in workspace.get_quotas():
    if (quota['provider_id'] == 'rigetti'):
        rigetti_quota = quota['limit']
        rigetti_quota_utilization = quota['utilization']
    if (quota['provider_id'] == 'ionq'):
        ionq_quota = quota['limit']
        ionq_quota_utilization = quota['utilization']
    if (quota['dimension'] == 'hqc'):
        quantinuum_hqc_quota = quota['limit']
        quantinuum_hqc_quota_utilization = quota['utilization']
    if (quota['dimension'] == 'ehqc'):
        quantinuum_ehqc_quota = quota['limit']
        quantinuum_ehqc_quota_utilization = quota['utilization']

print('Rigetti quota use: ', "{:,}".format(rigetti_quota_utilization), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use:', "{:,}".format(ionq_quota_utilization), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use:', "{:,}".format(quantinuum_hqc_quota_utilization), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use:', "{:,}".format(quantinuum_ehqc_quota_utilization), '/', "{:,}".format(quantinuum_ehqc_quota))

Kopieren Sie den folgenden Code, um das Kontingent auf Arbeitsbereichsebene nachzuverfolgen.

# This gathers usage against quota for the various providers for the current workspace
# As there can be multiple workspaces in a subscription, the quota usage for the workspace is less or equal to usage against quota at the subscription level

amount_utilized_rigetti = 0
amount_utilized_ionq = 0
amount_utilized_quantinuum_hqc = 0
amount_utilized_quantinuum_ehqc = 0

for job in workspace.list_jobs():
    if (job.details.cost_estimate != None):
        for event in job.details.cost_estimate.events:
            if (event.amount_consumed > 0):
                #print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
                if (job.details.provider_id == 'rigetti'):
                    amount_utilized_rigetti += event.amount_consumed
                if (job.details.provider_id == 'ionq'):
                    amount_utilized_ionq += event.amount_consumed

                if (job.details.provider_id == 'quantinuum'):
                    #print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
                    #print(event)
                    if (event.dimension_id == 'hqc'):
                        amount_utilized_quantinuum_hqc += event.amount_consumed
                    else:
                        amount_utilized_quantinuum_ehqc += event.amount_consumed
                        print(job.id, event)


print('Rigetti quota use in current workspace: ', "{:,}".format(amount_utilized_rigetti), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use in current workspace:', "{:,}".format(amount_utilized_ionq), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_hqc), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_ehqc), '/', "{:,}".format(quantinuum_ehqc_quota))

Anfordern eines zusätzlichen Kontingents

Wenn Sie keinen Azure Quantum-Guthabenplan verwenden, können Sie ein Supportticket erstellen, um Kontingenterhöhungen anzufordern.

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.

  2. Wählen Sie Ihren Azure Quantum-Arbeitsbereich aus.

  3. Navigieren Sie im linken Bereich unter Vorgänge zum Blatt Gutschriften und Kontingente, und wählen Sie die Registerkarte Kontingente aus.

  4. Wählen Sie entweder auf der Kontingentseite die Schaltfläche Erhöhen oder im Seitenbereich des Portals die Schaltfläche Neue Supportanfrage aus.

  5. Daraufhin wird ein Supportticket geöffnet. Führen Sie die folgenden Schritte aus, um die Anforderung auszufüllen:

    1. Beschreiben Sie das Problem als Überschreibungsanforderung für Azure Quantum-Kontingent.
    2. Wählen Sie unter „Problemtyp“ die Option Technisch aus.
    3. Wählen Sie das Abonnement aus, in dem sich der Arbeitsbereich befindet.
    4. Wählen Sie Alle Dienste aus.
    5. Wählen Sie unter „Diensttyp“ die Option Azure Quantum – Vorschau aus.
    6. Wählen Sie unter Ressource den Arbeitsbereich aus, für den das Kontingent geändert werden soll.
    7. Wählen unter Problemtyp die Option Sonstiges aus.
    8. Navigieren Sie zu Lösungen und dann zu Details.
    9. Füllen Sie alle Felder aus. Geben Sie unter Beschreibung Folgendes an:
    • Name des Anbieters, für den Kontingente geändert werden sollen
    • Bereich, für den Kontingente geändert werden sollen (Abonnement oder Arbeitsbereich)
    • Zu ändernde Kontingente und Umfang der Änderung
    • In manchen Fällen ist eine Begründung der Kontingenterhöhung hilfreich.

Nächste Schritte