Aller au contenu principal
Ce projet est en phase bêta. Tu as trouvé un bug ? Ouvrir un ticket GitHub. Une question ou une idée ? Pose ta question dans Discussions — tes retours sont les bienvenus !
Quelle est la qualité de la traduction sur cette page ?

Techniques d'atténuation et de suppression des erreurs

Nouveau modèle d'exécution, désormais en version bêta

La version bêta d'un nouveau modèle d'exécution est maintenant disponible. Le modèle d'exécution dirigée offre plus de flexibilité pour personnaliser ton workflow d'atténuation des erreurs. Consulte le guide Modèle d'exécution dirigée pour plus d'informations.

Les techniques d'atténuation et de suppression des erreurs sont utilisées pour améliorer la qualité des résultats lors du passage à des charges de travail plus importantes. Cette page fournit des explications de haut niveau sur les techniques de suppression et d'atténuation des erreurs disponibles avec Qiskit.

Découplage dynamique​

Les circuits quantiques sont exécutés sur le matériel IBM® sous forme de séquences d'impulsions micro-ondes qui doivent être planifiées et exécutées à des intervalles de temps précis. Malheureusement, des interactions indésirables entre les qubits peuvent entraîner des erreurs cohérentes sur les qubits en attente. Le découplage dynamique fonctionne en insérant des séquences d'impulsions sur les qubits en attente pour annuler approximativement l'effet de ces erreurs. Chaque séquence d'impulsions insérée correspond à une opération identité, mais la présence physique des impulsions a pour effet de supprimer les erreurs. Il existe de nombreux choix possibles de séquences d'impulsions, et la question de quelle séquence est la meilleure pour chaque cas particulier reste un domaine de recherche actif.

Note que le découplage dynamique est principalement utile pour les circuits contenant des lacunes dans lesquelles certains qubits restent inactifs sans aucune opération les concernant. Si les opérations du circuit sont très densément regroupées, de sorte que tous les qubits sont occupés la plupart du temps, alors l'ajout d'impulsions de découplage dynamique pourrait ne pas améliorer les performances. En fait, cela pourrait même les dégrader en raison des imperfections des impulsions elles-mêmes.

Le schéma ci-dessous représente le découplage dynamique avec une séquence d'impulsions XX. Le circuit abstrait à gauche est mappé sur un calendrier d'impulsions micro-ondes en haut à droite. En bas à droite, on voit le même calendrier, mais avec une séquence de deux impulsions X insérées pendant une période d'inactivité du premier qubit.

Représentation du découplage dynamique

Tu peux activer le découplage dynamique de plusieurs manières :

Twirling de Pauli​

Le twirling, également connu sous le nom de compilation aléatoire, est une technique largement utilisée pour convertir des canaux de bruit arbitraires en canaux de bruit avec une structure plus spécifique.

Le twirling de Pauli est un type particulier de twirling qui utilise des opérations de Pauli. Il a pour effet de transformer tout canal quantique en un canal de Pauli. Appliqué seul, il peut atténuer le bruit cohérent car ce dernier tend à s'accumuler de manière quadratique avec le nombre d'opérations, tandis que le bruit de Pauli s'accumule linéairement. Le twirling de Pauli est souvent combiné avec d'autres techniques d'atténuation des erreurs qui fonctionnent mieux avec le bruit de Pauli qu'avec un bruit arbitraire.

Le twirling de Pauli est mis en œuvre en encadrant un ensemble de portes choisi avec des portes de Pauli à un qubit choisies aléatoirement, de manière à ce que l'effet idéal de la porte reste le même. Le résultat est qu'un seul circuit est remplacé par un ensemble aléatoire de circuits, tous ayant le même effet idéal. Lors de l'échantillonnage du circuit, les échantillons sont tirés de plusieurs instances aléatoires, plutôt que d'une seule.

Représentation du twirling de Pauli

Étant donné que la plupart des erreurs dans le matériel quantique actuel proviennent des portes à deux qubits, cette technique est souvent appliquée exclusivement aux portes à deux qubits (natives). Le schéma suivant représente quelques twirls de Pauli pour les portes CNOT et ECR. Chaque circuit dans une ligne a le même effet idéal.

Représentation des twirls de portes

Tu peux activer le twirling de Pauli de plusieurs manières :

Extinction des erreurs de lecture par twirling (TREX)​

L'extinction des erreurs de lecture par twirling (TREX) atténue l'effet des erreurs de mesure pour l'estimation des valeurs d'espérance des observables de Pauli. Elle est basée sur la notion de mesures twirled, qui sont réalisées en substituant aléatoirement les portes de mesure par une séquence de (1) une porte Pauli X, (2) une mesure, et (3) un flip de bit classique. Tout comme dans le twirling de portes standard, cette séquence est équivalente à une mesure simple en l'absence de bruit, comme représenté dans le schéma suivant :

Représentation du twirling de mesure

En présence d'erreurs de lecture, le twirling de mesure a pour effet de diagonaliser la matrice de transfert des erreurs de lecture, ce qui la rend facile à inverser. Un terme de repondération issu du canal de bruit diagonal est appris en effectuant des mesures de référence sur des circuits aléatoires initialisés dans l'état zéro. Cela permet au service de supprimer le biais des valeurs d'espérance résultant du bruit de lecture. L'estimation de la matrice de transfert des erreurs de lecture nécessite l'exécution de circuits d'étalonnage supplémentaires, ce qui introduit un faible surcoût.

Tu peux activer TREX de plusieurs manières :

Extrapolation zéro-bruit (ZNE)​

L'extrapolation zéro-bruit (ZNE) est une technique pour atténuer les erreurs dans l'estimation des valeurs d'espérance des observables. Bien qu'elle améliore souvent les résultats, elle ne garantit pas de produire un résultat non biaisé.

