Skip to main content
IBM Quantum Platform

Configurer la gestion du bruit avec Estimator

  • Le code présenté sur cette page a été développé en tenant compte des exigences suivantes. Nous vous recommandons d'utiliser ces versions ou des versions plus récentes.

    qiskit-ibm-runtime~=0.47.0
    

Il existe plusieurs façons de gérer le bruit, généralement en recourant à diverses techniques d'atténuation et de suppression des erreurs afin d'éviter que celles-ci ne se produisent. Ces techniques entraînent généralement une surcharge liée au prétraitement. Il est donc important de trouver un juste équilibre entre la recherche de la perfection dans vos résultats et la garantie que votre travail soit achevé dans un délai raisonnable.

Estimator prend en charge les techniques de gestion du bruit suivantes. Pour plus d'informations sur chacune de ces techniques, consultez la section « Techniques d'atténuation et de suppression des erreurs ». Consultez la section « Paramètres d'erreurs personnalisés » pour savoir comment activer ces techniques.


Niveau de résilience

Ce paramètre resilience_level permet de définir le niveau de résilience à mettre en place face aux erreurs. Des niveaux plus élevés donnent des résultats plus précis, mais allongent les temps de traitement. Les niveaux de résilience permettent de définir le compromis entre coût et précision lors de l'application de la gestion du bruit à votre requête primitive. La gestion du bruit réduit les erreurs (biais) dans les résultats en traitant les sorties d'un ensemble de circuits interdépendants. Le degré de réduction de l'erreur dépend de la méthode utilisée. Le niveau de résilience fait abstraction du choix précis de la méthode de gestion du bruit afin de permettre aux utilisateurs d'évaluer le compromis coût/précision le plus adapté à leur application.

Dans cette optique, chaque niveau correspond à une ou plusieurs méthodes présentant un surcoût croissant lié à l'échantillonnage quantique, ce qui vous permet d'expérimenter différents compromis entre temps et précision. Le tableau suivant vous indique quels niveaux et méthodes correspondantes sont disponibles pour chacune des primitives.

Niveau de résilience
Description
Technique
0Aucune mesure d'atténuationAucun
1 [Par défaut]Coûts d'atténuation minimaux : atténuer les erreurs liées aux erreurs de lectureMesure par rotation TREX ( eXtinction )
2Coûts d'atténuation modérés. Cela réduit généralement le biais des estimateurs, mais ne garantit pas un biais nul.Niveau 1 + extrapolation sans bruit (ZNE) et rotation de porte
Attention :

Les niveaux de résilience sont actuellement en phase bêta; par conséquent, la charge liée à l'échantillonnage et la qualité de la solution varieront d'un circuit à l'autre. De nouvelles fonctionnalités, des options avancées et des outils de gestion seront mis à disposition au fur et à mesure. Il n'est pas garanti que des méthodes spécifiques de gestion du bruit soient mises en œuvre à chaque niveau de résilience.

Configurer l'estimateur avec des niveaux de résilience

Vous pouvez utiliser les niveaux de résilience pour définir des techniques de gestion du bruit, ou vous pouvez configurer des techniques personnalisées individuellement, comme décrit dans la section « Paramètres d'erreur personnalisés ».

Important

Toutes les options que vous spécifiez manuellement en plus du niveau de résilience s'ajoutent à l'ensemble d'options de base défini par ce niveau. Par conséquent, en principe, vous pourriez régler le niveau de résilience sur 1, puis désactiver l'atténuation des mesures, bien que cela ne soit pas recommandé.

Par exemple, si l'on règle le niveau de résilience sur 0, la fonction est désactivée zne_mitigation, mais cette valeur estimator.options.resilience.zne_mitigation = True est ignorée.

Exemple

Le code suivant active les fonctions ZNE, TREX et la rotation des portes en définissant resilience_level 2.

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})

Paramètres personnalisés de gestion du bruit

Vous pouvez activer ou désactiver chaque méthode de gestion du bruit à l'aide des options de l'estimateur.

Note

Toutes les options ne sont pas compatibles entre elles sur tous les types de circuits. Consultez le tableau de compatibilité des fonctionnalités pour plus de détails.

Exemple

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True

print(
    f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}"
)
print(
    f">>> measurement error mitigation is turned on: "
    f"{estimator.options.twirling.enable_gates}"
)

Output:

>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True

Désactivez toutes les mesures d'atténuation des erreurs

Pour savoir comment désactiver toutes les mesures d'atténuation des erreurs, consultez la section « Désactiver toutes les mesures de suppression et d'atténuation des erreurs » du guide des options d'Estimator.


Etapes suivantes

Recommandations
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.