paint-brush
L'informatique quantique a besoin de plus d'ingénieurs logicielspar@ddri
453 lectures
453 lectures

L'informatique quantique a besoin de plus d'ingénieurs logiciels

par David Ryan11m2024/05/26
Read on Terminal Reader

Trop long; Pour lire

Explorez la pile logicielle de l'informatique quantique, des langages de programmation de haut niveau jusqu'aux systèmes matériels (et... démarrez votre carrière quantique).
featured image - L'informatique quantique a besoin de plus d'ingénieurs logiciels
David Ryan HackerNoon profile picture
0-item

Cet article s'inspire du besoin de davantage d'ingénieurs logiciels en informatique quantique. Sans parler des autres développeurs, UX Designers, testeurs QA, chefs de produit et tout le reste des talents qui permettent d'expédier un vrai produit à de vrais clients. Surtout les produits Deep Tech et Frontier Tech comme l’informatique quantique.


Ces produits et les équipes qui tentent de les créer sont soumis à un voyage long et difficile, de « la science à la technologie, en passant par l'ingénierie et le produit » . Une série de changements de phase qui concernent davantage l’évolution organisationnelle (et communautaire) qu’une simple progression linéaire à travers la préparation technologique.


Cette évolution ne se produit pas par hasard. Pour ceux d'entre nous qui travaillent dans ces équipes, nous sommes confrontés au défi de réinventer l'organisation à mesure qu'elle passe du niveau académique au technique puis à quelque chose de plus largement engagé sur le marché. Cela signifie rechercher et collaborer avec une communauté croissante de talents, ainsi que développer et développer continuellement nos propres compétences.



