Résolution des problèmes courants dans Azure Quantum

Lorsque vous utilisez le service Azure Quantum, vous pouvez rencontrer ces problèmes courants. Découvrez comment vous pouvez les résoudre.

Connexion à votre espace de travail

Problème : Impossible de s’authentifier auprès d’Azure Quantum via pytket-azure CI

Lorsque vous essayez de vous authentifier auprès d’Azure Quantum via le pytket-azure package dans un environnement CI à l’aide des variables d’environnement « AZURE_TENANT_ID », « AZURE_CLIENT_ID » et « AZURE_CLIENT_SECRET », vous pouvez rencontrer l’erreur :

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

Pour résoudre ce problème, essayez de vous authentifier à l’aide d’un chaîne de connexion et de la variable d’environnement « AZURE_QUANTUM_CONNECTION_STRING » à la place. Pour plus d’informations, consultez Se connecter avec un chaîne de connexion.

connection_string = "[Copy connection string]" 

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Envoi de travaux

Problème : manquant targets

Si l’emplacement target où vous souhaitez exécuter votre travail est manquant dans la liste disponible target , vous devez probablement effectuer une mise à jour vers la dernière version de Quantum Development Kit Visual Studio Code. Pour plus d’informations, consultez Mettre à jour le QDK.

Problème : l’opération renvoie un code d’état non valide « non autorisé »

