Qu’est-ce que l’estimateur de ressource Microsoft Quantum ?

Les ordinateurs quantiques sont sujets au bruit et aux erreurs, car les qubits individuels sont très sensibles aux changements dans les conditions environnementales. L’informatique quantique tolérante aux pannes nécessite des algorithmes qui utilisent des codes de correction d’erreur quantique (QEC). Ces codes créent et utilisent des qubits logiques à partir de collections de qubits physiques individuels. Les qubits logiques corrigent les erreurs pendant qu’un programme s’exécute sur un ordinateur quantique afin que les calculs quantiques puissent fournir des résultats fiables.

L’estimateur de ressources Microsoft Quantum est un outil open source dans la bibliothèque Microsoft Quantum Development Kit (QDK) Python qui vous permet d’estimer les ressources nécessaires pour exécuter un programme quantique sur un ordinateur quantique tolérant aux pannes. Les codes de correction d’erreur augmentent le nombre de qubits physiques et le temps d’exécution d’un algorithme quantique. L’estimateur de ressources détermine le nombre de qubits physiques et le temps nécessaire pour qu’une application quantique s’exécute sur un matériel spécifique avec un schéma de correction d’erreur donné.

Avec l’estimateur de ressources quantiques, vous pouvez comparer les technologies qubit, les schémas de correction d’erreurs quantiques et les technologies matérielles pour comprendre l’impact sur les ressources nécessaires pour exécuter un programme quantique.

Comment fonctionne l’estimateur de ressources quantiques ?

L’estimateur de ressources est conçu autour d’une approche de modélisation en couches pour être flexible et composable. Vous construisez des modèles pour l’application, le matériel et le schéma de correction des erreurs. Vous spécifiez également comment ces modèles interagissent. Tous les modèles et instructions sont indépendants les uns des autres. Vous pouvez donc combiner et comparer différentes combinaisons de modèles.

L’estimateur de ressources utilise des représentations intermédiaires pour connecter les couches. Ces représentations font partie de l’implémentation de l’estimateur et ne sont pas requises pour une utilisation classique. Vous interagissez avec l’estimateur de ressources via des langages de programmation standard et des modèles de configuration de haut niveau.

Diagramme de vue d’ensemble du fonctionnement de l’estimateur de ressources Microsoft Quantum. Le diagramme montre que vous commencez par un modèle d’application et un modèle d’architecture. Ensuite, vous créez des traces et des isas à partir des modèles. Ensuite, vous explorez l’espace de conception et trouvez une solution pareto frontière optimale.

L’estimateur de ressources quantiques nécessite quatre entrées :

  • Modèle d’application qui décrit le calcul quantique, tel qu’un programme Q#
  • Modèle d’architecture qui décrit le matériel quantique target, par exemple des qubits supraconducteurs à portes logiques avec des temps de porte et des taux d’erreur spécifiques
  • Un modèle de correction des erreurs et de distillation en usine correspondant au modèle d’architecture matérielle
  • Un budget d’erreur, qui est le taux d’erreur maximal autorisé pour les opérations sur des qubits logiques

À partir du modèle d’application, l’estimateur de ressource génère une ou plusieurs traces d’applications. Ces traces sont des représentations compactes des séquences d’instructions appliquées aux qubits. À partir du modèle d’architecture et du modèle de correction d’erreurs, l’estimateur de ressources dérive un jeu d’instructions physiques (ISA) qui spécifie les temps d’opération, les coûts de qubit et les taux d’erreur.

La couche application et la couche d’architecture sont converties en transformations configurables. Les transformations de traçage issues de la couche applicative incluent des décompositions de portes et des routines d’agencement. Les transformations ISA de la couche d’architecture incluent des codes de correction d’erreurs quantiques et des fabriques d’état magiques pour créer des ensembles d’instructions logiques haute fidélité à partir des primitives physiques de l’architecture.

L’estimateur de ressources explore un espace de conception combinatoire volumineux, car il existe de nombreux choix de conception valides à chaque couche. Par exemple, différentes distances de code QEC, différents protocoles d’usine et différents paramètres de décomposition. L’estimateur de ressources explore chaque combinaison de trace d’application et d’architecture ISA pour évaluer les nombres de qubits physiques, les temps d’exécution et les taux d’erreur cumulés pour chaque combinaison. Les résultats sont filtrés jusqu’à une frontière pareto-optimale, qui est l’ensemble optimal de configurations où aucun autre résultat n’est simultanément mieux dans les qubits et le runtime tout en restant dans le budget d’erreur spécifié.

Prise en charge du langage d’application

L’estimateur de ressources accepte les applications quantiques dans plusieurs langages de programmation et formats intermédiaires suivants :

  • Q#
  • Cirq
  • OpenQASM
  • QIR
  • Comptages logiques
  • Applications personnalisées

Avec QIR et la possibilité de créer des applications personnalisées, l’estimateur de ressources est indépendant du langage et prend en charge un large éventail d’outils de programmation quantique. Les applications dans différents frameworks sont analysées à l’aide du même pipeline d’estimation. Vous pouvez également créer des applications personnalisées en dehors de ces frameworks pris en charge.

Prise en charge matérielle de l’architecture

Les estimations de ressources dépendent des hypothèses relatives au target matériel et au code de correction des erreurs qui protègent les opérations logiques contre les erreurs. L’estimateur de ressources inclut des modèles intégrés pour les architectures courantes et les schémas de correction des erreurs. Vous pouvez également définir vos propres modèles de correction de matériel et d’erreur personnalisés pour explorer des architectures hypothétiques, évaluer les technologies émergentes ou étudier la façon dont les modifications apportées aux paramètres physiques affectent les exigences en matière de ressources pour exécuter un programme.

Comparer les estimations et visualiser les résultats

L’estimateur de ressources vous permet d’estimer les ressources nécessaires pour exécuter le même algorithme quantique pour différentes configurations de modèles d’architecture target . Vous pouvez tracer les résultats de chaque configuration pour comparer les résultats. Lorsque vous comparez des estimations, vous pouvez comprendre comment l’architecture qubit, le schéma QEC et d’autres paramètres matériels ont un impact sur les ressources globales requises pour exécuter votre programme.

Prise en main de l’estimateur de ressources

Pour commencer, consultez Comment installer et utiliser l’estimateur de ressource Quantum Microsoft.

Pour plus d’informations et d’exemples de code, consultez les exemples d’estimateur de ressources quantiques dans le référentiel QDK sur GitHub.