Workflows modernes
Ce cours a couvert une grande variété de méthodes pour gérer le bruit et les erreurs quantiques. Nous avons volontairement évité certaines solutions de type boîte noire afin de voir comment ces méthodes fonctionnent. Nous sommes maintenant prêts à utiliser ces méthodes dans leur forme la plus moderne. Plus précisément, nous explorons des outils de gestion des erreurs hautement optimisés qui nous cachent une partie de la complexité. Nous explorons aussi Samplomatic et des addons tels que les shaded lightcones (SLC), qui nous donnent un contrôle très fin sur certains processus d'atténuation.
Dans cette vidéo, le Dr Chris Porter donne un aperçu de ces outils modernes. Nous prévoyons d'ajouter des exemples de workflows à cette leçon ultérieurement. Cependant, cette leçon contient déjà toutes les informations dont tu as besoin pour utiliser ces outils et réussir l'examen de badge.
Aperçu
Les premières primitives d'IBM Quantum, comme Estimator et Sampler, exposaient l'atténuation des erreurs via un petit nombre de niveaux prédéfinis. Les versions ultérieures ont offert un contrôle plus direct sur chaque technique, notamment le choix de la stratégie d'extrapolation à bruit nul, les configurations de Pauli twirling et les paramètres de randomisation. Toutefois, ces paramètres restaient en grande partie globaux et s'appliquaient uniformément à l'ensemble d'un circuit.

À mesure que les charges de travail quantiques se sophistiquent, les développeurs ont de plus en plus besoin de pouvoir adapter les stratégies d'exécution et d'atténuation à des régions spécifiques d'un circuit. Le diagramme suivant présente plusieurs outils clés abordés dans cette leçon et montre où ils s'insèrent dans un workflow typique.

Le modèle d'exécution dirigée répond au besoin d'un contrôle modulaire de l'exécution et intègre bon nombre de ces outils.
Modèle d'exécution dirigée
Plutôt que de prendre des décisions d'exécution implicites, le modèle d'exécution dirigée suit des directives fournies par l'utilisateur. Cette approche améliore la transparence et facilite l'inspection et le débogage de workflows complexes. Parmi les principales caractéristiques de ce modèle :
-
Configuration par couche via des régions de circuit étiquetées
-
Identification des couches uniques et répétées pour un apprentissage du bruit efficace
-
Workflows d'exécution par lots
-
Post-traitement structuré
-
Intégration étroite avec des addons tels que les shaded lightcones
Le modèle repose sur deux composants clés :
-
Samplomatic, qui définit les recettes d'exécution
-
Executor, qui exécute ces recettes et retourne des échantillons
La plupart des workflows qui utilisent Executor peuvent aussi être implémentés avec Sampler, car les deux produisent in fine des échantillons. Le principal avantage d'Executor est l'efficacité. Des tâches telles que la génération de configurations de twirling sont souvent beaucoup plus rapides dans l'environnement near-time côté serveur que sur le client. Estimator et Sampler restent pris en charge et peuvent rester le choix le plus pratique pour de nombreuses charges de travail.
Avant l'exécution, cependant, tu dois construire et préparer un circuit. Qiskit fournit plusieurs addons qui aident à la génération, à la simulation et à l'optimisation de circuits. Pour plus d'informations sur l'un des outils suivants, suis les liens.
Construire des circuits quantiques
Pour certaines applications ou de nouvelles approches, les utilisateurs doivent déterminer comment faire correspondre leur problème à un circuit quantique. Dans de nombreux domaines, cependant, les addons Qiskit peuvent automatiser des parties importantes de ce processus.
Optimization mapper
Optimization mapper aide à exprimer des problèmes d'optimisation classiques sous des formes adaptées aux algorithmes quantiques. Les fonctionnalités principales comprennent :
-
Construire des fonctions objectif et des contraintes
-
Convertir des problèmes en formulations QUBO
-
Générer des représentations sous forme d'hamiltonien ou d'opérateur

