Freigeben über


Behandeln häufiger Probleme in Azure Quantum

Wenn Sie mit dem Azure Quantum-Dienst arbeiten, treten diese häufig auftretenden Probleme auf. Erfahren Sie, wie Sie sie lösen können.

Übermitteln von Aufträgen

Problem: Fehlt targets

Wenn die target Stelle, an der Sie Ihren Auftrag ausführen möchten, in der verfügbaren target Liste fehlt, müssen Sie wahrscheinlich auf die neueste Version von Quantum Development Kit 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" " Abonnements" und dann Ihr Abonnement aus.

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

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

  5. Es sollte keine Rolle "Besitzer" oder " Mitwirkender " aufgeführt sein.

  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 "Besitzer" oder "Mitwirkender" aus, geben Sie dann Ihre E-Mail-Adresse ein, und wählen Sie Ihr Konto aus.

  8. Wählen Sie Speichern.

  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: "AuthorizationFailure - Diese Anforderung ist nicht berechtigt, diesen Vorgang auszuführen"

Wenn eine Auftragsübermittlung mit dieser Nachricht fehlschlägt, obwohl Sie über eine gültige Verbindung mit dem Azure Quantum-Dienst verfügen, kann das Speicherkonto so konfiguriert werden, dass der Zugriff auf öffentliche Netzwerke blockiert wird. Der Azure Quantum-Dienst unterstützt nur Speicherkonten über den öffentlichen Internetzugriff.

So überprüfen Sie das Speicherkonto:

  • Wählen Sie auf der Seite "Quantum Workspace" im Azure-Portal die Option "Übersicht" und dann das Speicherkonto aus.
  • Wählen Sie auf der Seite "Speicherkonto" unter "Sicherheit + Netzwerk" die Option "Netzwerk" aus.
  • Stellen Sie auf der Registerkarte "Firewalls" und "Virtuelle Netzwerke " im Öffentlichen Netzwerkzugriff sicher, dass alle Netzwerke aktiviert sind.

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 auftritt, das dazu führt, dass die Kompilierung fehlschlägt.

Problem: Compilerfehler "Falsche Anzahl von Gate-Parametern"

Wenn Sie einen Auftrag aus einer lokalen Jupyter-Notizbuch- 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 Nicht-Punkt-Zeichen als Dezimaltrennzeichen verwendet wird, wie es in vielen Sprachen üblich ist. Ersetzen Sie alle Nicht-Punkt-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 Notizbüchern 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 einem Jupyter-Notizbuch in VS-Code ausführen, tritt möglicherweise der Fehler auf:

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

Dieser Fehler weist darauf hin, dass das QIR-Profil target auf "Einfach " festgelegt ist und die betreffende Funktion das uneingeschränktetarget Profil erfordert. So legen Sie das target Profil auf "Uneingeschränkt" fest:

  1. Wählen Sie in Ihrem Q#-Programm in VS Code Q#: QIR-Basis auf der unteren Statusleiste aus.
  2. Wählen Sie in den optionen, die in der oberen Statusleiste angezeigt werden, F#: 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 einen "verbotenen" Fehlercode.

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 auftritt, indem Sie die folgenden Schritte ausführen:

  • Navigieren Sie im Azure-Portal zu Ihrem neuen Quantum-Arbeitsbereich.
  • Wählen Sie unter "Overview>Essentials>Storage Account" den 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, können Sie eine der folgenden Aktionen ausführen:
    • Legen Sie einen neuen Arbeitsbereich an, und warten Sie unbedingt den Abschluss der Arbeitsbereichserstellung ab, bevor Sie die Browserregisterkarte oder das Fenster schließen.
    • Hinzufügen der richtigen Rollenzuweisung unter dem Speicherkonto
      • Zugriffssteuerung (IAM) > Hinzufügen von Rollenzuweisungen
      • Rolle > Mitwirkender
      • Zuweisen des Zugriffs an > Benutzer, Gruppe oder Dienstprinzipal
      • Auswählen > [Arbeitsbereichsname]
      • Speichern

Problem: Fehler beim Auftrag mit Fehlercode: QIRPreProcessingFailed

