Bannière web du blog
Accueil - Logiciels - Qadence, une bibliothèque conviviale pour la conception de programmes quantiques numériques-analogiques

Qadence, une bibliothèque conviviale pour la conception de programmes quantiques numériques-analogiques

PASQAL lance Qadence, un logiciel de programmation Python convivial conçu pour mettre en œuvre des algorithmes quantiques analogiques, numériques-analogiques ou numériques, adaptés aux charges de travail d'apprentissage automatique quantique.

L'informatique quantique a incroyablement progressé au cours de la dernière décennie. Aujourd'hui, des unités de traitement quantique mettant en œuvre des dizaines, voire des centaines de qubits sont couramment mises à la disposition des centres de recherche et des entreprises.

Au départ, les avancées dans le domaine des technologies quantiques étaient principalement dues à l'informatique quantique numérique. L'approche numérique consiste à mettre en œuvre des algorithmes sous forme de séquences d'opérations quantiques discrètes sur un, deux ou plusieurs bits quantiques (qubits), appelés portes quantiques. Malgré l'universalité de cette méthode, elle présente un inconvénient : l'informatique quantique numérique nécessite des milliers de portes pour mettre en œuvre des programmes capables de résoudre des problèmes réels, mais nous ne pouvons exécuter que quelques séquences avant que les résultats ne deviennent peu fiables. Cela est dû au fait que les portes individuelles sont bruyantes et que les erreurs s'accumulent. Des ordinateurs quantiques numériques fiables, mettant en œuvre des applications industrielles, ne seront pas disponibles de sitôt.

C'est pourquoi une autre méthode a récemment gagné du terrain dans ce domaine : l'informatique quantique analogique. Dans le mode analogique, les algorithmes sont conçus pour fonctionner sur tous les qubits du registre, de sorte que le système quantique évolue continuellement de manière contrôlée. La méthode analogique est plus simple et moins sujette aux erreurs, car elle peut réaliser en une seule étape de calcul ce qui, en mode numérique, nécessiterait des milliers d'étapes.

Et, bien sûr, combiner le meilleur des deux mondes est également possible et pratique pour la plupart des algorithmes. Le paradigme de l'informatique quantique numérique-analogique combine des opérations quantiques à quotient unique (portes à quotient unique) avec des blocs d'opérations en mode analogique. Cette méthode combine la propriété d'universalité, associée au mode numérique, avec une réduction du nombre de portes grâce aux blocs analogiques.

Tout en accumulant de l'expérience dans la conception et l'exécution d'algorithmes quantiques analogiques et numériques-analogiques, les scientifiques de PASQAL ont constaté un manque d'outils de programmation quantique conviviaux et efficaces pour simplifier l'exécution de programmes analogiques et numériques-analogiques à la fois sur des simulateurs et sur des dispositifs quantiques réels tels que les processeurs d'atomes neutres de PASQAL.

Pour combler cette lacune, nous avons utilisé l'approche "full-stack" pour créer des outils qui soutiennent les capacités analogiques et numériques-analogiques des processeurs quantiques à atomes neutres. Pulser Studio - la première plateforme de programmation sans code pour atomes neutres - est le dernier ajout à cette pile. Avant Pulser Studio, nous avons développé Pulser, une bibliothèque Python open-source pour la programmation d'unités de traitement quantique (QPU) d'atomes neutres au niveau de l'impulsion.

Cette année, nous lançons Qadence, un logiciel de programmation Python convivial conçu pour mettre en œuvre des algorithmes quantiques analogiques et numériques-analogiques adaptés aux charges de travail de l'apprentissage automatique quantique. Bien qu'il existe d'autres excellents progiciels pour l'apprentissage machine quantique, tels que Penny Laneaucun d'entre eux ne se concentre spécifiquement sur les algorithmes quantiques analogiques et numériques.

Caractéristiques de Novel Qadence

Nous avons conçu Qadence pour que les algorithmes soient structurés en "blocs" et que la programmation soit aussi amusante et facile que la construction de Legos. Chaque bloc peut représenter une porte quantique unique ou une composition de portes. Les grands blocs sont des compositions de blocs plus petits qui peuvent également être composés lors de la création du circuit quantique. Cette approche s'inspire de la bibliothèque quantique Yao pour la construction de programmes quantiques.