Fermionic mapper
Fermionic mapper convertit des opérateurs fermioniques en opérateurs de qubits adaptés au matériel quantique. Il prend en charge des correspondances telles que Jordan-Wigner, qui convertit des opérateurs sur des fermions indiscernables en opérateurs de Pauli sur des qubits discernables, tout en préservant les statistiques fermioniques. Cet addon est utile pour les applications de chimie quantique et de science des matériaux.
Les deux addons précédents se concentrent sur la correspondance initiale entre la structure d'un problème et un circuit quantique. Il est tout aussi important, cependant, de faire correspondre efficacement l'évolution temporelle d'un processus à un circuit quantique et d'optimiser un circuit en réduisant sa profondeur. Les prochains addons traitent ces tâches.
Formules multi-produits (MPF)
Les formules multi-produits améliorent la précision des simulations d'évolution temporelle quantique en combinant plusieurs approximations. Concrètement, tu crées des circuits avec différents nombres de pas de Trotter, afin de pouvoir utiliser une combinaison pondérée des résultats des circuits. Pour une précision cible donnée, MPF peut souvent utiliser des circuits moins profonds que les méthodes de Trotter standard. Le coût est que tu dois exécuter plusieurs circuits et combiner leurs résultats de façon classique.

AQC-Tensor
AQC-Tensor effectue une compilation quantique approchée à l'aide de méthodes de réseaux de tenseurs. Un cas d'usage courant consiste à remplacer une partie d'un circuit profond par une approximation variationnelle moins profonde. Le circuit obtenu peut atteindre une précision similaire avec une profondeur nettement moindre.
Transpilation
Tu as déjà utilisé la transpilation de nombreuses fois dans ce cours. Tu sais qu'une fois un circuit abstrait construit, il doit être préparé pour l'exécution sur le matériel. Cependant, nous n'avons pas encore exploré en détail les multiples étapes de la transpilation.
Les principales étapes de la transpilation comprennent :
-
Layout : faire correspondre les qubits logiques aux qubits physiques
-
Traduction : réécrire les opérations à l'aide du jeu de portes natif du backend
-
Routage : insérer et optimiser les opérations SWAP requises par la connectivité du matériel
Ces processus sont interdépendants. Par exemple, le layout doit minimiser la profondeur même après la prise en compte du routage. Le layout doit aussi éviter les qubits et les connexions les plus sujets aux erreurs. Ces étapes sont souvent automatisées, mais les utilisateurs avancés peuvent choisir de spécifier des layouts personnalisés ou d'autres contraintes si nécessaire.
Pour en savoir plus sur la transpilation, consulte le guide Introduction à la transpilation.
Vérifie ta compréhension
Observe le circuit quantique suivant et suppose que tu dois l'exécuter sur un ordinateur quantique à disposition heavy-hex, dont une partie est montrée. (a) Propose une correspondance entre les numéros de qubits du circuit abstrait et ceux de l'ordinateur quantique physique qui minimise le nombre de portes SWAP requises. (b) Ton choix est-il unique, ou pourrait-il y avoir d'autres choix tout aussi bons ? (c) Même si ton choix est le seul layout optimal pour réduire les portes SWAP, quelles raisons peuvent amener le transpileur à choisir une correspondance différente ?