Wenn Sie einen Auftrag an einen Rigetti-Anbieter übermitteln, schlägt der Auftrag fehl und wird im Job 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 Azure-Quantum Python-Paket mit dem Parameter [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Problem: Abrufen grundlegender Informationen zu fehlgeschlagenen Aufträgen

Nachdem Sie einen Auftrag an eine Hardware targetübermittelt haben, kann ihr Auftrag mehrere Stunden oder sogar ein oder zwei Tage lang in der Warteschlange sitzen, bevor ein Fehler auftritt.

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 Auftragsnamenaus, um einen Detailbereich zu öffnen.
  • Wählen Sie in Ihrem Azure Portal-Arbeitsbereich "Operations > Providers" aus. Überprüfen Sie die Verfügbarkeit des target Computers. Aufträge, die targets mit dem Status "Herabgestuft" übermittelt werden, bleiben möglicherweise länger als üblich in der Warteschlange. Manchmal werden die Aufträge verarbeitet, aber manchmal ist ein Timeout aufgetreten, und es wird ein Fehler zurückgegeben, der target nicht verfügbar ist.

Problem: Ich werde weiterhin aufgefordert, sich zu authentifizieren, wenn ich programmgesteuert eine Verbindung mit meinem Arbeitsbereich herstellt.

Wenn Sie das Azure Quantum Python SDK (z. B. in Jupyter-Notizbüchern) verwenden und eine Verbindung mit Ihrem Arbeitsbereich mithilfe der AzureQuantumProvider-Klasse herstellen, können Sie bei jeder Ausführung Ihres Skripts ein Popup für die Authentifizierung bei Azure erleben.

Dies geschieht, da Ihr Sicherheitstoken jedes Mal zurückgesetzt wird, wenn Sie das Skript ausführen.

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

Problem: Nach dem Aktualisieren des Azure-Quantum-Pakets erhalte ich die Fehlermeldung "ModuleNotFoundError: Kein Modul namens qiskit.tools" beim Überwachen eines Auftrags

Ab Qiskit 1.0 ist das qiskit.tools Modul, das für die job_monitor() Funktion erforderlich ist, veraltet. Verwenden Sie die wait_for_final_state()result Funktionen, um Aufträge zu überwachen.

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 Resource Estimator

Die folgenden gängigen Szenarien verhindern möglicherweise, dass Ressourcenschätzungsaufträge abgeschlossen werden. Hier erfahren Sie, wie Sie sie beheben können.

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) auf dem Eingabeprogramm ausgeführt wird. In diesem Ansatz werden alle Clifford-Operationen durch alle T-Tore, Drehtore und Messvorgänge umgeleitet, wodurch ein einzelner Clifford-Vorgang verlassen wird, der klassisch effizient ausgewertet werden kann. Daher erfordert ein Quantenprogramm, das weder T-Zustände enthält, z. B. von T-Toren oder Drehtoren, noch Messvorgängen 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 logischen T-Zustandsfehlerrate von physischen T-Toren zu erstellen, die eine physische T-Gate-Fehlerrate aufweisen. In der Regel ist die physische T-Gate-Fehlerrate 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 mit 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 summend oder den Teil für T-Zustände.
  • Verringern Sie die physische T-Gate-Fehlerrate in den Qubit-Parametern.
  • Verringern Sie die Anzahl der T-Zustände im Quantenprogramm, indem Sie T-Tore, Drehtore und Toffoli-Tore reduzieren.

Problem: Physische T-Gate-Fehlerrate ist zu niedrig

Es gibt auch das gegenteilige Szenario, bei dem die physische T-Gate-Fehlerrate niedriger als die erforderliche Fehlerrate des logischen T-Zustands ist. In solchen Fällen ist keine T-Fabrik 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 von Codeabstand 1 in den Codeabstand des Algorithmus übertragen (siehe arXiv:2211.07629, Anhang C). Im Allgemeinen ist in Anwesenheit von T-Fabriken die Kosten der Transfereinheiten 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 Qubit-Parametern auf die erforderliche Fehlerrate für den logischen T-Zustand.
  • 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 sein. Darüber hinaus muss die physikalische Fehlerrate für Tore und Messungen unter einem Wert liegen, der von den Eigenschaften des Fehlerkorrekturcodes und der erforderlichen logischen Fehlerrate abhängt.

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

  • Erhöhen Sie das Fehlerbudget, entweder summend oder den Teil für logische Fehler.
  • Verringern Sie die physischen Fehlerraten in den Qubit-Parametern.

Problem: Einschränkungen maximale Laufzeit und maximale Anzahl physischer Qubits schließen sich gegenseitig aus

Die Ressourcenschätzung akzeptiert jeweils nur eine oder maxDurationmaxPhysicalQubits zwei Einschränkungen. Wenn Sie für einen einzelnen Auftrag sowohl Einschränkungen maxDuration als maxPhysicalQubitsauch Einschränkungen bereitstellen, wird der BothDurationAndPhysicalQubitsProvided Fehler zurückgegeben.

Problem: Ausführen des QR-Schätzungsanzahlcontainers: undefiniertes Symbol __quantum__rt__result_record_output

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

Führen Sie eine der folgenden Aktionen aus, um diesen Fehler zu vermeiden:

  • Verwenden Sie das azure_quantum Python-Paket, um Qiskit-Schaltkreise an Azure Quantum zu übermitteln (empfohlen).
  • Achten Sie bei Verwendung des qiskit_qir Python-Pakets darauf, den record_output Parameter vor dem Übermitteln des Schaltkreises auf False den Parameter festzulegen.

