Problembehandlung bei Azure Quantum

Bei der Arbeit mit dem Azure Quantum-Dienst können diese häufigen Probleme auftreten. Erfahren Sie, wie Sie sie lösen können.

Übermitteln von Aufträgen

Problem: Fehlt targets

Wenn das , in dem target Sie Ihren Auftrag ausführen möchten, in der Liste verfügbar target ist, müssen Sie wahrscheinlich auf die neueste Version von Quantum Development Kit für Visual Studio Code aktualisieren. Weitere Informationen finden Sie unter Aktualisieren des QDK.

Problem: Der Code für ungültigen Status „Nicht autorisiert“ wird zurückgegeben.

Schritte zum Lösen des Problems:

  1. Öffnen Sie das Azure-Portal (https://portal.azure.com), und authentifizieren Sie Ihr Konto.

  2. Wählen Sie unter Navigieren die Option Abonnements aus, und wählen Sie Ihr Abonnement aus.

  3. Wählen Sie die Option Zugriffssteuerung (IAM) aus.

  4. Suchen Sie unter Zugriff überprüfen nach Ihrer E-Mail-Adresse, und wählen Sie das Konto aus.

  5. Die Rolle "Besitzer " oder "Mitwirkender" sollte nicht aufgeführt werden.

  6. Klicken Sie auf die Registerkarte Rollenzuweisungen.

    Hinweis

    Wenn die Registerkarte Rollenzuweisungen nicht angezeigt wird, müssen Sie das Portal möglicherweise auf den Vollbildmodus erweitern oder den Bereich <Ihr Name> Zuweisungen schließen.

  7. Wählen Sie die Dropdownliste Rolle aus, wählen Sie entweder Besitzer oder Mitwirkender aus, geben Sie dann Ihre E-Mail-Adresse ein, und wählen Sie Ihr Konto aus.

  8. Wählen Sie Speichern aus.

  9. Ihr Konto sollte jetzt als mit der Rolle Besitzer oder Mitwirkender konfiguriert angezeigt werden.

  10. Erstellen Sie Ihren Azure Quantum-Arbeitsbereich erneut, und übermitteln Sie dann einen Auftrag für diesen neuen Arbeitsbereich.

Problem: Meldung „Failed to compile program“ beim Versuch, ein Q#-Programm über die CLI zu übermitteln

Wenn Sie versuchen, an der Eingabeaufforderung mit dem Befehl az quantum submit einen Auftrag übermitteln, wird möglicherweise die folgende Fehlermeldung angezeigt:

az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)

Dieser Fehler tritt auf, wenn ein Problem mit dem Q#-Programm vorliegt, das dazu führt, dass die Kompilierung fehlschlägt.

Problem: Compilerfehler "Falsche Anzahl von Gateparametern"

Wenn Sie einen Auftrag aus einer lokalen Jupyter Notebook- oder Befehlszeilenumgebung an Quantinuum übermitteln und den älteren QASM-Übersetzer (OPENQASM 2.0) verwenden, tritt möglicherweise dieser Fehler auf:

Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters

Dieser Fehler tritt auf, wenn ein Komma "" oder ein anderes Zeichen ohne Punkt als Dezimaltrennzeichen verwendet wird, wie es in vielen Sprachen üblich ist. Ersetzen Sie alle nicht periodischen Dezimaltrennzeichen durch Punkte ".".

// replace this line:
rx(1,5707963267948966) q[0];

// with this:
rx(1.5707963267948966) q[0];

Hinweis

Dieses Problem tritt nicht in gehosteten Notebooks im Azure Quantum-Portal auf, nur in lokalen Entwicklungsumgebungen.

Problem: Compilerfehler "für die aktuelle Kompilierungskonfiguration nicht verfügbar"

Wenn Sie eine Q#-Codezelle in einer Jupyter Notebook in VS Code ausführen, tritt möglicherweise der Folgende Fehler auf:

<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration

Dieser Fehler gibt an, dass das QIR-Profil target auf Basic festgelegt ist und die betreffende Funktion das Profil Uneingeschränkttarget erfordert. So legen Sie das target Profil auf Uneingeschränkt fest:

  1. Wählen Sie in Ihrem Q#-Programm in VS Code unten status Leiste Q#: QIR-Basis aus.
  2. Wählen Sie in den optionen, die in der oberen status leiste angezeigt werden, Q#: uneingeschränkt aus.

