Veelvoorkomende problemen in Azure Quantum oplossen
Wanneer u met de Azure Quantum-service werkt, kunnen deze veelvoorkomende problemen optreden. Bekijk hoe u ze kunt oplossen.
Verbinding maken met uw werkruimte
Probleem: Kan niet verifiëren bij Azure Quantum via pytket-azure CI
Wanneer u probeert te verifiëren bij Azure Quantum via het pytket-azure
pakket in een CI-omgeving met behulp van de omgevingsvariabelen 'AZURE_TENANT_ID', 'AZURE_CLIENT_ID' en 'AZURE_CLIENT_SECRET', kan de volgende fout optreden:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
U kunt dit probleem oplossen door te verifiëren met behulp van een verbindingsreeks en de omgevingsvariabele 'AZURE_QUANTUM_CONNECTION_STRING'. Zie Verbinding maken met een verbindingsreeks voor meer informatie.
connection_string = "[Copy connection string]"
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Taken verzenden
Probleem: ontbreekt targets
Als de target locatie waar u uw taak wilt uitvoeren ontbreekt in de beschikbare target lijst, moet u waarschijnlijk bijwerken naar de nieuwste versie van visual Quantum Development Kit Studio Code. Zie De QDK bijwerken voor meer informatie.
Probleem: De bewerking retourneert een ongeldige statuscode 'Niet geautoriseerd'
Stappen om dit probleem op te lossen:
Open uw Azure-portal (https://portal.azure.com) en verifieer uw account.
Selecteer onder Navigeren de optie Abonnementen en selecteer uw abonnement.
Klik op Toegangsbeheer (IAM) .
Zoek onder Toegang controleren uw e-mailadres en selecteer het account.
De rol Eigenaar of Inzender wordt niet vermeld.
Selecteer het tabblad Roltoewijzingen.
Notitie
Als u het tabblad Roltoewijzingen niet ziet, moet u de portal mogelijk uitbreiden naar volledig scherm of het <deelvenster naamtoewijzingen> sluiten.
Selecteer de vervolgkeuzelijst Rol , selecteer Eigenaar of Inzender, voer vervolgens uw e-mailadres in en selecteer uw account.
Selecteer Opslaan.
U ziet nu dat uw accountset is geconfigureerd met de rol Eigenaar of Inzender .
Maak uw Azure Quantum-werkruimte opnieuw en dien vervolgens een taak in voor deze nieuwe werkruimte.
Probleem: 'AuthorizationFailure - Deze aanvraag is niet gemachtigd om deze bewerking uit te voeren'
Als het indienen van een taak mislukt met dit bericht, ook al hebt u een geldige verbinding met de Azure Quantum-service, kan het opslagaccount zijn geconfigureerd om de toegang tot het openbare netwerk te blokkeren. De Azure Quantum-service ondersteunt alleen opslagaccounts via openbare internettoegang.
Ga als volgende te werk om het opslagaccount te controleren:
- Selecteer Op de pagina van de kwantumwerkruimte in Azure Portal overzicht en selecteert u het opslagaccount.
- Selecteer Netwerken op de pagina opslagaccount in Beveiliging en netwerken.
- Zorg ervoor dat op het tabblad Firewalls en virtuele netwerken in openbare netwerktoegang alle netwerken inschakelen is geselecteerd.
Probleem: 'Kan programma niet compileren' wanneer u een Q#-programma probeert in te dienen via de CLI
Wanneer u een taak probeert in te dienen bij de opdrachtprompt met behulp van de az quantum submit
opdracht, kan het volgende foutbericht worden weergegeven:
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
Deze fout treedt op wanneer er een probleem is met het Q#-programma dat ervoor zorgt dat de compilatie mislukt.
Probleem: Compilerfout 'Onjuist aantal poortparameters'
Wanneer u een taak verzendt naar Quantinuum vanuit een lokale Jupyter Notebook- of opdrachtregelomgeving en de verouderde QASM-vertaler (OPENQASM 2.0) gebruikt, kan deze fout optreden:
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
Deze fout treedt op wanneer een komma '' of een ander niet-puntteken wordt gebruikt als een decimaalteken, zoals gebruikelijk in veel talen. Vervang eventuele decimale scheidingstekens voor niet-perioden door puntjes ".".
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Notitie
Dit probleem treedt niet op in gehoste notebooks in azure Quantum Portal, alleen in lokale ontwikkelomgevingen.
Probleem: compilerfout 'niet beschikbaar voor de huidige compilatieconfiguratie'
Wanneer u een Q#-codecel uitvoert in een Jupyter Notebook in VS Code, kan de volgende fout optreden:
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
Deze fout geeft aan dat het QIR-profiel target is ingesteld op Basic en dat voor de betreffende functie het onbeperktetarget profiel is vereist. Het profiel instellen target op Onbeperkt:
- Selecteer Q#: QIR-basis op de onderste statusbalk in uw Q#-programma in VS Code.
- Selecteer Q#: onbeperkt in de opties die worden weergegeven in de bovenste statusbalk.
Probleem: De bewerking heeft een ongeldige statuscode 'Verboden' geretourneerd
Wanneer u uw eerste taak verzendt, krijgt u mogelijk een 'verboden' foutcode.
Dit probleem kan ontstaan tijdens het maken van de werkruimte: Azure Quantum kan de roltoewijzing die de nieuwe werkruimte koppelt niet voltooien aan het opgegeven opslagaccount. Een typisch scenario waarin deze situatie optreedt, is als het tabblad of webbrowservenster wordt gesloten voordat het maken van de werkruimte is voltooid.
U kunt controleren of u dit probleem met de roltoewijzing ondervindt door de volgende stappen uit te voeren:
- Navigeer naar uw nieuwe kwantumwerkruimte in Azure Portal
- Selecteer onder Overzicht>Essentials>Storage-account de optie op de koppeling voor het opslagaccount
- Selecteer IAM (Toegangsbeheer) in de linkernavigatiebalk.
- Selecteer Roltoewijzingen
- Controleer of uw werkruimte wordt weergegeven als inzender
- Als de werkruimte niet wordt weergegeven als inzender, kunt u het volgende doen:
- Maak een nieuwe werkruimte en wacht totdat het maken van de werkruimte is voltooid voordat u het tabblad of venster van de webbrowser sluit.
- De juiste roltoewijzing toevoegen onder het opslagaccount
- Toegangsbeheer (IAM) > Roltoewijzingen toevoegen
- Rolbijdrager >
- Toegang toewijzen aan > gebruiker, groep of service-principal
- Selecteer > [Werkruimtenaam]
- Opslaan
Probleem: Taak mislukt met foutcode: QIRPreProcessingFailed
Wanneer u een taak indient bij een Rigetti-provider, mislukt de taak en wordt deze gerapporteerd in de console Taakbeheer in Azure Portal:
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
Deze fout kan worden veroorzaakt door een afhankelijkheidsconflict met een eerdere versie van pyqir of qiskit-qir. Verwijder alle versies van pyqir, pyqir-*en qiskit-qir op uw lokale computer en installeer of werk het azure-quantum Python-pakket vervolgens bij met behulp van de parameter [qiskit]:
pip install --upgrade azure-quantum[qiskit]
Probleem: Basisinformatie over mislukte taken ophalen
Nadat u een taak naar een hardware targethebt verzonden, kan uw taak enkele uren of zelfs één of twee dagen in de wachtrij staan voordat deze mislukt.
Meer informatie over de fout ophalen:
- Gebruik de
get_results()
methode met het taakobject om de uitvoer of het geretourneerde foutbericht weer te geven:
job.get_results()
- Selecteer Operations Job Management in uw Azure Portal-werkruimte en selecteer vervolgens de taaknaam om een detailvenster > te openen.
- Selecteer Operations > Providers in uw Azure Portal-werkruimte. Controleer de beschikbaarheid van de target machine. Taken die zijn ingediend targets met de status Gedegradeerd , blijven mogelijk langer in de wachtrij dan normaal. Soms worden de taken verwerkt, maar soms treedt er een time-out op en wordt er een fout geretourneerd van target niet beschikbaar.
Probleem: Ik blijf gevraagd worden om te verifiëren wanneer ik programmatisch verbinding maakt met mijn werkruimte
Als u de Azure Quantum Python SDK (bijvoorbeeld in Jupyter-notebooks) gebruikt en verbinding maakt met uw werkruimte met behulp van de klasse AzureQuantumProvider, kan er een pop-upvenster worden weergegeven om te verifiëren bij Azure telkens wanneer u uw script uitvoert.
Dit gebeurt omdat uw beveiligingstoken telkens opnieuw wordt ingesteld wanneer u het script uitvoert.
U kunt dit probleem oplossen met az login
behulp van de Azure CLI. Zie az login voor meer informatie.
Probleem: Na het bijwerken van het azure-quantum-pakket krijg ik de fout ModuleNotFoundError: Geen module met de naam qiskit.tools bij het bewaken van een taak
Vanaf Qiskit 1.0 is de qiskit.tools
module, die vereist is voor de job_monitor()
functie, afgeschaft. Als u taken wilt bewaken, gebruikt u de wait_for_final_state()
of de result
functies.
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
De volgende veelvoorkomende scenario's kunnen voorkomen dat resourceramingstaken worden voltooid. Bekijk hoe u deze kunt oplossen.
Probleem: kwantumalgoritmen moeten ten minste één T-status of -meting bevatten
Om rekening te houden met het toewijzen van een willekeurig kwantumprogramma aan een 2D-matrix met logische qubits, gaat de Resource Estimator ervan uit dat Parallel Synthesis Sequential Pauli Computation (PSSPC) (zie arXiv:2211.07629, Bijlage D) wordt uitgevoerd op het invoerprogramma. In die benadering worden alle Clifford-bewerkingen door alle T-poorten, draaipoorten en meetbewerkingen verzonden, waardoor één Clifford-bewerking die efficiënt kan worden geëvalueerd, klassiek kan worden geëvalueerd. Daarom vereist een kwantumprogramma dat geen T-statussen bevat, bijvoorbeeld van T-poorten of draaipoorten, noch metingen geen fysieke kwantumcomputingresources.
Error message: Algorithm requires at least one T state or measurement to estimate resources
Probleem: foutpercentage van fysieke T-poort is te hoog
Het foutpercentage van de logische T-status is afhankelijk van het foutbudget en het aantal T-statussen in het kwantumprogramma. T-factory's worden gebruikt om T-statussen te maken met de vereiste foutsnelheid van logische T-status van fysieke T-poorten, die een fysieke T-poortfoutpercentage hebben. Normaal gesproken is de foutfrequentie van de fysieke T-poort veel hoger dan het vereiste foutpercentage van de logische T-poort. In sommige scenario's is de foutsnelheid van de fysieke T-poort veel hoger in vergelijking met het vereiste foutpercentage van de logische T-status, zodat er geen T-fabriek kan worden gevonden die logische T-statussen van voldoende kwaliteit kan produceren.
Error message: No T factory can be found, because the required logical T state error rate is too low
Dit is wat u in een dergelijk scenario kunt doen:
- Verhoog het foutbudget, ofwel het totaal of het deel voor T-statussen.
- Verminder de foutsnelheid van de fysieke T-poort in de qubitparameters.
- Verminder het aantal T-statussen in het kwantumprogramma door T-poorten, draaipoorten en Toffoli-poorten te verminderen.
Probleem: foutpercentage van fysieke T-poort is te laag
Er is ook het tegenovergestelde scenario, waarin de foutsnelheid van de fysieke T-poort lager is dan het vereiste foutpercentage van de logische T-status. In dergelijke gevallen is er geen T-fabriek vereist, omdat de fysieke T-poortfoutsnelheid al van voldoende kwaliteit is. Hiervoor is echter zorgvuldig rekening gehouden met de impact van overdrachtseenheden die de fysieke T-statussen overdragen van codeafstand 1 naar de codeafstand van het algoritme (zie arXiv:2211.07629, bijlage C). In het algemeen zijn de kosten van overdrachtseenheden in aanwezigheid van T-fabrieken te verwaarlozen.
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.
Dit is wat u in een dergelijk scenario kunt doen:
- Verhoog de foutsnelheid van de fysieke T-poort in de qubitparameters tot de vereiste foutfrequentie van de logische T-status.
- Verminder het foutbudget of alleen het deel voor de T-statussen.
Probleem: Foutpercentage moet een getal tussen 0 en 1 zijn
Foutpercentages moeten altijd waarden tussen 0 en 1 zijn. Bovendien moet de fysieke foutfrequentie voor poorten en metingen onder een waarde liggen die afhankelijk is van de eigenschappen van de foutcode en de vereiste logische foutsnelheid om de fout te corrigeren.
Dit is wat u in een dergelijk scenario kunt doen:
- Verhoog het foutenbudget, totaal of het deel voor logische fouten.
- Verminder de fysieke foutpercentages in de qubitparameters.
Probleem: beperkingen voor maximale runtime en maximum aantal fysieke qubits sluiten elkaar wederzijds uit
De resource-estimator accepteert slechts één van maxDuration
of maxPhysicalQubits
beperkingen op het moment, maar niet twee. Als u beide maxDuration
en maxPhysicalQubits
beperkingen voor één taak opgeeft, wordt de BothDurationAndPhysicalQubitsProvided
fout geretourneerd.
Probleem: Een QIR-schattingscontainer uitvoeren: niet-gedefinieerd symbool __quantum__rt__result_record_output
Deze fout resulteert in het genereren van QIR voor Qiskit-circuits via het qiskit_qir Python-pakket zonder de record_output
parameter in te False
stellen op .
Ga op een van de volgende manieren te werk om deze fout te voorkomen:
- Gebruik het python-pakket azure_quantum om Qiskit-circuits naar Azure Quantum te verzenden (aanbevolen).
- Wanneer u het python-pakket qiskit_qir gebruikt, moet u de
record_output
parameterFalse
instellen op voordat u het circuit indient.
Een Azure Quantum-werkruimte maken
De volgende problemen kunnen optreden wanneer u Azure Portal gebruikt om een werkruimte te maken.
Probleem: u hebt geen toegang tot het formulier voor het maken van de werkruimte in Azure Portal; u wordt gevraagd om u in plaats daarvan aan te melden voor een abonnement
Dit probleem treedt op omdat u geen actief abonnement hebt.
U hebt zich bijvoorbeeld mogelijk geregistreerd voor het azure-abonnement voor de gratis proefversie van 30 dagen, inclusief gratis Azure-tegoed van USD200 voor gebruik in Azure-services. Houd er rekening mee dat deze Azure-tegoeden niet hetzelfde zijn als Azure Quantum-tegoeden en niet in aanmerking komen voor gebruik op kwantumhardwareproviders. Na 30 dagen na aanmelding of nadat u het gratis Azure-tegoed van $ 200 hebt verbruikt (afhankelijk van wat zich het eerst voordoet), moet u upgraden naar een abonnement voor betalen per gebruik om Azure Quantum-services te blijven gebruiken. Zodra u een actief abonnement hebt, kunt u via Azure Portal toegang krijgen tot het formulier voor het maken van de werkruimte.
Zie Uw abonnementen controleren voor een lijst met uw abonnementen en bijbehorende rollen.
Probleem: de optie Snel maken is niet beschikbaar
U moet eigenaar zijn van het abonnement dat u selecteert om de optie Snel maken te kunnen gebruiken. Zie Uw abonnementen controleren voor een lijst met uw abonnementen en bijbehorende rollen. Als u een inzender voor een abonnement bent, kunt u de optie Geavanceerd maken gebruiken om een werkruimte te maken.
Probleem: u kunt geen resourcegroep of opslagaccount maken of selecteren
Dit probleem treedt op omdat u niet beschikt over de autorisatie die is vereist op abonnements-, resourcegroep- of opslagaccountniveau. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.
Probleem: foutbericht 'Implementatievalidatie mislukt' wordt weergegeven nadat u Maken hebt geselecteerd
Dit foutbericht bevat mogelijk meer details, zoals 'De client heeft geen autorisatie om actie uit te voeren'.
Dit probleem treedt op omdat u niet beschikt over de autorisatie die is vereist op abonnements-, resourcegroep- of opslagaccountniveau. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.
Als onlangs toegang is verleend, moet u de pagina mogelijk vernieuwen. Het kan soms maximaal één uur duren voordat nieuwe roltoewijzingen van kracht worden ten opzichte van machtigingen in de cache in de stack.
Probleem: u ziet geen specifieke kwantumhardwareprovider op het tabblad Providers
Dit probleem treedt op omdat de provider geen ondersteuning biedt voor de factureringsregio waarin uw abonnement is ingesteld. Als uw abonnement bijvoorbeeld is ingesteld in Israël, vermeldt het tabblad Providers Rigetti niet als een beschikbare provider. Zie Globale beschikbaarheid van Azure Quantum-providers voor een lijst met providers en hun beschikbaarheid per land/regio.
Probleem: het maken of toevoegen/verwijderen van providers voor werkruimten mislukt met 'ResourceDeploymentFailure' of 'ProviderDeploymentFailure'
Dit probleem kan meer details bevatten, zoals 'ResourceDeploymentFailure - De resourcebewerking 'AzureAsyncOperationWaiting' voltooid met de inrichtingsstatus 'Mislukt'. Of 'ProviderDeploymentFailure - Kan geen plan maken voor provider: <naam van de provider>'.
Dit gebeurt omdat azure Marketplace-aankopen niet zijn ingeschakeld voor de tenant. Volg de stappen in Het inschakelen van Azure Marketplace-aankopen om Azure Marketplace-aankopen in te schakelen.
Probleem: het implementeren van een kwantumwerkruimte of het implementeren van een opslagaccount mislukt met een van de volgende fouten:
- Werkruimte: 'De schrijfbewerking van de resource kan niet worden voltooid, omdat de inrichtingsstatus van de terminal is mislukt'.
- Opslagaccount: 'De sjabloonimplementatie is mislukt vanwege beleidsschending'.
Dit probleem kan optreden als uw abonnementsbeveiligingsbeleid het maken van opslagaccounts blokkeert waarvoor openbare toegang is ingeschakeld. De Azure Quantum-service ondersteunt alleen opslagaccounts via openbare internettoegang.
U kunt dit oplossen door samen met uw abonnementsbeheerder een uitzondering te krijgen voor het opslagaccount dat u wilt gebruiken.
Azure Quantum-portal
Probleem: Opgeslagen notitieblokken worden niet geladen
Nadat u Notebooks in uw werkruimte hebt geselecteerd, wordt in de lijst met opgeslagen notitieblokken een voortgangsbalk weergegeven, maar wordt nooit geladen.
Dit kan om drie redenen gebeuren:
Als het opslagaccount niet meer bestaat. Dit kan gebeuren als het opslagaccount dat is gekoppeld aan de werkruimte is verwijderd. Als u dit wilt controleren, selecteert u de pagina Overzicht voor de werkruimte en selecteert u de koppeling naar het opslagaccount. Als het opslagaccount is verwijderd, ziet u de fout 404 - Niet gevonden .
Als het opslagaccount niet is ingeschakeld voor openbare internettoegang. Zie Autorisatiefout voor meer informatie.
Als de beheerde identiteit van de werkruimte geen inzender is voor het opslagaccount. Controleer of de werkruimte-id (die dezelfde naam als de werkruimte gebruikt) nog steeds de rolToewijzing Inzender voor het opslagaccount heeft. Als u dit wilt controleren, selecteert u de pagina Overzicht voor de werkruimte en selecteert u de koppeling naar het opslagaccount. Selecteer op de pagina Overzicht voor het opslagaccount toegangsbeheer (IAM) en controleer of de werkruimte wordt vermeld onder Inzender.