Réponse
(a) Il peut y avoir de nombreuses réponses correctes, mais remarque que seul le qubit abstrait 0 a des portes intriquantes (à deux qubits) avec trois voisins. Tous les autres participent à des opérations à deux qubits avec seulement deux voisins. Ce circuit peut être mis en correspondance avec une topologie heavy-hex sans aucune porte SWAP. Tout layout qui y parvient est acceptable. En utilisant pour désigner le qubit abstrait zéro et pour le qubit transpilé zéro, un tel layout est :
(b) Ce layout n'est pas unique. De nombreux autres layouts évitent totalement les portes SWAP. Un autre exemple est :
(c) Parfois, un qubit spécifique est plus sujet aux erreurs que la plupart des autres sur la puce. De plus, certaines connexions entre qubits sont plus sujettes aux erreurs que d'autres. Le transpileur essaie de trouver un layout qui évite les portes SWAP inutiles, mais qui utilise aussi les qubits et les connexions de plus haute fidélité disponibles sur l'ordinateur quantique sélectionné.
Réduire les effets du bruit et des erreurs
Plusieurs addons Qiskit se concentrent spécifiquement sur la réduction de l'impact du bruit et des imperfections du matériel.
Rétropropagation d'opérateurs et transformations de circuits tenant compte du bruit
Nous avons déjà abordé la propagation d'opérateurs dans le contexte des contrôles de Pauli cohérents en correction d'erreurs. Cependant, la propagation d'opérateurs est utile plus généralement. Il y a deux grandes manières d'utiliser la propagation d'un opérateur à travers un circuit quantique : (1) absorber les dernières couches d'un circuit quantique dans les observables mesurées, et (2) prendre en compte les effets probables des erreurs dans le circuit et les compenser en mesurant une observable différente. Les deux prochains outils utilisent ces approches.
Rétropropagation d'opérateurs
Operator backpropagation réduit la profondeur du circuit en absorbant des portes de la fin d'un circuit dans l'observable mesurée. Par exemple, considère le circuit suivant.
Ce circuit contient des couches de rotation et d'intrication qui paraissent non triviales, suivies d'une échelle de portes CNOT et d'une mesure de Z sur le qubit 5. Ce circuit a une profondeur à deux qubits de 7. Cette profondeur est celle avant la transpilation. En pratique, tu appliques généralement la rétropropagation après la transpilation, mais cet exemple n'a qu'une visée pédagogique. Rappelle-toi qu'il existe des règles pour propager une observable au-delà d'une porte. En particulier, lorsqu'une porte CNOT a pour cible et pour contrôle , une observable sur devient lorsqu'elle est propagée en arrière au-delà de la porte CNOT : . Dans ce circuit d'exemple, si tu propages l'observable en arrière à travers toute l'échelle de portes CNOT, tu obtiens l'observable , ou, en notation Qiskit standard, simplement . Si nous mesurons cette observable plutôt que seulement , nous pouvons supprimer toute l'échelle de portes CNOT, ce qui réduit la profondeur à deux qubits de 7 à 2. Cette observable ne nécessite toujours une mesure que dans une seule base sur chaque qubit, donc elle n'augmente pas le nombre de shots dont nous avons besoin. Ce n'est pas toujours le cas. En général, des observables plus compliquées nécessitent davantage de shots, et parfois davantage de mesures dans des bases différentes.
La stratégie globale de la rétropropagation d'opérateurs comprend les étapes suivantes :
-
Raccourcir le circuit exécuté
-
Remplacer l'observable d'origine par une observable étendue
-
Échanger de la profondeur de circuit contre des besoins d'échantillonnage accrus
Le circuit précédent est un exemple évident où la rétropropagation est avantageuse. En général, cependant, il n'est pas facile d'identifier les circuits qui bénéficient le plus de la rétropropagation. Pour décider quand l'utiliser, vérifie quelle profondeur tu peux retirer de ton circuit et mets cette réduction en balance avec l'augmentation des besoins d'échantillonnage.
Absorption de bruit propagé (PNA)
Propagated noise absorption est structurellement similaire à la rétropropagation d'opérateurs. Cependant, au lieu de propager un opérateur en arrière à travers les portes idéales d'un circuit, PNA incorpore un modèle de bruit appris et propage directement les effets du bruit dans l'observable. PNA fait ce qui suit :
-
Apprend le comportement du bruit à partir du matériel
-
Propage le modèle de bruit à travers le circuit
-
Produit une observable modifiée qui compense le bruit des portes
Lorsque l'observable modifiée est mesurée sur du matériel bruité, les valeurs moyennes obtenues approchent mieux le résultat idéal sans bruit. PNA comporte deux types de surcoût. D'abord, tu dois apprendre le modèle de bruit, ce qui nécessite d'exécuter des circuits supplémentaires. Ensuite, PNA peut produire des observables plus compliquées, ce qui peut augmenter les besoins d'échantillonnage.
Découpage de circuits
Circuit cutting partitionne un grand circuit en sous-circuits plus petits qui peuvent s'exécuter indépendamment. Tu effectues ensuite suffisamment de mesures pour recombiner les résultats. Le découpage de circuits fait ce qui suit :
-
Réduit les besoins en matériel
-
Permet des calculs plus grands que le nombre de qubits disponibles (circuits plus larges)
-
Aide à contourner les limites de profondeur et de connectivité (circuits plus profonds)
-
Reconstruit le résultat d'origine par post-traitement classique
Samplomatic
Bon nombre des techniques des sections précédentes complètent d'autres méthodes de suppression et d'atténuation abordées tout au long de ce cours, notamment :
-
Dynamical decoupling
-
Pauli twirling
-
M3
-
TREX
-
Extrapolation à bruit nul (ZNE)
-
Annulation probabiliste des erreurs (PEC)
Dans de nombreux workflows, tu peux appliquer différentes techniques à différentes régions d'un même circuit. Comme nous l'avons vu, bon nombre de ces techniques s'accompagnent aussi d'un surcoût quantique. Nous avons donc parfois besoin d'un contrôle fin et détaillé de l'apprentissage du bruit, de l'échantillonnage et de l'application des séquences de twirling. Ce sont là quelques-unes des motivations de Samplomatic.
Samplomatic est une bibliothèque open source qui permet des workflows personnalisés d'échantillonnage, de randomisation et d'atténuation des erreurs.
Sa première tâche est d'analyser un circuit et de le diviser en régions étiquetées, ou boîtes. Ces boîtes servent deux objectifs :
-
Elles partitionnent visuellement le circuit.
-
Elles créent des régions indexées qui peuvent être configurées indépendamment.
Les utilisateurs peuvent attacher des annotations qui décrivent comment chaque boîte doit être traitée pendant l'exécution. Voici quelques exemples :
-
Appliquer le twirling de Pauli à toutes les boîtes
-
Appliquer le twirling uniquement à certaines boîtes sélectionnées
-
Utiliser différents groupes de twirling dans différentes régions
-
Injecter du bruit appris dans des couches spécifiques
-
Personnaliser les stratégies de mitigation à un niveau très fin
Samplomatic identifie aussi les régions encadrées répétées. Comme des couches identiques présentent généralement des caractéristiques de bruit similaires, tu n'as besoin d'effectuer l'apprentissage du bruit qu'une seule fois pour chaque couche unique.
Sorties de Samplomatic
Samplomatic produit deux objets principaux :
-
Circuit modèle
-
Samplex
Le circuit modèle est un circuit encadré, transpilé et paramétré, prêt à être exécuté. Le samplex contient toutes les informations nécessaires pour générer et traiter les variantes du circuit. Le contenu du samplex comprend :
-
Valeurs des paramètres pour les circuits paramétrés
-
Sélections d'aléatoirisation
-
Distributions d'échantillonnage
-
Informations de post-traitement
-
Métadonnées d'exécution supplémentaires
Formellement, un samplex est une distribution de probabilité sur les paramètres d'un circuit modèle, accompagnée des informations auxiliaires nécessaires à l'exécution et au post-traitement. Un avantage pratique important est que le circuit modèle et le samplex sont tous deux créés localement côté client. Tu peux donc les inspecter, les valider et les déboguer avant d'utiliser la moindre ressource matérielle.
Samplomatic offre de nombreux avantages, notamment un contrôle fin de l'allocation adaptative des shots et de l'aléatoirisation. Il présente aussi des avantages logistiques, comme des workflows de post-traitement structurés. L'un des plus importants est la réutilisation des informations de bruit apprises à travers des couches identiques, ce qui peut économiser une quantité significative de temps de calcul quantique pendant l'apprentissage du bruit.
Lightcones ombrés
Avant de décider où appliquer des techniques de mitigation coûteuses, il est utile d'identifier les régions d'un circuit qui comptent le plus pour l'observable mesurée. Ce besoin motive l'addon shaded lightcones. L'idée de lightcone vient de la relativité, où les relations causales sont limitées par la vitesse finie à laquelle l'information peut se propager.