Problem: Der Code für ungültigen Status „Verboten“ wurde zurückgegeben.

Wenn Sie Ihren ersten Auftrag übermitteln, erhalten Sie möglicherweise den Fehlercode "Verboten".

Dieses Problem kann während der Erstellung eines Arbeitsbereichs auftreten: Azure Quantum kann die Rollenzuweisung nicht abschließen, die den neuen Arbeitsbereich mit dem angegebenen Speicherkonto verknüpft. Ein typisches Szenario für diese Situation ist, wenn die Registerkarte oder das Webbrowserfenster geschlossen wird, bevor die Erstellung des Arbeitsbereichs abgeschlossen ist.

Sie können überprüfen, ob dieses Rollenzuweisungsproblem vorliegt, indem Sie die folgenden Schritte ausführen:

  • Navigieren Sie im Azure-Portal zu Ihrem neuen Quantum-Arbeitsbereich.
  • Wählen Sie unter Übersicht>Essentials>Speicherkonto die Option auf dem Link Speicherkonto aus.
  • Wählen Sie auf der linken Navigationsleiste Zugriffssteuerung (IAM) aus.
  • Wählen Sie Rollenzuweisungen aus.
  • Vergewissern Sie sich, dass Ihr Arbeitsbereich als Mitwirkender angezeigt wird.
  • Wenn der Arbeitsbereich nicht als Mitwirkender angezeigt wird, haben Sie die folgenden Möglichkeiten:
    • Legen Sie einen neuen Arbeitsbereich an, und warten Sie unbedingt den Abschluss der Arbeitsbereichserstellung ab, bevor Sie die Browserregisterkarte oder das Fenster schließen.
    • Fügen Sie unter dem Speicherkonto die entsprechende Rollenzuweisung hinzu.
      • Zugriffssteuerung (IAM) > Hinzufügen von Rollenzuweisungen
      • Rolle > Mitwirkender
      • Zuweisen des Zugriffs an > Benutzer, Gruppe oder Dienstprinzipal
      • Auswählen > [Arbeitsbereichsname]
      • Speichern

Problem: Fehler beim Auftrag: QIRPreProcessingFailed

Wenn Sie einen Auftrag an einen Rigetti-Anbieter übermitteln, schlägt der Auftrag fehl und wird in der Verwaltungskonsole im Azure-Portal gemeldet:

Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled

Dieser Fehler kann durch einen Abhängigkeitskonflikt mit einer früheren Version von pyqir oder qiskit-qir verursacht werden. Deinstallieren Sie alle Versionen von pyqir, pyqir-*und qiskit-qir auf Ihrem lokalen Computer, und installieren oder aktualisieren Sie dann das Python-Paket azure-quantum mit dem Parameter [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Problem: Abrufen grundlegender Informationen zu fehlerhaften Aufträgen

Nachdem Sie einen Auftrag an eine Hardware targetübermittelt haben, kann sich Ihr Auftrag mehrere Stunden oder sogar ein oder zwei Tage in der Warteschlange befinden, bevor er fehlschlägt.

So rufen Sie weitere Informationen zum Fehler ab:

  • Verwenden Sie die get_results() -Methode mit dem Auftragsobjekt, um die Ausgabe oder die zurückgegebene Fehlermeldung anzuzeigen:
job.get_results()
  • Wählen Sie in Ihrem Azure-Portal-Arbeitsbereich Operations > Job Management und dann den Auftragsnamen aus, um einen Detailbereich zu öffnen.
  • Wählen Sie in Ihrem Azure-Portal-Arbeitsbereich selecd Operations > Providers aus. Überprüfen Sie die Verfügbarkeit des target Computers. Aufträge, die mit targets dem status "Degraded" übermittelt werden, bleiben möglicherweise länger als üblich in der Warteschlange. Manchmal werden die Aufträge verarbeitet, aber manchmal tritt ein Timeout auf und gibt einen Fehler zurück, der nichttarget verfügbar ist.

Problem: Ich werde beim programmgesteuerten Herstellen einer Verbindung mit meinem Arbeitsbereich immer wieder zur Authentifizierung aufgefordert.

Wenn Sie das Azure Quantum Python SDK (in Jupyter Notebooks für instance) verwenden und mit der AzureQuantumProvider-Klasse eine Verbindung mit Ihrem Arbeitsbereich herstellen, wird möglicherweise bei jeder Ausführung Des Skripts ein Popup zur Authentifizierung bei Azure angezeigt.

Dies liegt daran, dass Ihr Sicherheitstoken bei jeder Ausführung des Skripts zurückgesetzt wird.

Sie können dieses Problem beheben, indem Sie die Azure CLI ausführen az login . Weitere Informationen finden Sie unter az login.

Problem: Nach dem Aktualisieren des azure-quantum-Pakets erhalte ich beim Überwachen eines Auftrags den Fehler "ModuleNotFoundError: Kein Modul namens qiskit.tools".

Ab Qiskit 1.0 ist das qiskit.tools Modul, das für die job_monitor() Funktion erforderlich ist, veraltet. Verwenden Sie zum Überwachen von Aufträgen die wait_for_final_state() -Funktion oder die result -Funktion.

job = MyTarget.run(circuit, shots=100)

# to wait until the job is complete
job.wait_for_final_state() 

# to return the results of the job
result = job.result()

Azure Quantum-Ressourcenschätzung

Die folgenden gängigen Szenarien können verhindern, dass Ressourcenschätzungsaufträge abgeschlossen werden. Erfahren Sie, wie Sie sie auflösen.

Problem: Der Quantenalgorithmus muss mindestens einen T-Zustand oder eine Messung enthalten.

Um die Zuordnung eines beliebigen Quantenprogramms zu einem 2D-Array logischer Qubits zu berücksichtigen, geht der Resource Estimator davon aus, dass die parallele sequenzielle Pauli-Berechnung (PSSPC) ( siehe arXiv:2211.07629, Anhang D) für das Eingabeprogramm ausgeführt wird. Bei diesem Ansatz werden alle Clifford-Vorgänge durch alle T-Gates, Rotationsgates und Messvorgänge umgeleitet, sodass ein einzelner Clifford-Vorgang bleibt, der klassisch effizient ausgewertet werden kann. Daher erfordert ein Quantenprogramm, das weder T-Zustände enthält, z. B. von T-Gates oder Rotationsgates, noch Messvorgänge, keine physischen Quantencomputingressourcen.

Error message: Algorithm requires at least one T state or measurement to estimate resources

Problem: Physische T Gate-Fehlerrate ist zu hoch

Die Fehlerrate des logischen T-Zustands hängt vom Fehlerbudget und der Anzahl der T-Zustände im Quantenprogramm ab. T-Fabriken werden verwendet, um T-Zustände mit der erforderlichen fehlerrate des logischen T-Zustands aus physischen T-Gates zu erstellen, die eine physische T-Gate-Fehlerrate aufweisen. In der Regel ist die fehlerrate des physischen T-Gates viel höher als die erforderliche logische T Gate-Fehlerrate. In einigen Szenarien ist die physische T-Gate-Fehlerrate im Vergleich zur erforderlichen Fehlerrate des logischen T-Zustands viel höher, sodass keine T-Factory gefunden werden kann, die logische T-Zustände von ausreichender Qualität erzeugen kann.

Error message: No T factory can be found, because the required logical T state error rate is too low

Hier ist, was Sie in einem solchen Szenario tun könnten:

  • Erhöhen Sie das Fehlerbudget, entweder gesamt oder den Teil für T-Zustände.
  • Reduzieren Sie die physische T-Gate-Fehlerrate in den Qubitparametern.
  • Verringern Sie die Anzahl der T-Zustände im Quantenprogramm, indem Sie T-Gates, Rotationsgates und Toffoli-Gates reduzieren.

Problem: Physische T Gate-Fehlerrate ist zu niedrig

Es gibt auch das gegenteilige Szenario, in dem die fehlerrate des physischen T-Gates niedriger ist als die erforderliche Fehlerrate des logischen T-Zustands. In solchen Fällen ist keine T Factory erforderlich, da die physische T Gate-Fehlerrate bereits von ausreichender Qualität ist. Dies erfordert jedoch eine sorgfältige Prüfung der Auswirkungen von Übertragungseinheiten, die die physischen T-Zustände vom Codeabstand 1 zum Codeabstand des Algorithmus übertragen (siehe arXiv:2211.07629, Anhang C). Im Allgemeinen sind die Kosten für Transfereinheiten in Gegenwart von T-Fabriken vernachlässigbar.

Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.

Hier ist, was Sie in einem solchen Szenario tun könnten:

  • Erhöhen Sie die physische T-Gate-Fehlerrate in den Qubitparametern auf die erforderliche fehlerrate des logischen T-Zustands.
  • Reduzieren Sie das Fehlerbudget oder nur den Teil für die T-Zustände.

Problem: Fehlerrate muss eine Zahl zwischen 0 und 1 sein.

Fehlerraten sollten immer Werte zwischen 0 und 1 liegen. Darüber hinaus muss die physische Fehlerrate für Gates und Messungen unter einem Wert liegen, der von den Eigenschaften des Fehlerkorrekturcodes und der erforderlichen logischen Fehlerrate abhängt, damit die Fehlerkorrektur wirksam ist.

Hier sehen Sie, was Sie in einem solchen Szenario tun könnten:

  • Erhöhen Sie das Fehlerbudget insgesamt oder den Teil für logische Fehler.
  • Reduzieren Sie die physischen Fehlerraten in den Qubitparametern.

Problem: Die maximale Laufzeit und die maximale Anzahl physischer Qubits schließen sich gegenseitig aus.

Der Ressourcenstimator akzeptiert nur eine oder-Einschränkung maxDurationmaxPhysicalQubits zu diesem Zeitpunkt, aber nicht zwei. Wenn Sie sowohl als auch maxDurationmaxPhysicalQubitsEinschränkungen für einen einzelnen Auftrag angeben, wird der BothDurationAndPhysicalQubitsProvided Fehler zurückgegeben.

Problem: Ausführen des QIR-Schätzungsanzahlcontainers: nicht definiertes Symbol __quantum__rt__result_record_output

Dieser Fehler ergibt sich aus dem Generieren von QIR für Qiskit-Leitungen über das qiskit_qir Python-Paket, ohne den record_output Parameter auf festzulegen False.

Führen Sie einen der folgenden Schritte aus, um diesen Fehler zu vermeiden:

  • Verwenden Sie das azure_quantum Python-Paket, um Qiskit-Leitungen an Azure Quantum zu übermitteln (empfohlen).
  • Wenn Sie das qiskit_qir Python-Paket verwenden, müssen Sie den record_output Parameter auf False festlegen, bevor Sie Ihre Verbindung übermitteln.

Erstellen eines Azure Quantum-Arbeitsbereichs

Die folgenden Probleme können auftreten, wenn Sie die Azure-Portal verwenden, um einen Arbeitsbereich zu erstellen.

Problem: Sie können nicht auf das Formular zum Erstellen des Arbeitsbereichs im Azure-Portal zugreifen. Sie werden stattdessen aufgefordert, sich für ein Abonnement zu registrieren.

Dieses Problem tritt auf, weil Sie kein aktives Abonnement haben.

Beispielsweise haben Sie sich möglicherweise für das 30-tägige kostenlose Azure-Testversionsabonnement registriert, das kostenlose Azure-Guthaben für Azure-Dienste in Höhe von 200 USD enthält. Beachten Sie, dass diese Azure-Gutschriften nicht mit Azure Quantum-Guthaben identisch sind und nicht für die Verwendung auf Quantenhardwareanbietern berechtigt sind. Nach 30 Tagen der Registrierung oder nachdem Sie die kostenlosen Azure-Guthaben in Höhe von 200 USD verbraucht haben (je nachdem, was zuerst eintritt), müssen Sie ein Upgrade auf ein Abonnement mit nutzungsbasierter Bezahlung durchführen, um weiterhin Azure Quantum-Dienste verwenden zu können. Sobald Sie über ein aktives Abonnement verfügen, können Sie mit dem Azure-Portal auf das Formular zum Erstellen des Arbeitsbereichs zugreifen.

Eine Liste Ihrer Abonnements und zugehörigen Rollen finden Sie unter Überprüfen Ihrer Abonnements.

Problem: Die Option Schnellerstellung ist nicht verfügbar.

Sie müssen Besitzer des ausgewählten Abonnements sein, um die Option Schnellerstellung verwenden zu können. Eine Liste Ihrer Abonnements und zugehörigen Rollen finden Sie unter Überprüfen Ihrer Abonnements. Wenn Sie ein Mitwirkender im Abonnement sind, können Sie die Option Erweiterte Erstellung verwenden, um einen Arbeitsbereich zu erstellen.

Problem: Sie können keine Ressourcengruppe oder ein Speicherkonto erstellen oder auswählen.

Dieses Problem tritt auf, weil Sie nicht über die erforderliche Autorisierung auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene verfügen. Weitere Informationen zu den erforderlichen Zugriffsebenen finden Sie unter Rollenanforderungen zum Erstellen eines Arbeitsbereichs.

Problem: Die Fehlermeldung "Fehler bei der Bereitstellungsüberprüfung" wird angezeigt, nachdem Sie Create

Diese Fehlermeldung kann weitere Details enthalten, z. B. "Der Client verfügt nicht über die Autorisierung zum Ausführen einer Aktion".

Dieses Problem tritt auf, weil Sie nicht über die erforderliche Autorisierung auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene verfügen. Weitere Informationen zu den erforderlichen Zugriffsebenen finden Sie unter Rollenanforderungen zum Erstellen eines Arbeitsbereichs.

Wenn der Zugriff kürzlich gewährt wurde, müssen Sie die Seite möglicherweise aktualisieren. Es kann manchmal bis zu einer Stunde dauern, bis neue Rollenzuweisungen über zwischengespeicherte Berechtigungen im Stapel wirksam werden.

Problem: Auf der Registerkarte Anbieter wird kein bestimmter Quantenhardwareanbieter angezeigt.

Dieses Problem tritt auf, weil der Anbieter die Abrechnungsregion, in der Ihr Abonnement festgelegt ist, nicht unterstützt. Wenn Ihr Abonnement beispielsweise in Israel festgelegt ist, listet die Registerkarte Anbieter Rigetti nicht als verfügbaren Anbieter auf. Eine Liste der Anbieter und deren Verfügbarkeit nach Land/Region finden Sie unter Globale Verfügbarkeit von Azure Quantum-Anbietern.

Problem: Das Erstellen oder Hinzufügen/Entfernen von Anbietern im Arbeitsbereich schlägt mit "ResourceDeploymentFailure" oder "ProviderDeploymentFailure" fehl.

Dieses Problem kann weitere Details enthalten, z. B. "ResourceDeploymentFailure – Der Ressourcenvorgang "AzureAsyncOperationWaiting", der mit dem Terminalbereitstellungsstatus "Failed" abgeschlossen wurde, oder "ProviderDeploymentFailure – Failed to create plan for provider: <Name of the provider>".

Dies tritt auf, weil der Mandant Azure Marketplace Käufe nicht aktiviert hat. Führen Sie die Schritte unter Aktivieren Azure Marketplace Käufe aus, um Azure Marketplace Käufe zu aktivieren.

Azure Quantum-Portal

Problem: Gespeicherte Notebooks werden nicht geladen

Nachdem Sie Notizbücher in Ihrem Arbeitsbereich ausgewählt haben, wird in der Liste der gespeicherten Notizbücher eine Statusleiste angezeigt, die jedoch nie geladen wird.

Dies kann aus zwei Gründen geschehen:

  1. Wenn das Speicherkonto nicht mehr vorhanden ist. Dies kann passieren, wenn das mit dem Arbeitsbereich verknüpfte Speicherkonto gelöscht wurde. Wählen Sie zum Überprüfen die Seite Übersicht für den Arbeitsbereich aus, und wählen Sie den Link zum Speicherkonto aus. Wenn das Speicherkonto gelöscht wurde, wird der Fehler 404 – Nicht gefunden angezeigt .

  2. Wenn die verwaltete Identität des Arbeitsbereichs kein Mitwirkender für das Speicherkonto ist. Vergewissern Sie sich, dass die Arbeitsbereichsidentität (die denselben Namen wie der Arbeitsbereich verwendet) weiterhin die Rolle Mitwirkender zum Speicherkonto zugewiesen hat. Wählen Sie zum Überprüfen die Seite Übersicht für den Arbeitsbereich aus, und wählen Sie den Link zum Speicherkonto aus. Wählen Sie auf der Seite Übersicht für das Speicherkonto die Option Zugriffssteuerung (IAM) aus, und vergewissern Sie sich, dass der Arbeitsbereich unter Mitwirkender aufgeführt ist.