Condividi tramite


Risoluzione dei problemi comuni in Azure Quantum

Quando si usa il servizio Azure Quantum, è possibile che si verifichino questi problemi comuni. Scopri come risolverli.

Connessione all'area di lavoro

Problema: non è possibile eseguire l'autenticazione in Azure Quantum tramite pytket-azure CI

Quando si tenta di eseguire l'autenticazione in Azure Quantum tramite il pytket-azure pacchetto in un ambiente CI usando le variabili di ambiente "AZURE_TENANT_ID", "AZURE_CLIENT_ID" e "AZURE_CLIENT_SECRET", è possibile che venga visualizzato l'errore:

Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.

Per risolvere questo problema, provare a eseguire l'autenticazione usando un stringa di connessione e la variabile di ambiente "AZURE_QUANTUM_CONNECTION_STRING". Per altre informazioni, vedere Connettersi con un stringa di connessione.

connection_string = "[Copy connection string]" 

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Invio dei lavori

Problema: Mancante targets

Se il target in cui si vuole eseguire il processo non è presente nell'elenco di target disponibile, è probabile che sia necessario eseguire l'aggiornamento alla versione più recente del Quantum Development Kit (QDK) per Visual Studio Code. Per altre informazioni, vedere Aggiornare QDK.

Problema: l'operazione restituisce un codice di stato non valido "Unauthorized"