Un concept similaire s'applique aux circuits quantiques.
Considère un grand circuit dans lequel seule une observable de faible poids présente un intérêt. Une observable de faible poids n'agit de façon non triviale que sur quelques qubits. Les observables de faible poids sont intéressantes pour de nombreuses raisons. Par exemple, elles peuvent représenter les éléments suivants :
-
Des termes individuels au sein d'un hamiltonien plus grand
-
Une région d'interaction localisée
-
Des informations collectées sur un petit ensemble de qubits ancillaires
-
D'autres observables qui n'impliquent que quelques qubits
Toutes les erreurs du circuit ne peuvent pas affecter le résultat de la mesure. C'est particulièrement vrai pour les erreurs de Pauli, ou toute erreur pouvant être modélisée comme un ensemble d'opérations de Pauli. Par exemple, observe le circuit suivant :

Une erreur de Pauli sur le qubit 0 dans la dernière couche ne peut pas influencer la mesure du qubit 6, car aucune porte de liaison ne peut propager l'erreur du qubit 0 au qubit 6. Note que cet argument ne s'applique pas à certaines erreurs non unitaires. Par exemple, une transition de type T1 vers l'état fondamental sur le qubit 0 fait s'effondrer le qubit 0 vers un état de la base computationnelle. Si les qubits 0 et 6 étaient auparavant intriqués (comme c'est le cas dans ce circuit), l'erreur non unitaire sur le qubit 0 peut affecter le qubit 6. La discussion suivante se concentre sur les erreurs qui peuvent être représentées comme des opérations de Pauli, ou comme des mélanges probabilistes d'opérations de Pauli.
Dans la dernière couche, seule une erreur de Pauli sur le qubit 5 ou le qubit 6 peut affecter directement la mesure du qubit 6.
Dans la couche intriquante précédente, les qubits 5 et 6 sont intriqués avec les qubits 4 et 7, respectivement. Par conséquent, dans cette couche intriquante ou juste avant, une erreur de Pauli sur n'importe lequel de ces quatre qubits peut affecter la mesure ultérieure. Tu peux continuer à remonter dans le circuit pour trouver le sous-ensemble de portes et de qubits causalement connectés à la mesure. Cet ensemble causal forme une région en forme de cône dans l'espace (qubits) et le temps (couches), ce qui donne naissance au terme lightcone. La forme exacte de la région varie d'un circuit à l'autre. Comme cette analyse dépend de la connectivité matérielle et du placement des portes, elle est surtout utile après la transpilation, le routage et l'optimisation du layout.
Au-delà de la connectivité causale
Les lightcones ombrés étendent cette idée en considérant aussi quels types d'erreurs comptent.
Par exemple, note ce qui suit :
-
Une erreur Z immédiatement avant une mesure en base Z n'a aucun effet sur le résultat de la mesure.
-
Une erreur X immédiatement avant une mesure en base Z peut changer radicalement le résultat.
Certains types d'erreurs méritent donc plus d'efforts de mitigation que d'autres. Cette distinction peut réduire considérablement le surcoût de techniques comme PEC. En pratique, l'addon génère des analyses de sensibilité distinctes pour chacun des types d'erreurs suivants :
-
X errors
-
Z errors
-
Erreurs Y (ou XZ à une phase près)
Cette sensibilité aux erreurs a généralement un aspect différent pour chaque type d'erreur, car des erreurs causalement connectées différentes ont des impacts différents sur la mesure. Note aussi que la sensibilité change tout au long du circuit. Une erreur X immédiatement avant la mesure peut être très dommageable, alors qu'une erreur survenue plusieurs couches plus tôt peut avoir un effet plus faible après s'être propagée à travers un état fortement intriqué.

Les lightcones ombrés quantifient cette différence en attribuant une valeur de sensibilité aux erreurs potentielles dans tout le circuit.
Les cartes obtenues indiquent ce qui suit :
-
Où les erreurs comptent
-
Quels types d'erreurs comptent
-
Avec quelle force elles influencent l'observable finale
Les lightcones ombrés ne mitigent pas les erreurs eux-mêmes, mais ils peuvent aider à concentrer l'effort de mitigation là où il apporte le plus grand bénéfice.
Apprendre et injecter du bruit
Une fois qu'un circuit a été construit, optimisé et annoté, deux tâches complémentaires restent à accomplir : apprendre le bruit, et utiliser le modèle de bruit (par exemple pour injecter du bruit ou propager ses effets).
NoiseLearnerV3
NoiseLearnerV3 est l'outil actuel pour l'apprentissage du bruit. L'ancienne interface NoiseLearner acceptait des circuits entiers et produisait des modèles de bruit de Pauli-Lindblad. NoiseLearnerV3 opère au contraire directement sur des instructions de circuit encadrées. En résumé, NoiseLearnerV3 fait ce qui suit :
-
Accepte des collections de couches de circuit étiquetées
-
Réutilise les informations des couches répétées
-
Prend en charge l'apprentissage du bruit de mesure
-
Prend en charge le post-traitement des modèles appris
-
Permet les workflows d'injection et de mise à l'échelle du bruit
Cette conception s'aligne étroitement avec le workflow orienté couches de Samplomatic. En particulier, NoiseLearnerV3 utilise les méthodes suivantes pour chaque ensemble d'instructions :
-
Apprentissage de Pauli-Lindblad pour les opérations de portes
-
Apprentissage basé sur TREX pour les mesures
Tu peux ensuite utiliser un modèle de bruit appris dans de nombreuses méthodes que nous avons déjà abordées. Par exemple, rappelle-toi que l'extrapolation à bruit nul (ZNE) avec repliement de portes peut conduire à des circuits d'une profondeur ingérable. La méthode alternative pour mettre le bruit à l'échelle dans ce cas consistait à échantillonner à partir d'un modèle de bruit connu, ce qui augmente effectivement le niveau de bruit, même par des facteurs non entiers. Cette méthode, l'amplification probabiliste des erreurs (PEA), est un bon exemple de la façon dont tu peux utiliser un modèle de bruit pour mitiger les erreurs. Un bon modèle de bruit est aussi nécessaire pour l'annulation probabiliste des erreurs (PEC) et l'absorption du bruit propagé (PNA).
En bref, avec un modèle de bruit de haute qualité, le bruit devient une ressource programmable plutôt qu'une simple source d'erreurs.
Lightcones ombrés versus NoiseLearnerV3
NoiseLearnerV3 et SLC sont étroitement liés, mais ils prennent des entrées distinctes et répondent à des questions différentes. SLC détermine où concentrer l'effort de mitigation. NoiseLearnerV3 caractérise le bruit réel présent dans ces régions. Ces processus impliquent aussi des types de surcoût différents. Le tableau suivant résume ces différences.
| Lightcones ombrés | NoiseLearnerV3 | |
|---|---|---|
| Objectif | Identifie où la mitigation compte | Apprend comment les erreurs se comportent |
| Surcoût | Principalement un surcoût classique | Nécessite des exécutions sur le matériel |
| Sortie | Produit des cartes de sensibilité | Produit des descriptions de canaux de bruit |
| Entrée | Utilise la structure du circuit et la propagation des opérateurs | Utilise la structure du circuit et des données expérimentales du matériel |
Exécution avec Executor et le runtime
Executor réalise l'étape finale d'exécution. Il peut opérer sur l'une ou l'autre des entrées suivantes :
-
Un circuit modèle et un samplex générés par Samplomatic
-
Un circuit quantique conventionnel sans Samplomatic
Grâce à cette flexibilité, tu peux adopter autant ou aussi peu de composants du workflow d'exécution dirigée que nécessaire.
Executor travaille en étroite collaboration avec Samplomatic, qui gère les choix d'aléatoirisation, l'allocation des shots, les sélections d'injection de bruit et les métadonnées d'exécution associées, comme décrit précédemment.
Pour des exemples pratiques du modèle d'exécution dirigée, consulte le guide Modèle d'exécution dirigée ainsi que les tutoriels et la documentation des addons Qiskit sur IBM Quantum® Platform.
Conclusion
Les workflows quantiques modernes reposent de plus en plus sur un ensemble d'outils complémentaires plutôt que sur une seule primitive d'exécution.
Ces outils prennent en charge chaque étape du workflow :
-
Mappage du problème
-
Construction de circuits
-
Transpilation et optimisation
-
Suppression des erreurs
-
Mitigation des erreurs
-
Apprentissage du bruit
-
Exécution structurée
-
Post-traitement
Ensemble, des outils tels que Samplomatic, Executor, NoiseLearnerV3, les lightcones ombrés, l'absorption du bruit propagé, la découpe de circuits et AQC-Tensor offrent beaucoup plus de contrôle que les modèles d'exécution antérieurs.
Le domaine continue d'évoluer rapidement. À mesure que les processeurs quantiques deviennent plus grands et plus connectés, ces techniques joueront probablement un rôle de plus en plus important pour atteindre un avantage quantique utile, et à terme pour s'intégrer de façon fluide aux workflows de calcul quantique tolérant aux fautes.