La ZNE se compose de deux étapes :

  1. Amplification du bruit : Le circuit quantique original est exécuté plusieurs fois à différents niveaux de bruit.

  2. Extrapolation : Le résultat idéal est estimé en extrapolant les résultats de valeur d'espérance bruités jusqu'à la limite zéro-bruit.

Les deux étapes d'amplification du bruit et d'extrapolation peuvent être mises en œuvre de nombreuses façons différentes. IBM Quantum Compute met en œuvre l'amplification du bruit par « repliement de porte numérique », ce qui signifie que les portes à deux qubits sont remplacées par des séquences équivalentes de la porte et de son inverse. Par exemple, remplacer un unitaire UU par UU†UU U^\dagger U donnerait un facteur d'amplification du bruit de 3. Pour l'extrapolation, tu peux choisir parmi plusieurs formes fonctionnelles, notamment un ajustement linéaire ou un ajustement exponentiel. L'image ci-dessous représente le repliement de porte numérique à gauche, et la procédure d'extrapolation à droite.

Représentation de la ZNE

Le surcoût de cette méthode évolue avec le nombre de facteurs de bruit. Les paramètres par défaut échantillonnent la valeur d'espérance à trois facteurs de bruit, entraînant un surcoût d'environ 3×.

Tu peux activer ZNE de plusieurs manières :

Amplification probabiliste des erreurs (PEA)​

L'un des principaux défis de la ZNE est d'amplifier avec précision le bruit affectant le circuit cible. Le repliement de porte offre un moyen simple d'effectuer cette amplification, mais peut être imprécis et conduire à des résultats incorrects. Consulte l'article « Scalable error mitigation for noisy quantum circuits produces competitive expectation values », et en particulier la page 4 des informations supplémentaires pour plus de détails. L'amplification probabiliste des erreurs offre une approche plus précise de l'amplification des erreurs grâce à l'apprentissage du bruit.

La PEA est une technique plus sophistiquée qui effectue des expériences préliminaires pour reconstruire le bruit, puis utilise ces informations pour effectuer une amplification précise. Elle commence par apprendre le modèle de bruit twirled de chaque couche de portes d'intrication dans le circuit avant leur exécution. Après la phase d'apprentissage, les circuits sont exécutés à chaque facteur de bruit, où chaque couche d'intrication des circuits est amplifiée en injectant de manière probabiliste un bruit à un qubit proportionnel au modèle de bruit appris correspondant. Consulte l'article « Evidence for the utility of quantum computing before fault tolerance » pour plus de détails.

La PEA se compose de trois étapes :

  1. Apprentissage : Le modèle de bruit twirled de chaque couche de portes d'intrication dans le circuit est appris.
  2. Amplification du bruit : Le circuit quantique original est exécuté plusieurs fois à différents facteurs de bruit.
  3. Extrapolation : Le résultat idéal est estimé en extrapolant les résultats de valeur d'espérance bruités jusqu'à la limite zéro-bruit.

Pour les expériences à l'échelle utilitaire, la PEA est souvent le meilleur choix.

Comme PEA est une technique d'amplification du bruit de ZNE, tu dois aussi activer ZNE. Tu peux activer PEA et ZNE de plusieurs manières :

Apprentissage du bruit requis

Si tu utilises le nouvel Estimator côté client introduit dans qiskit-ibm-runtime v0.50.0, un job d'apprentissage du bruit distinct est nécessaire pour utiliser la PEA. Voir Migrer de Sampler et Estimator côté serveur vers côté client pour plus d'informations.

Annulation probabiliste des erreurs (PEC)​

L'annulation probabiliste des erreurs (PEC) est une technique pour atténuer les erreurs dans l'estimation des valeurs d'espérance des observables. Contrairement à la ZNE, elle renvoie une estimation non biaisée de la valeur d'espérance. Cependant, elle entraîne généralement un surcoût plus important.

Dans la PEC, l'effet d'un circuit cible idéal est exprimé comme une combinaison linéaire de circuits bruités réellement implémentables en pratique :

Oideal=∑iηiOnoisy,i\mathcal{O}_{\text{ideal}} = \sum_{i} \eta_i \mathcal{O}_{noisy, i}

La sortie du circuit idéal peut alors être reproduite en exécutant différentes instances de circuits bruités tirées d'un ensemble aléatoire défini par la combinaison linéaire. Si les coefficients ηi\eta_i forment une distribution de probabilité, ils peuvent être utilisés directement comme probabilités de l'ensemble. En pratique, certains coefficients sont négatifs, ils forment donc une distribution de quasi-probabilité à la place. Ils peuvent toujours être utilisés pour définir un ensemble aléatoire, mais il y a un surcoût d'échantillonnage lié à la négativité de la distribution de quasi-probabilité, qui est caractérisé par la quantité

γ=∑i∣ηi∣≥1.\gamma = \sum_{i} \lvert \eta_i \rvert \geq 1.

Le surcoût d'échantillonnage est un facteur multiplicatif sur le nombre de shots nécessaires pour estimer une valeur d'espérance avec une précision donnée, par rapport au nombre de shots qui seraient nécessaires avec le circuit idéal. Il évolue de manière quadratique avec γ\gamma, qui lui-même évolue de manière exponentielle avec la profondeur du circuit.

Tu peux activer PEC de plusieurs manières :

Apprentissage du bruit requis

Si tu utilises le nouvel Estimator côté client introduit dans qiskit-ibm-runtime v0.50.0, un job d'apprentissage du bruit distinct est nécessaire pour utiliser la PEC. Voir Migrer de Sampler et Estimator côté serveur vers côté client pour plus d'informations.

Étapes suivantes​