Procedura per risolvere il problema:

  1. Aprire il portale di Azure (https://portal.azure.com) e autenticare l'account.

  2. In Esplora selezionare Sottoscrizioni e selezionare la sottoscrizione.

  3. Seleziona Controllo di accesso (IAM).

  4. In Verifica l'accesso cercare l'indirizzo di posta elettronica e selezionare l'account.

  5. Non dovresti vedere elencato un ruolo di Proprietario o di Collaboratore.

  6. Selezionare la scheda Assegnazioni di ruolo.

    Nota

    Se la scheda Assegnazioni di ruolo non è visualizzata, potrebbe essere necessario passare alla modalità schermo intero o chiudere il riquadro <nome> assegnazioni.

  7. Selezionare l'elenco a discesa Ruolo, scegliere Proprietario o Collaboratore, quindi immettere la propria email e selezionare il proprio account.

  8. Seleziona Salva.

  9. Verrà ora visualizzato il set di account configurato con il ruolo Proprietario o Collaboratore.

  10. Ricrea l'area di lavoro di Azure Quantum e quindi sottoponi un'attività a questa nuova area di lavoro.

Problema: "AuthorizationFailure - Questa richiesta non è autorizzata a eseguire questa operazione"

Se l'invio di un job non riesce con questo messaggio anche se si dispone di una connessione attiva al servizio Azure Quantum, l'account di archiviazione potrebbe essere configurato per bloccare l'accesso alla rete pubblica. Il servizio Azure Quantum supporta solo gli account di archiviazione tramite accesso a Internet pubblico.

Per controllare l'account di archiviazione:

  • Nella pagina dell'area di lavoro quantistica nel portale di Azure selezionare Panoramica e selezionare l'account di archiviazione.
  • Nella pagina Account di archiviazione, in Sicurezza e rete selezionare Rete.
  • Nella scheda Firewall e reti virtuali in Accesso alla rete pubblica verificare che l'opzione Abilita tutte le reti sia selezionata.

Problema: "Failed to compile program" quando si prova a inviare un programma Q# tramite l'interfaccia della riga di comando

Quando si prova a inviare un processo al prompt dei comandi usando il comando az quantum submit, è possibile che venga visualizzato il messaggio di errore seguente:

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

Questo errore si verifica quando si verifica un problema con il programma Q# che causa l'esito negativo della compilazione.

Problema: errore del compilatore "Numero errato di parametri gate"

Quando si invia un processo a Quantinuum da un Notebook Jupyter locale o da un ambiente di riga di comando e usando il traduttore QASM legacy (OPENQASM 2.0), potreste incontrare questo errore:

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

Questo errore si verifica quando una virgola "," o un altro carattere non punto viene usato come separatore decimale, come è comune in molte lingue. Sostituire qualsiasi separatore decimale non punto con punti ".".

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

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

Nota

Questo problema non si verifica nei notebook ospitati nel portale di Azure Quantum, solo negli ambienti di sviluppo locali.

Problema: errore del compilatore "non disponibile per la configurazione di compilazione corrente"

Quando si esegue una cella di codice Q# in un notebook Jupyter in VS Code, è possibile che venga visualizzato l'errore:

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

Questo errore indica che il profilo di target QIR (rappresentazione quantistica intermedia) è impostato su Basic e la funzione in questione richiede il profilo senza restrizionitarget. Per impostare il target profilo su Senza restrizioni:

  1. Durante il programma Q# in VS Code, selezionare Q#: QIR base sulla barra di stato inferiore.
  2. Dalle opzioni visualizzate nella barra di stato superiore selezionare Q#: senza restrizioni.

Problema: l'operazione ha restituito un codice di stato non valido "Forbidden"

Quando invii il tuo primo incarico, si potrebbe ricevere un codice di errore "non consentito".

Questo problema può avere origine durante la creazione dell'area di lavoro: Azure Quantum non riesce a completare l'assegnazione di ruolo collegando la nuova area di lavoro all'account di archiviazione specificato. Uno scenario tipico per questa situazione si verifica se la scheda o la finestra del browser Web viene chiusa prima che la creazione dell'area di lavoro venga completata.

È possibile verificare di incorrere in questa problematica relativa all'assegnazione dei ruoli seguendo i passaggi seguenti:

  • Accedere alla tua nuova area di lavoro quantistica nel portale Azure
  • In Panoramica>Essenziali>Account di archiviazione, seleziona il link dell'account di archiviazione
  • Nella barra di spostamento a sinistra selezionare Controllo di accesso (IAM)
  • Selezionare le Assegnazioni di ruolo
  • Verifica che l'area di lavoro sia visualizzata come Collaboratore
  • Se l'area di lavoro non viene visualizzata come Collaboratore, è possibile:
    • Creare una nuova area di lavoro e assicurarsi di attendere il completamento della creazione dell'area di lavoro prima di chiudere la scheda o la finestra del browser Web.
    • Aggiungere l'assegnazione di ruolo appropriata nell'account di archiviazione
      • Controllo di accesso (IAM) > Aggiungi assegnazioni di ruolo
      • Ruolo > Collaboratore
      • Assegnare l'accesso a > utente, gruppo o principale del servizio
      • Selezionare > [nome dell'area di lavoro]
      • Salva

Problema: il processo ha esito negativo con codice di errore: QIRPreProcessingFailed

Quando si invia un'attività a un provider di Rigetti, l'attività ha esito negativo ed è riportata nella console di gestione delle attività nell'Azure Portal:

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

Questo errore può essere causato da un conflitto di dipendenza con una versione precedente di pyqir o qiskit-qir. Disinstallare tutte le versioni di pyqir, pyqir-*e qiskit-qir nel computer locale e quindi installare o aggiornare il pacchetto Python azure-quantum usando il parametro [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Problema: Recupero di informazioni di base sui processi falliti

Dopo aver inviato un processo a un hardware target, il processo può restare in coda per diverse ore o anche uno o due giorni prima di non riuscire.

Per recuperare altre informazioni sull'errore:

  • Per visualizzare l'output o il messaggio di errore restituito, utilizzare il metodo get_results() con l'oggetto di lavoro:
job.get_results()
  • Nell'area di lavoro del portale di Azure selezionare Operations > Job Management e quindi selezionare il nome del processo per aprire un riquadro dei dettagli.
  • Nell'area di lavoro del portale di Azure, selezionare Provider di > Operazioni. Verificare la disponibilità della target macchina. I processi inviati a targets con stato Degradato possono rimanere in coda più a lungo del solito. A volte i processi vengono elaborati, ma a volte si verifica un timeout e restituiscono un errore di target indisponibilità.

Problema: mi viene chiesto di eseguire l'autenticazione ogni volta che mi connetto a livello di codice all'area di lavoro

Se si usa Azure Quantum Python SDK, ad esempio all'interno di Jupyter Notebook e ci si connette all'area di lavoro usando la classe AzureQuantumProvider, è possibile che si verifichi un popup per l'autenticazione in Azure ogni volta che si esegue lo script.

Questo popup si verifica perché il token di sicurezza viene reimpostato ogni volta che si esegue lo script.

È possibile risolvere questo problema eseguendo l'Azure CLI tramite az login. Per altre informazioni, vedere az login.

Problema: dopo l'aggiornamento del pacchetto azure-quantum, viene visualizzato l'errore "ModuleNotFoundError: Nessun modulo denominato qiskit.tools" durante il monitoraggio di un processo

A partire da Qiskit 1.0, il modulo qiskit.tools, necessario per la funzione job_monitor(), è deprecato. Per monitorare i processi, usare le funzioni wait_for_final_state() o result.

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()

Strumento di stima delle risorse di Azure Quantum

Gli scenari comuni seguenti possono impedire il completamento dei processi di stima delle risorse. Scopri come risolverli.

Problema: l'algoritmo quantistico deve contenere almeno uno stato T o una misurazione

Per tenere conto del mapping di un programma quantistico arbitrario in una matrice 2D di qubit logici, lo strumento di stima delle risorse presuppone che il Computo di Sintesi Parallela Sequenziale di Pauli (PSSPC) venga eseguito sul programma di input. In tale approccio, tutte le operazioni Clifford vengono commutate attraverso tutte le porte T, i cancelli di rotazione e le operazioni di misurazione, lasciando una singola operazione Clifford che può essere valutata in modo efficiente in modo classico. Pertanto, un programma quantistico che non contiene stati T, come quelli derivanti da cancelli T, cancelli di rotazione o operazioni di misurazione, non richiede alcuna risorsa di calcolo quantistico fisico. Per altre informazioni sul calcolo pauli sequenziale di sintesi parallela, vedere arXiv:2211.07629, Appendice D.

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

Problema: la frequenza di errore del gate T fisico è troppo elevata

La frequenza di errore dello stato T logico dipende dal budget degli errori e dal numero di stati T nel programma quantistico. Le fabbriche T vengono usate per creare stati T con il tasso di errore logico dello stato T richiesto dai cancelli T fisici, che hanno un tasso di errore del cancello T fisico. In genere, la frequenza di errore del gate T fisico è superiore alla frequenza di errore del gate T logico richiesto. In certi scenari, la frequenza di errore del gate T fisico è significativamente superiore rispetto alla necessaria frequenza di errore dello stato T logico, tale che non è possibile trovare alcuna fabbrica T capace di produrre stati T logici di qualità sufficiente.

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

Di seguito sono riportate le operazioni che è possibile eseguire in uno scenario di questo tipo:

  • Aumentare il budget degli errori, sia il totale sia la parte per gli stati T.
  • Ridurre il tasso di errore del gate T fisico nei parametri del qubit.
  • Ridurre il numero di stati T nel programma quantistico riducendo i cancelli T, i cancelli di rotazione e i cancelli Toffoli.

Problema: la frequenza di errore del gate T fisico è troppo bassa

C'è anche lo scenario opposto, in cui la frequenza di errore del gate T fisico è inferiore alla frequenza di errore dello stato T logico richiesto. In questi casi, non è necessaria alcuna factory T, perché il tasso di errore del gate T fisico è già di qualità sufficiente. Tuttavia, questo scenario richiede un'attenta considerazione dell'impatto delle unità di trasferimento che trasferisce gli stati T fisici dalla distanza di codice 1 alla distanza del codice dell'algoritmo (vedere arXiv:2211.07629, Appendice C). In generale, in presenza di fabbriche T, il costo delle unità di trasferimento è trascurabile.

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.

Di seguito sono riportate le operazioni che è possibile eseguire in uno scenario di questo tipo:

  • Aumentare il tasso di errore del gate T fisico nei parametri dei qubit per raggiungere il tasso di errore richiesto dello stato T logico.
  • Ridurre il budget degli errori o solo la parte relativa agli stati T.

Problema: la frequenza di errore deve essere un numero compreso tra 0 e 1

Le percentuali di errore devono essere sempre valori compresi tra 0 e 1. Inoltre, per rendere effettiva la correzione degli errori, la frequenza di errore fisica per cancelli e misurazioni deve essere inferiore a un valore che dipende dalle proprietà del codice di correzione degli errori e dalla frequenza di errore logica richiesta.

Di seguito sono riportate le operazioni che è possibile eseguire in uno scenario di questo tipo:

  • Aumentare il budget degli errori, sia totale che per la parte degli errori logici.
  • Ridurre le percentuali di errore fisiche nei parametri qubit.

Problema: i vincoli di runtime massimo e il numero massimo di qubit fisici si escludono a vicenda

Lo strumento di stima delle risorse accetta solo uno dei vincoli maxDuration o maxPhysicalQubits alla volta, ma non due. Se si specificano sia maxDuration che maxPhysicalQubits vincoli per un unico lavoro, viene restituito l'errore BothDurationAndPhysicalQubitsProvided.

Problema: Eseguire il contenitore dei conteggi stima QIR: simbolo non definito __quantum__rt__result_record_output

Questo errore comporta la generazione di circuiti QIR per Qiskit tramite il pacchetto Python qiskit_qir senza impostare il record_output parametro su False.

Per evitare questo errore, eseguire una delle azioni seguenti:

  • Usare il pacchetto Python azure_quantum per inviare circuiti Qiskit ad Azure Quantum (scelta consigliata).
  • Quando si usa il pacchetto Python qiskit_qir , assicurarsi di impostare il record_output parametro su False prima di inviare il circuito.

Creazione di un'area di lavoro di Azure Quantum

Quando si usa il portale di Azure per creare un'area di lavoro, possono verificarsi i problemi seguenti.

Problema: non è possibile accedere al modulo di creazione dell'area di lavoro nel portale di Azure. Viene invece chiesto di iscriversi per una sottoscrizione

Questo problema si verifica perché non si ha una sottoscrizione attiva.

Ad esempio, è possibile aver effettuato l'iscrizione per la sottoscrizione di Azure di valutazione gratuita di 30 giorni, che include crediti Azure gratuiti USD200 da usare nei servizi di Azure. Questi crediti Azure non sono idonei per l'uso nei provider hardware quantistici. Dopo 30 giorni di iscrizione o dopo aver utilizzato i 200 dollari di crediti Azure gratuiti (a condizione che si verifichi prima), è necessario eseguire l'aggiornamento a una sottoscrizione con pagamento in base al consumo per continuare a usare i servizi Azure Quantum. Dopo aver creato una sottoscrizione attiva, il portale di Azure consente di accedere al modulo di creazione dell'area di lavoro.

Per visualizzare un elenco delle sottoscrizioni e dei ruoli associati, vedere Controllare le sottoscrizioni.

Problema: l'opzione Creazione rapida non è disponibile

Per usare l'opzione Creazione rapida, è necessario essere proprietario della sottoscrizione selezionata. Per visualizzare un elenco delle sottoscrizioni e dei ruoli associati, vedere Controllare le sottoscrizioni. Se si è un collaboratore alla sottoscrizione, è possibile usare l'opzione Creazione avanzata per creare un'area di lavoro.

Problema: non è possibile creare o selezionare un gruppo di risorse o un account di archiviazione

Questo problema si verifica perché non si dispone dell'autorizzazione necessaria a livello di sottoscrizione, gruppo di risorse o account di archiviazione. Per altre informazioni sui livelli di accesso necessari, vedere Requisiti dei ruoli per la creazione di un'area di lavoro.

Problema: messaggio di errore "Convalida della distribuzione non riuscita" visualizzato dopo aver selezionato Crea

Questo messaggio di errore può includere altri dettagli, ad esempio "Il client non dispone dell'autorizzazione per eseguire l'azione".

Questo problema si verifica perché non si dispone dell'autorizzazione necessaria a livello di sottoscrizione, gruppo di risorse o account di archiviazione. Per altre informazioni sui livelli di accesso necessari, vedere Requisiti dei ruoli per la creazione di un'area di lavoro.

Se l'accesso è stato concesso di recente, potrebbe essere necessario aggiornare la pagina. A volte possono essere necessarie fino a un'ora per rendere effettive le nuove assegnazioni di ruolo rispetto alle autorizzazioni memorizzate nella cache nello stack.

Problema: non viene visualizzato un provider hardware quantistico specifico nella scheda Provider

Questo problema si verifica perché il provider non supporta l'area di fatturazione in cui è impostata la sottoscrizione. Ad esempio, se la sottoscrizione è impostata in Israele, la scheda Provider non elenca Rigetti come provider disponibile. Per un elenco dei provider e della relativa disponibilità per paese/area geografica, vedere Disponibilità globale dei provider di Azure Quantum.

Problema: la creazione dell'area di lavoro o l'aggiunta/rimozione dei provider fallisce con "ResourceDeploymentFailure" o "ProviderDeploymentFailure".

Questo problema può includere altri dettagli, ad esempio "ResourceDeploymentFailure - Operazione di risorsa AzureAsyncOperationWaiting completata con lo stato di provisioning del terminale 'Failed'. o "ProviderDeploymentFailure - Impossibile creare un piano per il provider: <nome del provider>".

Questo errore si verifica perché il tenant non ha abilitato gli acquisti di Azure Marketplace. Seguire la procedura descritta in Abilitazione degli acquisti di Azure Marketplace per abilitare gli acquisti di Azure Marketplace.

Problema: la distribuzione di un'area di lavoro quantistica o la distribuzione di un account di archiviazione ha esito negativo con uno degli errori seguenti:

  • Area di lavoro: "L'operazione di scrittura delle risorse non è stata completata correttamente, perché ha raggiunto lo stato di provisioning del terminale 'Failed'".
  • Account di archiviazione: "La distribuzione del modello non è riuscita a causa di una violazione dei criteri".

Questo problema può verificarsi se i criteri di sicurezza della sottoscrizione bloccano la creazione di account di archiviazione con accesso pubblico abilitato. Il servizio Azure Quantum supporta solo gli account di archiviazione tramite accesso a Internet pubblico.

Per risolvere questo problema, rivolgersi all'amministratore della sottoscrizione per ottenere un'eccezione per l'account di archiviazione che si vuole usare.

Portale di Azure Quantum

Problema: i notebook salvati non vengono caricati

Dopo aver selezionato Notebook nell'area di lavoro, l'elenco dei notebook salvati visualizza un indicatore di stato ma non viene mai caricato.

Questo scenario può verificarsi per tre motivi:

  1. Se l'account di archiviazione non esiste più. Ciò può verificarsi se l'account di archiviazione collegato all'area di lavoro è stato eliminato. Per verificare, selezionare la pagina Panoramica per l'area di lavoro e selezionare il collegamento all'account di archiviazione. Se l'account di archiviazione è stato eliminato, viene visualizzato un errore 404 - Non trovato.

  2. Se l'account di archiviazione non è abilitato per l'accesso a Internet pubblico. Per altre informazioni, vedere Errore di autorizzazione.

  3. Se l'identità gestita dell'area di lavoro non è un Collaboratore dell'account di archiviazione. Verificare che l'identità dell'area di lavoro (che usa lo stesso nome dell'area di lavoro) abbia ancora il ruolo di Collaboratore assegnato all'account di archiviazione. Per verificare, selezionare la pagina Panoramica per l'area di lavoro e selezionare il collegamento all'account di archiviazione. Nella pagina Panoramica dell'account di archiviazione selezionare Controllo di accesso (IAM) e verificare che l'area di lavoro sia elencata in Collaboratore.