C'est quelque chose que j'ai abordé dans mon discours « Open Source Your Way into a Quantum Computing Career » en 2022 lors du Sommet Open Source de la Linux Foundation. Et cela s'est encore développé au cours de l'année qui a suivi, avec un changement notable de l'industrie vers « l'utilité quantique » (un terme que nous utilisons pour nous concentrer sur l'utilité dans le monde réel plutôt que sur la suprématie théorique ) et le lancement de quelques projets massifs. Comme l'investissement de près d'un milliard de dollars du gouvernement australien dans PsiQuantum pour la mise en place d'un ordinateur quantique commercial dans ma ville natale de Brisbane (dit avec un peu de mal du pays depuis ici à Seattle).


Alors oui, il se passe beaucoup de choses. C'est donc le moment idéal pour comprendre de quoi sont réellement composés ces systèmes quantiques et où s'intègrent votre talent et votre curiosité. J'ai inclus quelques recommandations à la fin sur la façon de vous impliquer. Et je dois ajouter un petit avertissement : il n’existe pas vraiment un seul paradigme d’« ordinateur quantique ». J'ai résumé les éléments les plus courants des différents systèmes sur lesquels nous travaillons pour leur valeur éducative, mais je suis ouvert à tout défi ou réfutation à mesure que ce modèle évolue au fil du temps.

La pile quantique en un coup d'œil

À bien des égards, la pile d’informatique quantique correspond au modèle d’une pile de calcul haute performance (HPC) moderne. Et dans une moindre mesure, il sera assez familier à toute personne travaillant dans le domaine du cloud computing. Nous passons d'une expérience utilisateur de haut niveau à une forme de plate-forme qui prend notre charge de travail et la convertit en quelque chose qui s'exécutera ensuite sur le matériel. Assez simple pour comprendre.


La nuance est beaucoup plus compliquée. Par exemple, comprendre qu’un ordinateur quantique est aussi performant que l’algorithme quantique utilisé. Tous les trucs fantaisistes que vous avez entendus sur la superposition et l'intrication se résument en réalité à un moyen d'exécuter de manière fiable des algorithmes utiles qui, au niveau matériel, utilisent la phase et les interférences pour effectuer le « calcul » qui génère une probabilité du bon. répondre. Faire cela souvent crée une plus grande probabilité d’obtenir la bonne réponse. Faire cela nécessite un algorithme utile et une implémentation système fiable.


La simulation joue également un rôle crucial. Vous pourriez voir cela comme étant lié à « l'économie sur les achats de matériel coûteux », mais ce n'est pas vraiment le cas (et c'est souvent un indice que quelqu'un utilise simplement l'IA pour écrire son appât quantique). Nous nous appuyons sur la simulation non seulement pour aider à développer de nouveaux algorithmes intéressants, mais aussi pour explorer les différentes manières de configurer une charge de travail. Il s'agit également d'un élément essentiel des flux de travail vers lesquels beaucoup d'entre nous s'orientent, dans lesquels un système véritablement hybride utiliserait des ressources informatiques classiques pour gérer la charge de travail et la planification, ainsi qu'une accélération via des GPU (ou des puces plus récentes comme les TPU et les LPU ), et pousserait efficacement certaines charges de travail à l'unité de traitement quantique (QPU) où un algorithme quantique peut être utile à la tâche à accomplir. Alors que certains, comme moi, se concentrent sur l’intégration de l’informatique quantique à l’infrastructure existante, d’autres se consacrent à la construction du système quantique autonome le plus puissant. D’où le large éventail d’explorations dans l’industrie.


Si tout ce que vous en retenez, c'est qu'un ordinateur quantique est un système spécialisé qui inclut un QPU en plus de la pile de calcul existante pour exécuter des algorithmes quantiques spécialisés, alors c'est une victoire. Aucun chat, fente ou signe de main effrayant n'est requis.



La pile quantique en détail

Les sections suivantes vont de la couche utilisateur supérieure à la plate-forme, pour finalement atteindre la couche matérielle. Bien que les frontières entre ces couches puissent être floues dans la pratique, nous suivrons un modèle basé sur une charge de travail ou un flux de travail typique pour plus de clarté (et de bon sens).

1. Langages de programmation quantique et outils de développement

Au plus haut niveau du système quantique se trouve l’humain qui tape sur le clavier. Les langages de programmation quantique offrent le haut niveau d'abstraction requis pour explorer les algorithmes quantiques et créer des programmes sous une forme gérable. L'expérience de travail avec ces langages est élargie par les kits de développement logiciel (SDK) qui offrent les bibliothèques et les outils nécessaires au développement de logiciels quantiques.


La distinction entre les SDK et frameworks et les environnements de développement intégrés (IDE) est quelque peu floue. Ceci est façonné par les diverses approches des fournisseurs de produits quantiques et par l’intégration de plates-formes et de produits verticaux adaptés à des utilisateurs finaux spécifiques. Un chercheur souhaitant un accès local complet et un contrôle du niveau d’impulsion sera différent d’une équipe d’entreprise développant des charges de travail hybrides, qui sera différente d’une startup fintech bâtie au-dessus d’une plate-forme quantique basée sur le cloud. Ce modèle est familier dans les projets d'entreprise ou basés sur le cloud, mais il évoluera avec des nuances à mesure que la valeur commerciale des systèmes quantiques deviendra plus évidente et influencera la conception des produits. Pendant ce temps, les SDK les plus répandus et leurs langages de programmation associés sont les suivants.


2. Algorithmes et applications quantiques

En descendant la pile, nous arrivons aux algorithmes au cœur de toute charge de travail quantique souhaitée. À mesure que les différentes approches concurrentes pour créer des ordinateurs quantiques s’améliorent, les opportunités d’applications dans le monde réel s’améliorent également. Une gamme de bibliothèques et de packages logiciels sont en cours de création pour des domaines fonctionnels spécifiques d'utilisation (tels que Qiskit Machine Learning d'IBM pour l'apprentissage automatique quantique ou OpenFermion de Google pour la chimie quantique), et les bibliothèques existantes d'algorithmes quantiques connus sont étendues et optimisées par les chercheurs. et des fournisseurs commerciaux (tels que Quantum Algorithm Zoo de Stephen Jordan et la bibliothèque Classiq ).


Certains algorithmes quantiques ont atteint le statut de quasi-célébrité. D’autres sont des adaptations quantiques d’algorithmes classiques ou servent de base à des charges de travail plus importantes. Il existe même des algorithmes quantiques qui sont fonctionnellement inutiles dans le monde réel (insérez ici une blague sur les physiciens si vous l'osez), mais qui constituent des exemples importants d'avantage quantique. Pour une analyse plus approfondie, reportez-vous à mon article sur les algorithmes quantiques, mais voici quelques exemples notables.


  • L'algorithme de Shor est l'algorithme de « craquage du chiffrement » proposé comme moyen de factoriser de grands nombres de manière exponentielle plus rapidement que n'importe quel algorithme classique connu.
  • L'algorithme de recherche de Grover est un point de départ utile pour accélérer algorithmiquement les recherches de données non structurées.
  • L'algorithme Deutsch-Jozsa n'est pas techniquement utile en soi, mais constitue l'un des premiers exemples montrant un avantage quantique par rapport aux méthodes classiques.
  • La transformée de Fourier quantique (QFT) est la version quantique de la transformation de Fourier rapide au cœur de nombreux algorithmes puissants.
  • Variational Quantum Eigensolver (VQE) est un algorithme hybride exploré pour des applications à court terme dans les domaines de la chimie quantique, de la simulation des matériaux et des problèmes d'optimisation.

3. Simulateurs et émulateurs quantiques

Les simulateurs quantiques sont les outils logiciels utilisés pour reproduire le comportement des systèmes quantiques sur des ordinateurs classiques. Ils constituent une partie essentielle de notre flux de travail en développant des algorithmes et en optimisant les charges de travail potentielles (en particulier avec les simulateurs comportant le même ensemble de portes ou d'autres éléments du matériel spécifique). Le rôle des simulateurs a évolué à mesure que l'industrie elle-même évolue d'une recherche universitaire pure à une utilité commerciale potentielle. La précision de la simulation pour un matériel quantique spécifique s'est améliorée au point de modéliser le bruit et les erreurs uniques du système. Notez que les exemples suivants sont susceptibles de changer ou de devenir obsolètes à mesure que les fournisseurs ( en vous regardant Qiskit 1.0 ) itèrent ou rationalisent leurs gammes de produits à mesure que l'industrie évolue.


4. Plateformes cloud quantiques

Avant d’aller plus loin dans la pile, nous devons faire une petite remarque sur le sujet des plates-formes cloud quantiques. À l’heure actuelle, il existe une poignée de grands fournisseurs qui exploitent quelques systèmes matériels. Chacun est confronté à la même question : doit-il tenter de vendre des unités matérielles directement, de les héberger sur son propre campus, de vendre l'accès via Internet ou une combinaison de ce qui précède. Et puis ajoutez à cela les interconnexions privées, les fournisseurs de cloud public, les capacités souveraines et les laboratoires de recherche. Il n'est pas acquis que le modèle de plate-forme cloud s'avérera être le modèle économique déterminant pour l'informatique quantique, même s'il occupe la plus grande part de l'esprit en dehors du secteur, compte tenu des modèles de cloud computing qui l'ont précédé.


Cela dit, faites également attention aux entreprises qui choisissent de ne pas fournir à leurs systèmes l’accès à la plateforme cloud. Chez Quantum Brilliance, je me suis concentré sur les clusters de calcul de périphérie hautement parallélisés utilisant l'approche Diamond NV-Center qui permet des QPU à petit facteur de forme et à température ambiante (le premier ). En discutant avec d'autres startups quantiques, les cas d'utilisation pour toutes les formes de déploiement fixe ou mobile semblent s'appliquer, et de nombreux travaux intéressants (et souvent non divulgués) sont réalisés en dehors du Web. Parmi ceux accessibles en ligne, en voici quelques-uns à surveiller.


5. Compilateurs quantiques et optimisation des circuits

Le rôle du compilateur quantique est de traduire les programmes quantiques de haut niveau en instructions de bas niveau à exécuter sur le matériel quantique. Bien que les détails dépassent le cadre de cet article, le processus implique la décomposition des portes (pour faire correspondre les portes abstraites aux qubits physiques), le mappage et la planification (pour faire correspondre les qubits logiques de l'algorithme aux qubits physiques) et les détails spécifiques au fournisseur et leur système particulier (tel que la fidélité, les taux d’erreur et la connectivité).


Pour simplifier cet exemple de pile, nous intégrerons dans ce niveau les différentes formes d'optimisation de circuits quantiques qui appliquent des techniques pour minimiser le nombre de portes quantiques, la profondeur ou d'autres éléments de ressources sans modifier la fonction sous-jacente. Cela peut se produire avant la compilation, dans le cadre du processus de compilation ou ultérieurement dans le cadre d'un réglage fin du processus matériel. Pour plus de clarté, regroupons-le ici dans notre flux de travail. Voici quelques exemples à connaître.


6. Logiciel de correction d’erreurs quantiques

Le rôle de la correction des erreurs quantiques à l’ère actuelle des systèmes quantiques « bruyants » est particulièrement important. Au point qu’il existe des entreprises spécialisées dans cette couche du stack. La nécessité de ces entreprises et des efforts plus larges de correction des erreurs est due à la nature fragile des systèmes quantiques. Alors que les ordinateurs quantiques supraconducteurs dominent l’imagination populaire, la correction des erreurs est vitale dans toutes les méthodes (ions piégés, photonique, centre NV, etc.).


Quelle que soit la méthode de génération de qubits, des défis surviennent en matière de préparation, d’exécution de la charge de travail et de mesure. La décohérence affecte toutes les méthodes, ainsi que les erreurs de porte, les erreurs de mesure et la qualité des qubits individuels. La correction des erreurs quantiques est naturellement complexe, mais peut intégrer des techniques telles que la redondance du système (répartition des informations quantiques sur plusieurs qubits), la gestion des syndromes (utilisation de qubits auxiliaires pour détecter les erreurs sans perturber les informations codées) et le profilage des performances de qubits individuels ou groupés. au fil du temps. Même si ces éléments resteront importants si l’ère de l’informatique quantique véritablement tolérante aux pannes est réalisable, ils constituent un sujet de recherche passionnant dans l’ère actuelle du quantique bruyant à échelle intermédiaire (NISQ) dans laquelle nous nous trouvons. Les principaux fournisseurs et exemples incluent les suivants .


7. Systèmes de contrôle quantique

Le système de contrôle quantique est responsable de la gestion et du contrôle des opérations du matériel quantique. Il gère des tâches au niveau matériel telles que l'étalonnage, la mise en forme des impulsions et le contrôle des qubits. Compte tenu des différentes formes d'informatique quantique en cours de développement et de la gamme d'implémentations de systèmes quantiques monolithiques ou en réseau, nous pouvons considérer le terme « système de contrôle quantique » comme étant inclusif plutôt que spécifique. De même, il n’existe pas de définition précise d’un « système d’exploitation quantique ».


Cela changera probablement au fil du temps à mesure que la phase de développement passera des phases « de la science à la technologie » et de « l'ingénierie au produit » . En particulier lorsqu'un alignement plus étroit avec les modèles de produits existants et la terminologie des utilisateurs et/ou du marché est souhaitable. Pour l'essentiel, le système de contrôle sera une ressource interne (quelque chose entre un système d'exploitation et un micrologiciel), mais les fournisseurs et produits suivants sont remarquables.


8. Matériel quantique

La dernière couche de notre pile est le matériel quantique lui-même. Il est utile de se rappeler qu’il n’existe pas de manière unique ou correcte de générer et d’utiliser des qubits. Il n’existe pas non plus d’approche clairement leader sur le marché. Chaque méthode ou approche comporte ses propres défis, et il peut s'avérer qu'il existe plusieurs approches présentant des avantages pour des scénarios spécifiques.


La couche matérielle est ce à quoi beaucoup pensent lorsqu’ils entendent le terme « informatique quantique », de la même manière que les premiers dispositifs informatiques à tubes et à valves définissaient la terminologie et le langage par la simple force de l’interaction mécanique. Les commutateurs et les cartes perforées ont cédé la place au fil du temps à des instructions et à des programmes, à leur tour étendus par la mémoire et le stockage, puis connectés par des réseaux et des serveurs.


Ces modèles sont présents dans la recherche et le développement de dispositifs quantiques, et comme nous pouvons le voir ci-dessus, les couches d'un exemple de pile quantique offrent à l'expertise existante à chaque couche la possibilité de fournir des idées nouvelles et intéressantes. Espérons que nous n'aurions jamais envisagé de nouvelles manières, étant donné les nuances apportées par chaque technologie et couche sous-jacentes de la pile.

TL;DR ?

Le travail effectué par les physiciens quantiques, les ingénieurs électriciens et électroniques, les fabricants et toutes sortes de manipulateurs d’atomes est non seulement soutenu mais rendu possible par ceux d’entre nous qui se disputent les bits et (zetta)octets. C'est le moment idéal pour s'impliquer.


Un bon début pour les nouveaux apprenants est Black Opal de Q-CTRL , le MOOC de haut niveau de l'université de Delft sur edX et le chemin inévitable vers Qiskit d'IBM . Pour ceux d'entre vous du côté C#, cette introduction de Microsoft donne un aperçu rapide de leur approche avec Q# et de la manière dont elle est intégrée dans l'écosystème Azure. Et la bibliothèque d’algorithmes Classiq mérite d’être ajoutée à vos favoris.


Je ferai bientôt un article dédié à l'apprentissage quantique pour les ingénieurs logiciels, car c'est un sujet sur lequel je reçois des e-mails presque chaque semaine depuis ma conférence au Sommet Open Source (et les licenciements massifs de talents en ingénierie qui ont eu lieu depuis). Même si tout changement d’industrie est difficile pour les personnes et les familles touchées par le ralentissement économique, il peut à son tour être une opportunité de libérer les talents (et les cheminements de carrière) qui autrement seraient bloqués. Donc, si vous envisagez une exploration plus approfondie, faites-le et envoyez-moi un message si je peux faire quelque chose pour vous aider . Et assurez-vous de vous inscrire à la newsletter Product In Deep où nous approfondissons la stratégie et le savoir-faire nécessaires à l'expédition de produits réels dans les domaines Deep Tech et Frontier Technology.