Structure des blocs de Qadence.
La liste suivante résume les principales caractéristiques du roman Qadence
  • Bibliothèque conviviale et open-source conçue pour implémenter des programmes quantiques analogiques et numériques-analogiques, en utilisant une interface basée sur des blocs inspirée de Yao.
  • Fonctionne avec systèmes de qubits en interaction utilisant des configurations de qubits arbitraires.
  • Tenir compte des interactions complexes entre les qubits, reflétant plus fidèlement la réalité des modalités avancées du matériel quantique, sans nécessiter de connaissances approfondies du système quantique sous-jacent.
  • Passer en douceur des simulations à un dispositif réel tel que les ordinateurs quantiques à atomes neutres PASQAL dès qu'ils seront généralement disponibles dans le courant de l'année.
  • La différenciation automatique des programmes quantiques construits sur PyTorch les rend appropriés pour les charges de travail d'apprentissage machine quantique. La mise en œuvre efficace des règles de décalage des paramètres ouvre la voie à l'exécution de QML numérique-analogique sur des dispositifs réels.
  • Compile certains types de programmes analogiques ou numériques-analogiques de manière à ce qu'ils soient aussi efficaces à émuler sur un ordinateur classique que les programmes purement numériques correspondants, ce qui améliore grandement l'efficacité par rapport à des progiciels établis tels que QuTiP.
  • Il est nativement intégré aux deux autres projets open-source maintenus par PASQAL:
  1. PyQTorch, un émulateur rapide pour les programmes numériques et numériques-analogiques construit au-dessus de PyTorch. PyQTorch permet une différenciation rapide des programmes quantiques en fonction de leurs paramètres.
  2. Pulser, une interface à niveau d'impulsion pour la programmation de dispositifs à atomes neutres avec interaction de qubits intégrée.

Apprentissage automatique quantique avec Qadence

L'apprentissage automatique quantique (QML) est l'un des sujets de recherche et de développement les plus brûlants de l'informatique quantique moderne. À l'adresse PASQAL, nous faisons progresser la recherche sur l'apprentissage automatique quantique et les applications industrielles sous de nombreux angles différents, allant de l'apprentissage automatique des graphes à la résolution d'équations différentielles avec des réseaux neuronaux quantiques, en passant par la modélisation générative à l'aide de l'échantillonnage quantique. C'est pourquoi QML est la principale application cible de Qadence.

Avec Qadence, le programmeur peut gérer les paramètres des circuits quantiques entraînables des modèles d'une manière très efficace. Qadence propose une mise en œuvre efficace et totalement générale des règles de décalage des paramètres, ouvrant la voie à l'exécution de QML numérique-analogique sur des dispositifs réels. [Une autre caractéristique essentielle est qu'il fournit un moyen efficace de différencier un modèle quantique par rapport à ses paramètres, ce qui est crucial pour la mise en œuvre des algorithmes QML. À cette fin, Qadence est intégré de manière transparente à la célèbre bibliothèque d'apprentissage profond bibliothèque d'apprentissage profond Pytorch pour la différenciation automatique. Toutes ces fonctionnalités et d'autres encore aident le programmeur, par exemple, à trouver les paramètres qui minimisent la sortie d'un modèle quantique en seulement quelques lignes de code, à la fois sur les émulateurs et le matériel quantique.

Les versions améliorées de Qadence incluront des canaux de bruit, des techniques d'atténuation des erreurs adaptées explicitement aux systèmes de qubits en interaction, et des modalités d'émulation numérique-analogique avancées. L'objectif ultime de Qadence est de devenir la norme pour l'exécution de programmes numériques-analogiques en fournissant une combinaison d'interface simplifiée, d'émulation très précise de plateformes quantiques avec des qubits en interaction, et un passage transparent de cette émulation à du matériel quantique réel capable d'exécuter des programmes numériques-analogiques.

Ce blog vous présente brièvement le monde des capacités offertes par Qadence. Pour commencer ou vous plonger dans les détails techniques de Qadence et la documentation du package, nous vous invitons à suivre ce lien. Pour tout retour d'expérience ou demande de fonctionnalité, veuillez ouvrir un problème ici.

Références

  • M. A. Nielsen et I. L. Chuang.(2010) Quantum computation and quantum information. Cambridge university press.
  • Dodd et al. (2002). Calcul et simulation quantiques universels utilisant n'importe quel hamiltonien enchevêtré et des unités locales. Phys. Rev. A(65) : 040301.
  • Parra-Rodriguez et al. (2020). Digital-Analog Quantum Computation. Phys. Rev. A(101) : 022305.
  • Schuld, P. (2021). Machine learning on Quantum Computers. Springer Nature.
  • Schuld et al. (2019). Evaluating analytic gradients on quantum hardware, Phys. Rev. A(99) : 032331.
  • Kyriienko et al. (2021). Règles générales de différenciation des circuits quantiques. Phys. Rev. A(104) : 052417.

Vous souhaitez en savoir plus sur ces techniques sur un ordinateur quantique à atomes neutres ? Familiarisez-vous avec l'informatique quantique, notre plateforme et nos algorithmes avec Découverte quantique.