Erstellen eines Azure Quantum-Arbeitsbereichs

Die folgenden Probleme können auftreten, wenn Sie den Azure-Portal zum Erstellen eines Arbeitsbereichs verwenden.

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

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

Sie haben sich beispielsweise für das 30-tägige kostenlose Azure-Testabonnement registriert, das kostenloses Azure-Guthaben in USD200 umfasst, das für Azure-Dienste verwendet werden soll. Beachten Sie, dass diese Azure-Guthaben nicht mit Azure Quantum Credits identisch sind und nicht für Die Verwendung auf Quantenhardwareanbietern berechtigt sind. Nach 30 Tagen der Registrierung oder nachdem Sie die 200 USD kostenlosen Azure-Gutschriften genutzt haben (je nachdem, was zuerst eintritt), müssen Sie ein Upgrade auf ein Abonnement mit Zahlung als You-Go durchführen, um azure Quantum-Dienste weiterhin 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 abonnements sein, das Sie auswählen, um die Option "Schnellerstellung" zu verwenden. Eine Liste Ihrer Abonnements und zugehörigen Rollen finden Sie unter "Überprüfen Ihrer Abonnements". Wenn Sie ein Abonnementmitwirkender sind, können Sie die Option "Erweitert erstellen" verwenden, um einen Arbeitsbereich zu erstellen.

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

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

Problem: Fehlermeldung "Fehler bei der Bereitstellungsüberprüfung" wird angezeigt, nachdem Sie "Erstellen" ausgewählt haben .

Diese Fehlermeldung kann weitere Details enthalten, z. B. "Der Client hat keine Autorisierung zum Ausführen von Aktionen.".

Dieses Problem tritt auf, da Sie nicht über die erforderliche Autorisierung auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene verfügen. Weitere Informationen zu 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, da 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: Fehler beim Erstellen oder Hinzufügen/Entfernen von Anbietern für Arbeitsbereiche mit "ResourceDeploymentFailure" oder "ProviderDeploymentFailure"

Dieses Problem kann weitere Details enthalten, z. B. "ResourceDeploymentFailure – Der Ressourcenvorgang 'AzureAsyncOperationWaiting', der mit dem Terminalbereitstellungsstatus "Failed" abgeschlossen wurde, oder "ProviderDeploymentFailure - Fehler beim Erstellen eines Plans für anbieter: <Name des Anbieters>".

Dies geschieht, da der Mandant keine Azure Marketplace-Käufe aktiviert hat. Führen Sie die Schritte zum Aktivieren von Azure Marketplace-Einkäufen aus, um Azure Marketplace-Einkäufe zu aktivieren.

Problem: Das Bereitstellen eines Quantenarbeitsbereichs oder das Bereitstellen eines Speicherkontos schlägt mit einem der folgenden Fehler fehl:

  • Arbeitsbereich: "Der Ressourcenschreibvorgang konnte nicht erfolgreich abgeschlossen werden, da er den Terminalbereitstellungsstatus 'Failed' erreicht hat.
  • Speicherkonto: "Fehler bei der Vorlagenbereitstellung aufgrund eines Richtlinienverstoßes".

Dieses Problem kann auftreten, wenn Ihre Abonnementsicherheitsrichtlinie die Erstellung von Speicherkonten blockiert, für die der öffentliche Zugriff aktiviert ist. Der Azure Quantum-Dienst unterstützt nur Speicherkonten über den öffentlichen Internetzugriff.

Um dies zu beheben, arbeiten Sie mit Ihrem Abonnementadministrator zusammen, um eine Ausnahme für das Speicherkonto zu erhalten, das Sie verwenden möchten.

Azure Quantum-Portal

Problem: Gespeicherte Notizbücher werden nicht geladen

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

Dies kann aus drei 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. Um dies zu überprüfen, wählen Sie die Seite "Übersicht" für den Arbeitsbereich aus, und wählen Sie den Link zum Speicherkonto aus. Wenn das Speicherkonto gelöscht wurde, wird ein Fehler "404 – Nicht gefunden" angezeigt .

  2. Wenn das Speicherkonto für den öffentlichen Internetzugriff nicht aktiviert ist. Weitere Informationen finden Sie unter Autorisierungsfehler .

  3. Wenn die verwaltete Identität des Arbeitsbereichs kein Mitwirkender für das Speicherkonto ist. Überprüfen Sie, ob die Arbeitsbereichsidentität (die denselben Namen wie der Arbeitsbereich verwendet) weiterhin über die Rollenzuweisung "Mitwirkender " zum Speicherkonto verfügt. Um dies zu überprüfen, wählen Sie 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 Zugriffssteuerung (IAM) aus, und stellen Sie sicher, dass der Arbeitsbereich unter "Mitwirkender" aufgeführt ist.