Étapes de résolution de ce problème :

  1. Ouvrez votre portail Azure (https://portal.azure.com) et authentifiez votre compte.

  2. Sous Naviguer, sélectionnez Abonnements et sélectionnez votre abonnement.

  3. Sélectionnez Contrôle d’accès (IAM) .

  4. Sous Vérifier l’accès, recherchez votre adresse e-mail et sélectionnez le compte.

  5. Vous ne devez pas voir un rôle Propriétaire ou Contributeur répertorié.

  6. Sélectionnez l’onglet Attributions de rôles.

    Remarque

    Si vous ne voyez pas l’onglet Attributions de rôle, vous devrez peut-être développer le portail en mode plein écran ou fermer le volet des affectations de <>.

  7. Sélectionnez la liste déroulante Rôle , sélectionnez Propriétaire ou Contributeur, puis entrez votre adresse e-mail et sélectionnez votre compte.

  8. Cliquez sur Enregistrer.

  9. Vous devez maintenant voir votre ensemble de comptes configuré avec le rôle Propriétaire ou Contributeur.

  10. Créez à nouveau votre espace de travail Azure Quantum, puis soumettez-lui un travail.

Problème : « AuthorizationFailure - Cette demande n’est pas autorisée à effectuer cette opération »

Si une soumission de travaux échoue avec ce message même si vous avez une connexion valide au service Azure Quantum, le compte de stockage peut être configuré pour bloquer l’accès au réseau public. Le service Azure Quantum prend uniquement en charge les comptes de stockage via un accès Internet public.

Pour vérifier le compte de stockage :

  • Dans la page de l’espace de travail quantique dans le portail Azure, sélectionnez Vue d’ensemble et sélectionnez le compte de stockage.
  • Dans la page du compte de stockage, dans Sécurité + mise en réseau, sélectionnez Mise en réseau.
  • Dans l’onglet Pare-feu et réseaux virtuels de l’accès au réseau public, vérifiez que l’option Activer tous les réseaux est sélectionnée.

Problème : « Failed to compile program » (échec de la compilation du programme) lors de la tentative d’envoi d’un programme Q# par le biais de l’interface de ligne de commande

Lorsque vous tentez d’envoyer un travail à partir de l’invite de commandes à l’aide de la commande az quantum submit, il se peut que le message d’erreur suivant apparaisse :

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

Cette erreur se produit lorsqu’il existe un problème avec le programme Q# qui provoque l’échec de la compilation.

Problème : Erreur du compilateur « Nombre incorrect de paramètres de porte »

Lors de l’envoi d’un travail à Quantinuum à partir d’un notebook Jupyter local ou d’un environnement de ligne de commande, et à l’aide du traducteur QASM hérité (OPENQASM 2.0), vous pouvez rencontrer cette erreur :

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

Cette erreur se produit lorsqu’une virgule « », ou un autre caractère non pointé est utilisé comme séparateur décimal, tel qu’il est courant dans de nombreuses langues. Remplacez les séparateurs décimaux non point par des points « ».

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

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

Remarque

Ce problème ne se produit pas dans les notebooks hébergés dans le portail Azure Quantum, uniquement dans les environnements de développement locaux.

Problème : Erreur du compilateur « non disponible pour la configuration de compilation actuelle »

Lorsque vous exécutez une cellule de code Q# dans un bloc-notes Jupyter dans VS Code, vous pouvez rencontrer l’erreur :

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

Cette erreur indique que le profil QIR target est défini sur De base et que la fonction en question requiert le profil Illimitétarget . Pour définir le target profil sur Non restreint :

  1. Dans votre programme Q# dans VS Code, sélectionnez Q# : base QIR dans la barre d’état inférieure.
  2. Dans les options affichées dans la barre d’état supérieure, sélectionnez Q# : sans restriction.

Problème : l’opération a retourné un code d’état non valide : « Interdit ».

Lorsque vous envoyez votre premier travail, vous pouvez obtenir un code d’erreur « interdit ».

Ce problème peut se produire lors de la création d’un espace de travail : Azure Quantum ne parvient pas à effectuer l’attribution de rôle dans le cadre de la liaison du nouvel espace de travail au compte de stockage spécifié. Un scénario classique pour cette situation se produit si l’onglet ou la fenêtre du navigateur web est fermée avant la fin de la création de l’espace de travail.

Vous pouvez vérifier que vous rencontrez ce problème d’attribution de rôle en procédant comme suit :

  • Accédez à votre nouvel espace de travail quantique dans le Portail Azure
  • Sous Vue d’ensemble>du compte de stockage Essentials>, sélectionnez le lien du compte de stockage
  • Dans la barre de navigation de gauche, sélectionnez Contrôle d’accès (IAM)
  • Sélectionnez Attributions de rôles
  • Vérifiez que votre espace de travail apparaît en tant que Contributeur.
  • Si l’espace de travail n’apparaît pas en tant que contributeur , vous pouvez :
    • Créer un espace de travail et attendre la fin de la création de l’espace de travail avant de fermer l’onglet ou la fenêtre du navigateur web.
    • Ajouter l’attribution de rôle appropriée sous le compte de stockage
      • Contrôle d’accès (IAM) > Ajouter des attributions de rôles
      • Rôle > contributeur
      • Attribuer l’accès à > Utilisateur, groupe ou principal de service
      • Sélectionnez > [Nom de l’espace de travail]
      • Save

Problème : Échec du travail avec le code d’erreur : QIRPreProcessingFailed

Lorsque vous soumettez un travail à un fournisseur Rigetti, le travail échoue et est signalé dans le console de gestion du travail dans le Portail Azure :

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

Cette erreur peut être due à un conflit de dépendances avec une version précédente de pyqir ou qiskit-qir. Désinstallez toutes les versions de pyqir, pyqir-*et qiskit-qir sur votre ordinateur local, puis installez ou mettez à jour le package Python azure-quantum à l’aide du paramètre [qiskit] :

pip install --upgrade azure-quantum[qiskit]

Problème : récupération d’informations de base sur les travaux ayant échoué

Une fois que vous avez envoyé un travail à un matériel target, votre travail peut s’asseoir dans la file d’attente pendant plusieurs heures, voire un ou deux jours, avant d’échouer.

Pour récupérer plus d’informations sur l’échec :

  • Utilisez la get_results() méthode avec l’objet de travail pour afficher la sortie ou le message d’erreur retourné :
job.get_results()
  • Dans votre espace de travail Du portail Azure, sélectionnez Gestion des travaux Operations>, puis sélectionnez le nom du travail pour ouvrir un volet de détails.
  • Dans votre espace de travail du portail Azure, sélectionnez Fournisseurs d’opérations>. Vérifiez la disponibilité de l’ordinateur target . Les travaux soumis à targets un état détérioré peuvent rester dans la file d’attente plus longtemps que d’habitude. Parfois, les travaux sont traités, mais parfois ils expirent et retournent une erreur d’indisponibilitétarget.

Problème : je continue d’être invité à s’authentifier lors de la connexion par programmation à mon espace de travail

Si vous utilisez le Kit de développement logiciel (SDK) Python Azure Quantum (dans des notebooks Jupyter par exemple) et que vous vous connectez à votre espace de travail à l’aide de la classe AzureQuantumProvider, vous pouvez rencontrer une fenêtre contextuelle pour vous authentifier auprès d’Azure chaque fois que vous exécutez votre script.

Cela se produit parce que votre jeton de sécurité est réinitialisé chaque fois que vous exécutez le script.

Vous pouvez résoudre ce problème en exécutant az login Azure CLI. Pour plus d’informations, consultez az login.

Problème : Après la mise à jour du package azure-quantum, j’obtiens l’erreur « ModuleNotFoundError : Aucun module nommé qiskit.tools » lors de la surveillance d’un travail

Depuis Qiskit 1.0, le qiskit.tools module, qui est requis pour la job_monitor() fonction, a été déconseillé. Pour surveiller les travaux, utilisez les wait_for_final_state() fonctions ou les result fonctions.

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

Estimateur de ressources Azure Quantum

Les scénarios courants suivants peuvent empêcher la fin des travaux d’estimation des ressources. Découvrez comment les résoudre.

Problème : l’algorithme quantique doit contenir au moins un état T ou une mesure

Pour tenir compte du mappage d’un programme quantique arbitraire à un tableau 2D de qubits logiques, l’estimateur de ressources part du principe que Parallel Synthesis Séquentiel Pauli Computation (PSSPC) (voir arXiv :2211.07629, Annexe D) est effectué sur le code d’entrée. Dans cette approche, toutes les opérations de Clifford sont parcourues par toutes les portes T, les portes de rotation et les opérations de mesure, laissant une seule opération Clifford qui peut être évaluée efficacement classiquement. Par conséquent, un programme quantique qui ne contient aucun état T, par exemple à partir de portes T ou de portes de rotation, ni d’opérations de mesure ne nécessite aucune ressource de calcul quantique physique.

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

Problème : le taux d’erreur de porte T physique est trop élevé

Le taux d’erreur d’état T logique dépend du budget d’erreur et du nombre d’états T dans le programme quantique. Les fabriques T sont utilisées pour créer des états T avec le taux d’erreur d’état T logique requis à partir de portes T physiques , qui ont un taux d’erreur de porte T physique . En règle générale, le taux d’erreur de porte T physique est beaucoup plus élevé que le taux d’erreur de porte T logique requis. Dans certains scénarios, le taux d’erreur de la porte T physique est beaucoup plus élevé par rapport au taux d’erreur d’état T logique requis, de sorte qu’aucune fabrique T ne peut être trouvée qui peut produire des états T logiques de qualité suffisante.

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

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le budget d’erreur, soit le total, soit la partie pour les états T.
  • Réduisez le taux d’erreur de la porte T physique dans les paramètres qubit.
  • Réduisez le nombre d’états T dans le programme quantique en réduisant les portes T, les portes de rotation et les portes Toffoli.

Problème : le taux d’erreur de porte T physique est trop faible

Il existe également le scénario opposé, dans lequel le taux d’erreur de porte T physique est inférieur au taux d’erreur d’état T logique requis. Dans ce cas, aucune usine T n’est requise, car le taux d’erreur de porte T physique est déjà de qualité suffisante. Toutefois, cela nécessite un examen attentif de l’impact des unités de transfert qui transfèrent les états T physiques de la distance de code 1 à la distance de code de l’algorithme (voir arXiv :2211.07629, Annexe C). En général, en présence d’usines T, le coût des unités de transfert est négligeable.

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.

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le taux d’erreur de porte T physique dans les paramètres qubit au taux d’erreur d’état T logique requis.
  • Réduisez le budget d’erreur ou simplement la partie des états T.

Problème : le taux d’erreur doit être un nombre compris entre 0 et 1

Les taux d’erreur doivent toujours être des valeurs comprises entre 0 et 1. En outre, pour que la correction des erreurs soit effective, le taux d’erreur physique pour les portes et les mesures doit être inférieur à une valeur qui dépend des propriétés du code de correction d’erreur et du taux d’erreur logique requis.

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le budget d’erreur, soit le total, soit la partie pour les erreurs logiques.
  • Réduisez les taux d’erreur physiques dans les paramètres qubit.

Problème : le runtime maximal de contraintes et le nombre maximal de qubits physiques sont mutuellement exclusifs

L’estimateur de ressources n’accepte qu’une ou plusieurs maxDuration maxPhysicalQubits contraintes au moment de l’exécution, mais pas deux. Si votre offre et maxDuration maxPhysicalQubitsvos contraintes pour un seul travail, elle retourne l’erreur BothDurationAndPhysicalQubitsProvided .

Problème : Exécuter le conteneur d’estimation QIR : symbole non défini __quantum__rt__result_record_output

Cette erreur résulte de la génération de QIR pour les circuits Qiskit via le package qiskit_qir Python sans définir le record_output paramètre Falsesur .

Pour éviter cette erreur, effectuez l’une des opérations suivantes :

  • Utilisez le package azure_quantum Python pour envoyer des circuits Qiskit à Azure Quantum (recommandé).
  • Lorsque vous utilisez le package Python qiskit_qir , veillez à définir le record_output paramètre False avant de soumettre votre circuit.

Création d’un espace de travail Azure Quantum

Les problèmes suivants peuvent se produire lorsque vous utilisez le Portail Azure pour créer un espace de travail.

Problème : vous ne pouvez pas accéder au formulaire de création de l’espace de travail dans le Portail Azure ; vous êtes invité à vous inscrire à un abonnement à la place

Ce problème se produit parce que vous n’avez pas d’abonnement actif.

Par exemple, vous avez peut-être souscrit à l’abonnement Azure d’essai gratuit de 30 jours, qui inclut des crédits Azure gratuits USD200 à utiliser sur les services Azure. Notez que ces crédits Azure ne sont pas les mêmes que les crédits Azure Quantum et ne peuvent pas être utilisés sur les fournisseurs de matériel quantique. Après 30 jours d’inscription ou une fois que vous avez consommé les 200 $ de crédits Azure gratuits (selon ce qui se produit en premier), vous devez effectuer une mise à niveau vers un abonnement de paiement à l’utilisation pour continuer à utiliser les services Azure Quantum. Une fois que vous avez un abonnement actif, l’Portail Azure vous permet d’accéder au formulaire de création de l’espace de travail.

Pour afficher la liste de vos abonnements et rôles associés, consultez Vérifier vos abonnements.

Problème : l’option Création rapide n’est pas disponible

Vous devez être propriétaire de l’abonnement que vous sélectionnez pour utiliser l’option Création rapide . Pour afficher la liste de vos abonnements et rôles associés, consultez Vérifier vos abonnements. Si vous êtes contributeur d’abonnement, vous pouvez utiliser l’option De création avancée pour créer un espace de travail.

Problème : vous ne pouvez pas créer ou sélectionner un groupe de ressources ou un compte de stockage

Ce problème se produit, car vous n’avez pas l’autorisation requise au niveau de l’abonnement, du groupe de ressources ou du compte de stockage. Pour plus d’informations sur les niveaux d’accès requis, consultez Les exigences de rôle pour la création d’un espace de travail.

Problème : le message d’erreur « Échec de la validation du déploiement » s’affiche après avoir sélectionné Créer

Ce message d’erreur peut inclure plus de détails tels que « Le client n’a pas l’autorisation d’effectuer une action ».

Ce problème se produit, car vous n’avez pas l’autorisation requise au niveau de l’abonnement, du groupe de ressources ou du compte de stockage. Pour plus d’informations sur les niveaux d’accès requis, consultez Les exigences de rôle pour la création d’un espace de travail.

Si l’accès a été récemment accordé, vous devrez peut-être actualiser la page. Il peut parfois prendre jusqu’à une heure pour que les nouvelles attributions de rôles prennent effet sur les autorisations mises en cache sur la pile.

Problème : vous ne voyez pas de fournisseur de matériel quantique spécifique sous l’onglet Fournisseurs

Ce problème se produit, car le fournisseur ne prend pas en charge la région de facturation dans laquelle votre abonnement est défini. Par exemple, si votre abonnement est défini en Israël, l’onglet Fournisseurs ne répertorie pas Rigetti comme fournisseur disponible. Pour obtenir la liste des fournisseurs et leur disponibilité par pays/région, consultez la disponibilité globale des fournisseurs Azure Quantum.

Problème : la création ou la suppression de fournisseurs d’espace de travail échoue avec « ResourceDeploymentFailure » ou « ProviderDeploymentFailure »

Ce problème peut inclure plus de détails tels que « ResourceDeploymentFailure - L’opération de ressource « AzureAsyncOperation Waiting » terminée avec l’état d’approvisionnement du terminal « Failed » ou « ProviderDeploymentFailure – Échec de la création d’un plan pour le fournisseur : <Nom du fournisseur> ».

Cela se produit parce que le locataire n’a pas activé Place de marché Azure achats. Suivez les étapes de l’activation des achats Place de marché Azure pour activer les achats Place de marché Azure.

Problème : le déploiement d’un espace de travail quantique ou le déploiement d’un compte de stockage échoue avec l’une des erreurs suivantes :

  • Espace de travail : « L’opération d’écriture de ressource n’a pas réussi à s’exécuter correctement, car elle a atteint l’état d’approvisionnement du terminal « Échec ».
  • Compte de stockage : « Échec du déploiement du modèle en raison d’une violation de stratégie ».

Ce problème peut se produire si votre stratégie de sécurité d’abonnement bloque la création de comptes de stockage dont l’accès public est activé. Le service Azure Quantum prend uniquement en charge les comptes de stockage via un accès Internet public.

Pour résoudre ce problème, collaborez avec votre administrateur d’abonnement pour obtenir une exception pour le compte de stockage que vous souhaitez utiliser.

Portail Azure Quantum

Problème : les notebooks enregistrés ne se chargent pas

Après avoir sélectionné des blocs-notes dans votre espace de travail, la liste de vos blocs-notes enregistrés affiche une barre de progression, mais ne se charge jamais.

Cela peut se produire pour trois raisons :

  1. Si le compte de stockage n’existe plus. Cela peut se produire si le compte de stockage lié à l’espace de travail a été supprimé. Pour vérifier, sélectionnez la page Vue d’ensemble de l’espace de travail et sélectionnez le lien vers le compte de stockage. Si le compte de stockage a été supprimé, vous verrez une erreur 404 - Introuvable .

  2. Si le compte de stockage n’est pas activé pour l’accès à Internet public. Pour plus d’informations, consultez Échec de l’autorisation.

  3. Si l’identité managée de l’espace de travail n’est pas un contributeur au compte de stockage. Vérifiez que l’identité de l’espace de travail (qui utilise le même nom que l’espace de travail) possède toujours l’attribution de rôle Contributeur au compte de stockage. Pour vérifier, sélectionnez la page Vue d’ensemble de l’espace de travail et sélectionnez le lien vers le compte de stockage. Dans la page Vue d’ensemble du compte de stockage, sélectionnez Contrôle d’accès (IAM) et vérifiez que l’espace de travail est répertorié sous Contributeur.