L’IA et la fin du Silicium : introduction aux ordinateurs quantiques

Quantum Processor

Nous n’en avons pas conscience tous les jours mais l’industrie informatique est à l’aube d’un changement majeur : la loi de Moore, telle que nous la connaissons aujourd’hui, va s’arrêter d’ici 3 à 4 ans maximum. L’ère de la puce Silicium vit ses derniers moments de gloire. Les processeurs, les ordinateurs, la manière de programmer vont sûrement radicalement changer dans très peu de temps.

Mise à jour le 22/11/2018 suite à mes 2 conférences de 45 min à Paris Web 2018 et Microsoft Expériences 18 et notre session de 20 min à la Experiences TV 18 avec Fanny Bouton et Olivier Ezratty.

Note : cela fait suite aux 2 podcasts que Deltakosh, Meulta et moi-même avons en partie consacrés à l’ordinateur quantique et à la physique quantique. Vu le succès de ces épisodes et vos retours, j’ai décidé d’en faire un article. Attention : pour ceux qui ne nous connaissent pas, ces podcasts sont souvent à prendre au second degré ! Nous serons heureusement plus sérieux ici.

Si vous préférez regardez ou écouter, j’ai 3 contenus basés sur cet article à vous proposer :

– Si vous n’avez que 20 min de disponible, je vous conseille de regarder la vidéo du keynote de Devoxx France 2018 que j’ai eu la chance d’animer en partie : https://youtu.be/ciM6xK05t2o
– En 20 min toujours, notre interview de la MS Experiences TV avec Fanny et Olivier qui vous donne un aperçu : https://youtu.be/aLIz9I58FxY
– En 45 min, ma session de Paris Web 2018 sur laquelle j’ai eu d’excellents retours et qui est quasiment la même que celle que j’ai jouée à MS Experiences 18 : https://vimeo.com/296245907. C’est certainement celle qui vous permettra de comprendre au mieux.

Ce sont des condensés de cet article. Sinon, attachez votre ceinture car nous allons passer en vitesse lumière !

L’Intelligence Artificielle

Mais avant de tenter de vous expliquer pourquoi tout va bientôt changer, revenons sur ce qui agite l’actualité des derniers mois. Nous parlons beaucoup de plusieurs grandes thématiques qui émergent ou vont bientôt émerger. Et la plus emblématique d’entre elles est sans nul doute l’IA ou Intelligence Artificielle. Tout le monde en parle avec plus ou moins de bonheur et plus ou moins de fantasmes. C’est également devenu un fourretout à tous les trucs cools du moment.

Une des applications intéressantes que vous utilisez déjà presque tous les jours est par exemple la reconnaissance vocale. On la retrouve dans les serveurs téléphoniques vocaux, dans vos smartphones avec Cortana, Siri et autres Alexa. cognitivesvcMais ce que nous n’avez peut-être pas noté, c’est que la qualité de cette reconnaissance par une machine a atteint très récemment celle d’un être humain : Historic Achievement: Microsoft researchers reach human parity in conversational speech recognition et a donc très fortement progressée ces 5 dernières années.

Nous exposons également des services dans le fameux « Cloud » pour reconnaitre des images automatiquement et en faire des transcriptions. A chaque fois que j’y pense, cela me retourne la tête. N’importe quel développeur est forcément subjugué par les algorithmes mis en œuvre. C’est le cas chez Microsoft avec Cognitive Services Computer Vision API où vous pouvez découvrir ses capacités en jouant avec cette démo : https://www.captionbot.ai. Tous les principaux acteurs du marché se positionnent sur ces nouvelles offres. Facebook utilise des algorithmes similaires. Vous les avez d’ailleurs déjà forcément vu en œuvre lorsque l’on vous propose de tagguer automatiquement vos amis en reconnaissant leurs visages sur les photos que vous postez. Il y a également IBM avec Watson Visual Recognition et Google Cloud Vision API.

Bien sûr, il y a un côté terrifiant à ces nouvelles technologies, notamment lié à l’avenir de nos vies privées mais également sur des sujets plus fondamentaux encore. Pour vous donner une idée, je vous invite à regarder cette excellente vidéo de Laurent Alexandre : Impact de l’Intelligence Artificielle sur l’économie – Laurent ALEXANDRE au Senat (HD) sur laquelle il faut également savoir prendre du recul. Mais, comme il le dit justement, aujourd’hui, nous les français, « en matière d’Intelligence Artificielle, nous sommes un pays du tiers monde ».

Mais l’IA dispose également d’un potentiel inouï pour améliorer le quotidien de millions de personnes. Nous en avons fait la démonstration lors de la //BUILD 2016 avec Saqib Shaikh utilisant ces services couplés à une paire de lunettes « intelligentes » pour lui permettre de « voir » le monde qui l’entoure : Microsoft Cognitive Services: Introducing the Seeing AI project. Facebook vous propose également un texte alternatif à la photo que vous allez poster pour en améliorer son accessibilité pour les personnes aveugles et mal voyantes : Under the hood: Building accessibility tools for the visually impaired on Facebook. Tout cela m’a inspiré pour créer une extension permettant de reconnaitre l’image d’une page web et de la décrire à une personne potentiellement aveugle : Creating an extension for all browsers: Edge, Chrome, Firefox, Opera, Brave and Vivaldi. On peut aujourd’hui mettre en place de telles solutions en une dizaine de lignes de code !

Ces dernières années, dans les sujets plus typés science-fiction (mais qui sont pourtant déjà là), nous avons pu également voir successivement un ordinateur battre un joueur humain aux échecs, au jeu de Go et plus récemment au poker, ce qui inquiète nettement plus les experts. On parle également fréquemment de la voiture autonome de Tesla et de Google. Plus récemment, Microsoft a commencé à développer une IA, DeepCoder, capable d’écrire du code !

Alors pourquoi l’IA émerge à ce point à cette période précise ? En effet, d’après Wikipedia, le concept d’intelligence artificielle a démarré avec Alan Turing et son fameux test en 1950. Pourquoi a-t-il fallu autant de temps pour en voir les premiers résultats tangibles et concrets ?

C’est qu’il fallait la convergence de 3 domaines clés : la donnée, l’infrastructure pour la capter/gérer/traiter et la puissance de calcul des puces pour la digérer. Soit en traduction technologique : le big data, le Cloud/Machine Learning (Apprentissage automatique)/Deep Learning (Apprentissage profond) et les CPU/GPU. Bref, l’équation magique semble être : IA = Big Data x Machine Learning x CPU.

En effet, pour pouvoir créer une intelligence artificielle qualifiée de « faible » par certains, donc dans un premier temps spécialisée (reconnaissance vocale, d’image, sémantique, de visage, etc.), il faut d’abord entrainer un modèle avec un algorithme particulier. La première pièce est la donnée, ou plutôt la quantité de données. En effet, il faut avoir de gigantesques volumes de données pour les injecter dans une boîte noire que l’on appelle le Machine Learning. Ces données peuvent être vous et vos habitudes de navigations dans le cas des réseaux sociaux ou ciblages publicitaires. Mais également les données de votre smartphone ou de votre véhicule pour le trafic routier/voitures autonomes, les données médicales comme votre rythme cardiaque avec les objets connectés, etc. Dans le domaine du jeu vidéo, une autre application que vous avez peut-être connue est Kinect. Pour pouvoir reconnaître vos gestes et votre « squelette », du Machine Learning a été utilisé à partir d’enregistrements vidéos de plusieurs milliers d’êtres humains comme l’explique cette vidéo : Real-World Machine Learning: How Kinect Gesture Recognition Works.

SQL-Server-and-Deep-Learning

En termes d’architecture, il faut des moyens colossaux pour aspirer ces données et pour mettre en place ce Machine Learning ou Deep Learning en termes de matériel, réseaux et logiciels. Ils sont actuellement déployés dans d’énormes Data Center que l’on appelle le Cloud, vendus par des sociétés comme Microsoft, Amazon ou Google.

Voilà pour une partir des explications des raisons de son émergence. En complément de tout cela, je vous invite également à lire l’article de mon collègue Pierre-Louis Xech : Cyclogenèse de l’IA qui propose un angle intéressant.

De mon côté, je m’intéresse à cette transformation pour 2 raisons principales. L’une est purement professionnelle. Cette transformation profonde à venir de l’industrie informatique me fascine autant qu’elle m’inquiète. Vais-je être capable de m’adapter aux nouvelles connaissances nécessaires ? Il est certain que l’IA va remplacer de nombreux postes/métiers « facilement » automatisables. Mais cela va-t-il également remplacer le métier de développeur et si oui à quelle échéance ?

Bref, en fonction du point de vue, il semblerait que nous allons devenir les acteurs de notre propre destruction ou au contraire les bâtisseurs d’un monde meilleur. J’aime par exemple cette phrase : « La puissance des algorithmes n’est ni un rêve ni un cauchemar : elle est les deux en même temps, et s’orientera selon ce que nous en ferons. La plupart des grandes innovations ont ainsi questionné la société » issue de cet article : Algorithmes, voitures autonomes, big data : bienvenue dans le pire des mondes digitaux

Pour ma part, je suis un éternel optimiste jusque dans mes modestes essaies de science-fiction : Les H-Men : une anomalie génétique couplée à la technologie pour de supers pouvoirs. Même si cela relève bien sûr du délire de geek que je suis, je pense sincèrement que l’IA pourra aider des enfants handicapés comme mon fils Nathan. C’est donc, vous l’aurez compris, la deuxième raison de mon fort intérêt pour l’IA et de l’informatique quantique. Ils pourraient grandement aider les projets actuels gérés par Microsoft autour de la génomique : MSR Genomics & Microsoft Genomics. Malgré tout, il se trouve que même la plus puissance des IA actuelle ou le plus puissant des superordinateurs actuel sont incapables de bien modéliser et comprendre la nature, la chimie et donc de nous aider à faire de meilleurs médicaments ou soigner nos enfants.

Mais pourquoi cette longue introduction autour de l’IA alors que je vous ai promis de parler d’ordinateur quantique ?

Rappelez-vous de ma fausse équation magique : IA = Big Data x Machine Learning x CPU.

Il y a un truc qui va clocher. Le CPU. On avait pris l’habitude depuis les années 70 de voir nos chers CPUs doubler la quantité de leurs transistors tous les 2 ans et donc voir leurs performances virtuellement augmenter de manière exponentielle. Bah désolé, la fête est bientôt finie.

La loi de Moore est morte

Le transistor. Une des inventions les plus importantes du 20ème siècle. Le composant de base des processeurs. Pour augmenter la puissance de nos CPUs, on a d’abord eu l’idée d’augmenter à la fois leur nombre et la fréquence d’horloge les animant en cadence.

Gordon Moore, l’un des fondateurs d’Intel, a alors créé une sorte de règle, feuille de route pour l’industrie, prophétie auto-réalisatrice : la loi de Moore. L’idée est de doubler le nombre de transistors tous les 2 ans en les miniaturisant de plus en plus. De 1971 à aujourd’hui, nous sommes ainsi passés des 2300 transistors du premier microprocesseur d’Intel, le 4004, à des puces embarquant plusieurs milliards de transistors !

Moore's_Law_over_120_Years

Cependant, comme l’explique très bien cet article (en Anglais) : Moore’s law really is dead this time, il y a eu plusieurs barrières qui furent particulièrement difficiles dans la course à la miniaturisation. En 2005 d’abord, autour des 90nm, on se posait sérieusement la question pour repousser les limites de la miniaturisation. Cela est d’ailleurs rappelé par cet article plus récent : Processeurs : la fin de la loi de Moore… et le début de l’incertitude qui indique la complexité rencontrée : « au début des années 2000, quand l’effet conjugué de la hausse des fréquences d’horloge et de la diminution de la taille des circuits avait fait bondir la chaleur générée par les circuits. Un obstacle que les industriels ont contourné en optant pour des architectures multicoeurs, qui ont mis fin à la course à l’augmentation des fréquences d’horloge ». Enfin, plus récemment, les 22nm ne furent envisageables que grâce à l’invention du transistor tri-gate.

Aujourd’hui, les CPU que vous achetez/utilisez dans vos PC, Mac et autres smartphones sont souvent gravés à une finesse de 14nm. Plus fort encore, le dernier Snapdragon 835 annoncé au CES 2017 arrive lui à être gravé en 10nm. J’ai également pu voir qu’une chaine de production allait bientôt démarrée à 7nm cette année (2018). Les derniers iPhone Xs utilisent d’ailleurs des puces en 7nm.

Pour vous donner une idée de la prouesse que cela représente, regardons les ordres de grandeur de longueur. On s’aperçoit ainsi que 1nm correspond à la taille d’une molécule ou du rayon de la double hélice de notre ADN. Plus surprenant encore, 10nm correspondent environ à 100 atomes mis les uns à côté des autres ! 100 atomes, vous imaginez !

Le palier des 7nm semble donc être le premier candidat sérieux à l’atteinte du mur de la miniaturisation. Cependant, les dernières recherches précisées dans cet article : le plus petit transistor du monde ressuscite la loi de Moore indiquent que des nanotubes de carbone pourraient nous permettre d’envisager d’aller plus loin, vers les 5nm peut-être. Malgré tout, à force de nous rapprocher de la taille critique d’un atome, nous allons finir par être confrontés au phénomène inéluctable d’effet tunnel illustré par cette vidéo :

Ainsi, 2020 semble être une échéance couramment partagée. Bien sûr, on pourrait se dire que ce n’est pas pour autant la fin du monde numérique. Voir même la fin du monde digital comme on aime le dire, à tort, dans les sphères branchées du marketing !

En effet, on pourrait envisager d’augmenter la taille des puces à défaut de pouvoir continuer à miniaturiser. Cela nous permettrait de continuer à augmenter le nombre de transistors.

Comme je vous le disais dans ma conférence Paris Web 2018, cela a d’ailleurs déjà commencé. D’une part, on constate 18 mois après entre les cartes nVidia les plus puissantes d’une génération à l’autre (GTX 1080ti / RTX 2080ti) une simple augmentation de performance de 25% en performance brute sur de la rasterization. La loi de Moore est déjà mise à mal et est sauvée en 4K grâce à l’usage du DLSS permettant une mise à l’échelle basée sur le deep learning. Par ailleurs, malgré la miniaturisation, on constate une augmentation de la taille des puces (die) :

Exp2018_Quantum

On peut ainsi imaginer augmenter le nombre de serveurs et leur capacité de calculs distribués. Oui, mais plusieurs problèmes pointent rapidement le bout de leur nez :

– L’évolution ne pourra certainement plus être exponentielle comme avant
– On va se retrouver confrontés à nouveau aux problèmes de consommation, dissipation de chaleur que nous avions eu au début des années 2000, qui furent résolus en partie avec les multi-cœurs.

On pourrait également se dire que cela va nous forcer à nouveau à bien penser nos codes et nos algorithmes. Comme il y a quelques dizaines d’années finalement, avant que nous codions un peu tous comme « des porcs », profitant avec une certaine insouciance de l’augmentation régulière de la puissance des processeurs afin de cacher notre fainéantise intellectuelle.

Malgré tout, cela ne va pas suffire à combler notre addiction vis-à-vis de la loi de Moore sur laquelle beaucoup comptent toujours. Tout cela malgré le mur atomique que le silicium est sur le point de rencontrer. En effet, l’IA a besoin de toujours plus et l’industrie ne se satisfera pas de cette contrainte physique.

Par ailleurs, il existe des problèmes dans certains domaines comme la chimie, la création de médicaments, l’étude de la matière qui seront à jamais insolvables pour un ordinateur classique. Il faut donc changer de paradigme si l’on veut continuer à progresser et à innover. Certains problèmes nécessitent en effet aujourd’hui plusieurs milliards d’années de calcul pour être résolus ! Par exemple, même le plus puissant des supercalculateurs actuel n’est capable de modéliser une molécule plus complexe que celle de la caféine.

Exp2018_Quantum2

La mécanique quantique à la rescousse

Arrivée à une échelle si petite, les règles changent et pas qu’un peu. En effet, il faut savoir que les lois de la physique classique, celle que nous connaissons bien et que nous subissons tous les jours, ne s’appliquent plus à partir d’une certaine échelle.

Nous ne savons toujours pas exactement pourquoi mais des éminents physiciens ont fini par le constater. Nous n’avons toujours pas non plus trouvé une règle générale permettant de réunir le monde tangible dans lequel nous nous sommes habitués à vivre avec le monde étrange qu’est celui des particules quantiques. Car oui, avant d’envisager de comprendre en quoi l’ordinateur quantique pourra continuer de faire vivre la loi de Moore, il va falloir tenter de comprendre un minimum le fonctionnement de la mécanique quantique.

Bon, déjà, commençons par tous nous détendre. Il est manifestement extrêmement compliqué de vulgariser la mécanique quantique. Il faut également s’ouvrir l’esprit et lutter contre nos barrières ancrées en nous depuis des siècles car les principes apparaissent comme totalement contre intuitifs pour l’esprit humain. Certains se demandent même si le cerveau humain ne serait tout simplement pas trop limité pour en comprendre le fonctionnement !

Pour vous rassurer, j’ai découvert en écoutant l’émission de radio « la tête au carré » de France Inter dédiée à l’ordinateur quantique que Pascale Senellart, directrice de recherche CNRS au laboratoire de photonique et nanostructure, nous raconte à 32’58 que: « quelqu’un qui vous dirait qu’il a vraiment compris la physique quantique, c’est quelqu’un qui ment un peu ». Par ailleurs, je me permets d’ajouter une citation célèbre de Richard Feynman : “Je pense pouvoir dire sans trop me tromper que personne ne comprend la mécanique quantique”. Les bases sont posées. Si les experts ont déjà du mal à comprendre, n’espérez pas prétendre à un PhD de physique quantique à la fin de cet article.

Bref ce que j’essaie de vous dire est qu’il est franchement difficile de trouver de bons articles expliquant simplement ce qu’est la mécanique quantique et que par conséquent je risque moi-même d’être approximatif. Malgré tout, j’ai essayé de vous digérer tout cela du mieux que j’ai pu et de vous partager les vidéos et articles qui m’ont semblés les mieux conçus et les plus pédagogiques.

Au passage, si un physicien spécialisé en physique quantique passe par là, il serait gentil de sortir son pif de son microscope à effet tunnel, de sortir de son labo et de venir essayer de nous aider à comprendre ce qu’il se passe de si chouette dans ce monde de l’infiniment petit.

D’ailleurs, avant de se lancer, commençons par prendre une petite pause comique en regardant cet excellentissime sketch d’Alexandre Astier : Alexandre Astier – La Physique Quantique parfaitement dans le ton de notre podcast. Smile

8 principes clés

La meilleure source de vulgarisation que j’ai pu trouver sur la mécanique quantique est de loin celle de la Science Etonnante. De très loin même. Le travail effectué par David Louapre est tout à fait remarquable !

Du coup, la bonne nouvelle est que j’ai simplement besoin de vous partager son contenu. Il y a d’abord 2 vidéos à regarder.

La première explique la mécanique quantique en 7 idées :

Que vous devriez faire suivre immédiatement par celle expliquant l’intrication quantique :

Et pour couronner le tout, David a écrit un excellent billet de blog complétant sa première vidéo : La mécanique quantique où il détaille et illustre très bien les 7 idées exposées.

Au final, vous devriez alors avoir de vagues notions de ce que sont :

– Le principe de superposition : vous savez, le coup des plusieurs états en même temps.
– L’indéterminisme de la mesure : les mesures dépendent, en partie, du hasard !
– La réduction des états quantiques : l’indéterminisme est cassé après la première mesure. Le fait de mesurer force la particule à choisir son état. C’est bizarre mais c’est comme ça. Par contre, cela énerve passablement Meulta. Mais cela ne change rien au phénomène heureusement.
– La dualité onde – corpuscule : des objets que l’on croit ponctuel se comporte en fait comme des ondes. D’ailleurs la mécanique quantique fut longtemps appelée mécanique ondulatoire.
– L’effet tunnel : l’effet ondulatoire de la matière, qui lui permet, entre autres, de passer à travers un obstacle.
– La quantification des propriétés physiques : un électron ne peut être qu’à des orbites précises autour du noyau, certaines lui sont “interdites” ! Cela avait retourné la tête de Deltakosh dans notre épisode 4. 😉
– Le principe d’incertitude de Heisenberg : on ne peut pas parfaitement définir un objet à la fois grâce à sa position ET sa vitesse. C’est un peu soit l’un, soit l’autre.
– Le spin et l’intrication quantique : le spin n’a que 2 valeurs possibles, le + ou le -… ainsi que toutes les superpositions de ces 2 états bien entendu. 😉 Plus surprenant encore, certaines particules sont liées. Cela veut dire que le changement d’état d’une particule va avoir une répercussion immédiate sur une autre pouvant se trouver à des kilomètres d’elle.

Pour finir, après la première publication de cette article, David a également sorti une vidéo sur l’ordinateur quantique : Les Ordinateurs Quantiques — Science étonnante #40

Bon, déjà, avec tout ça, je vous promets un méchant carton à votre prochaine soirée pour épater la galerie !

Pour revenir à la loi de Moore et aux processeurs actuels, le principal problème vient de l’effet tunnel. En effet, c’est l’effet qui va se produire avec la miniaturisation des transistors. Les électrons (le courant faisant les 0 et les 1 de notre bien aimé binaire) ne resteront plus dans le chemin que nous avons défini/dessiné. Ils passeront à travers les barrières que nous aurons fixées. Bref, un monumental bazar ingérable pour conserver la stabilité de la logique du processeur.

L’ordinateur quantique

Le qubit

Le fameux ordinateur quantique repose donc sur les principes balayés précédemment afin de mettre au point le qubit, pour quantum binary digit, l’analogue quantique du bit.

Bon, gros problème : j’ai été incapable de trouver une explication totalement claire de son fonctionnement et, plus embêtant, de son utilisation.

Malgré tout, commençons par l’article Wikipedia qui lui est dédié : https://fr.wikipedia.org/wiki/Qubit

On nous explique que « le qubit se compose d’une superposition de deux états de base, par convention nommés |0> et |1> » et qu’« un état qubit est constitué d’une superposition quantique linéaire de ces deux états ». Jusque-là, rien de bien surprenant puisque cela reprend le principe de superposition et de spin vu précédemment.

Par ailleurs, on apprend toujours aussi logiquement, d’après les principes vus avant, que l’on ne peut copier la valeur d’un qubit vers un autre puisque cela impliquerait de lire sa valeur, et donc de réduire son état quantique. On peut cependant transporter son état sur un autre qubit grâce à la téléportation quantique basée sur le principe d’intrication quantique toujours décrit également dans le chapitre précédent.

Alors tout ça me permet de comprendre à peu près la structure d’un qubit mais cela ne m’aide pas pour autant à avoir la moindre idée de comment on exploite cela pour créer de l’information ou pour calculer quoi que ce soit !

Je vais quand même vous partager quelques articles qui tentent d’expliquer et qui m’ont un peu aidé :

La révolution quantique de demain. Un petit extrait : « Ce qubit peut ainsi faire 2^4=16 calculs en un seul coup. Le gain est exponentiel car avec 4 bits classiques, on ne pourrait faire qu’un seul calcul! Dans un ordinateur classique, on est obligé d’utiliser des milliards de transistors pour réaliser de nombreuses opérations rapidement. Avec un ordinateur quantique, il suffirait de 300 qubits pour obtenir 2^300 résultats, ce qui est plus que le nombre de gouttes d’eau dans nos océans, ou encore, plus que le nombre d’atomes dans notre univers observable ! ». Superbe « punch line » mais aucune explication réelle du pourquoi du comment.

Qu’est-ce qu’un ordinateur quantique ? qui tente à nouveau d’expliquer un peu mieux mais qui nous sort aussi de grandes envolées cosmiques du genre : « Or, il pourrait bien être possible d’avoir des ordinateurs avec une architecture de 50, 100, 300 qubits, et donc d’avoir un ordinateur quantique 2^50, 2^100 et donc 2^300​​ fois plus rapide qu’un ordinateur normal ! » ou « le facteur de rapidité correspondant à 2^300 est plus grand que le nombre d’atomes dans l’univers. C’est un nombre immense et un ordinateur quantique de ce calibre serait donc immensément plus rapide qu’un ordinateur normal ». A nouveau, on ne sait pas trop pourquoi mais comme on dit par chez moi, ça claque sévère !

Ce que j’en retiens, sans vraiment comprendre totalement pourquoi :

– La puissance d’un ordinateur quantique augmente potentiellement de manière exponentielle en fonction du nombre de qubits. En effet, sa puissance de calcul double à chaque fois que l’on lui adjoint un nouveau qubit.
– Le principe du qubit permet d’envisager des calculs parallèles de manière incroyablement plus rapide que les architectures informatiques actuelles.

Par ailleurs, il faut savoir qu’il est extrêmement difficile de stabiliser ces fameux qubits. Certains laboratoires ont réussi à fabriquer des processeurs à base de quelques-uns d’entre eux. Cependant, leur durée de vie n’est souvent que de quelques secondes. En effet, les particules quantiques sont très sensibles au monde qui nous entoure comme le magnétisme et la lumière.

En termes de fabrication « concrète » d’un qubit, j’ai pu trouver ce dossier particulièrement intéressant : Fabrication d’un ordinateur quantique qui décrit les différentes approches actuelles. Ce dossier est d’ailleurs l’un des meilleurs que j’ai pu lire sur l’ordinateur quantique d’une manière générale. Je vous en conseille la lecture complète. On y apprend ainsi que la difficulté physique principale est de gérer la décohérence des états quantiques.

Allez, essayons maintenant d’en savoir davantage sur l’ordinateur quantique en lui-même.

D-Wave

Aujourd’hui, il semblerait qu’un seul modèle abouti et commercialisé de l’ordinateur quantique existe. Il est fabriqué par la société D-Wave Systems qui aurait réussi à fabriquer une machine stable alignant jusqu’à 2000 qubits ! C’est d’ailleurs une source de débats et d’interrogations fréquentes chez les experts dans le domaine car la quasi-totalité des labos peinent à aligner plus qu’une dizaine de qubits de manière stable.

Pour continuer sur le travail de vulgarisation, je vous invite à regarder la vidéo suivante : 10 CHOSES à SAVOIR sur l’INFORMATIQUE QUANTIQUE. Bien que souvent très approximative, elle balaie, en moins de 20 minutes, l’ensemble des thématiques abordés dans cet article. On y apprend des choses rigolotes sur le D-Wave :

– L’ordinateur D-Wave se trouve dans un caisson blindé qui diminue de 50000 fois le champ magnétique terrestre.
– Il fonctionne à une température de 0,015° Kelvin, soit -273,135° Celsius. Soit plus froid que l’espace lui-même qui se trouve à 3°K ! Donc très proche du 0 absolu.
– Comparons maintenant la consommation énergétique du D-Wave 2X face au supercalculateur Pangea de Total qui était l’un des plus puissants au monde début 2016 avec 6,7 pétaFLOPS au compteur. Le Pangea nécessite 4,5 MégaWatts là où le D-Wave 2X de 1000 qubits n’a besoin que de… 25000 Watts, soit 180 fois moins.

d-wave-two-quantum-computer

Certains clients connus de D-Wave sont Google, la NSA et Lockheed Martin. La NSA a d’ailleurs annoncé qu’elle avait stoppé tous ses investissements sur les technologies non quantiques. On va comprendre pourquoi juste derrière.

Algorithmes et programmation

Vous l’aurez compris, un ordinateur quantique étant radicalement différent d’un ordinateur classique, la manière de concevoir un algorithme l’est tout autant.

Si je reprends l’émission de France Inter, Pascale Senellart s’est tentée à une explication que j’ai trouvée très intéressante mais perturbante (comme toujours en quantique). Elle pose le problème d’un algorithme chargé de trouver le moyen de sortir d’un labyrinthe. Si un être humain essaie de sortir du labyrinthe, ou si vous essayez d’envisager un algorithme de sortie pour un CPU classique, vous allez surement tenter de parcourir le labyrinthe en profondeur jusqu’à trouver le chemin, unique, vers la sortie. En d’autres termes, vous allez essayer d’aller à gauche, de voir que cela ne marche pas, puis d’aller à droite tout en prenant soin de noter vos réussites et erreurs. Bref, au final, vous allez sortir du labyrinthe en ayant la capacité d’expliquer le chemin que vous avez parcouru. Un ordinateur quantique va lui calculer en parallèle toutes les possibilités, il va ensuite vous dire qu’il est sorti du labyrinthe mais ne sera pas capable de vous dire comment il l’a fait ! Cela est également relativement logique. En effet, pour savoir par où il est passé, il faudrait stopper en cours de route l’algorithme quantique, faire des mesures et donc… réduire les états quantiques ! Cela aurait pour conséquence de casser l’algorithme quantique.

D’après ce que j’ai compris, cela est lié au fait que les algorithmes quantiques sont probabilistes. Ils donnent la réponse correcte avec une haute probabilité et la probabilité d’échec peut être diminuée en répétant l’algorithme.

Au final, l’article le plus complet que j’ai pu trouver sur un calculateur quantique est sans conteste celui de Wikipedia : calculateur quantique. Il couvre absolument tout, de manière très détaillée. Il n’est pas particulièrement facile d’accès mais je permets d’extraire 2 citations intéressantes :

« Les calculateurs quantiques demandent des techniques de calcul différentes de la programmation, mais utilisant beaucoup l’algèbre linéaire classique pour conditionner et traiter simultanément des ensembles de données liées. » … « Il ne se prête donc a priori qu’aux calculs dont la complexité réside dans la combinatoire. On trouve ces problèmes dans l’ordonnancement et les autres calculs de recherche opérationnelle, en bio-informatique, et bien entendu en cryptographie. Le faible volume des entrées-sorties par rapport à celui du traitement semble rendre toutefois plausible leur usage à distance un jour à travers le réseau Internet. »

On peut déjà comprendre ici que le domaine d’application des ordinateurs quantiques va être différent de ceux des ordinateurs classiques.

Les algorithmes quantiques

Je n’ai entendu parler que de 2 algorithmes quantiques principaux :

Algorithme de Shor permettant de factoriser rapidement un entier naturel en nombres premiers. Pratique pour casser RSA, le moyen de chiffrement considéré le plus sûr aujourd’hui.
Algorithme de Grover permettant de chercher dans une liste.

C’est le premier qui est le plus célèbre bien évidemment et qui intéresse au plus haut point la NSA. En effet, le niveau de protection du chiffrement actuel repose sur le fait qu’il est virtuellement temporellement impossible pour un ordinateur classique de casser la clé. Cela demande en effet de pouvoir factoriser la clé publique en produit de nombres premiers. Avec les clés actuellement utilisées, il faudrait des milliers d’années pour la casser. Avec l’algorithme de Shor exécuté sur un ordinateur quantique comme le D-Wave, cela est censé être fait en quelques minutes. Vous comprenez maintenant mieux pourquoi la NSA s’y intéresse de près. Heureusement, il y existe la cryptographie quantique pour palier à cela, mais c’est encore très loin d’être exploitable.

Ce qu’il faut retenir de tout cela, c’est que les algorithmes applicables à l’ordinateur quantique sont très différents de ceux que nous avons l’habitude de voir et surtout pour l’instant très peu nombreux. Leur conception repose sur l’usage de portes quantiques qui vont jouer sur les probabilités des qubits tel que cela est expliqué en partie dans les ressources Q# que je partage ci-dessous.

Par ailleurs, je trouve parfois absurde de tenter de comparer la vitesse d’exécution d’un ordinateur classique avec un ordinateur quantique de manière absolue. Lorsque vous lisez qu’un ordinateur quantique est 2^300 plus puissant qu’un ordinateur classique, c’est en grande partie faux. Sur l’algorithme de Shor, cela apparaît évident. Mais aujourd’hui, un ordinateur quantique est incapable d’utiliser la quasi-totalité des algorithmes fonctionnant parfaitement sur un ordinateur classique. Peut-être qu’un jour, nous arriverons à créer un ordinateur quantique « générique » capable de fédérer les 2 mondes actuels mais il n’y a aucune certitude. L’autre possibilité, actuellement plus probable, est que les 2 seront complémentaires. Nous continuerons à avoir des ordinateurs portables et des smartphones pour les tâches classiques et nous aurons probablement des ordinateurs quantiques pour des tâches impossibles à réaliser pour un ordinateur classique. Mais l’inverse sera sûrement vrai, un ordinateur quantique ne pourra se substituer à un ordinateur classique sur certaines opérations.

Pour résumer, voici une citation (dont je ne trouve malheureusement plus la source) qui m’a paru bien résumer la situation : « L’ordinateur classique est déterministe, l’ordinateur quantique est probabiliste »

Je vous invite également à nouveau à regarder ma vidéo de ma session Paris Web 2018 où j’essaie d’expliquer en quoi un algorithme quantique est bien plus rapide qu’un algorithme classique sur des problèmes de combinatoires grâce à la superposition des qubits et l’utilisation de portes quantiques. Je l’ai enfin mieux compris pour ma part grâce à cette vidéo fantastique : The Mathematics of Quantum Computers | Infinite Series

Allez pour vous remercier d’être allés aussi loin dans l’article, je vous offre la meilleure vidéo que j’ai pu trouver (en anglais) expliquant l’ordinateur quantique et les qubits, le tout en moins de 8 min ! La voici : Quantum Computers Explained – Limits of Human Technology. Franchement, regardez, ce seront les 8 min les mieux dépensées de votre journée, je vous le garantis (satisfait ou remboursé).

Domaines d’applications

Exp2018_Quantum3

Comme je vous l’explique dans mes conférences, la nature est quantique. L’idée d’un ordinateur quantique est donc de se comporter comme la nature pour mieux la comprendre. Les domaines d’applications théoriquement envisagés pour l’ordinateur quantique sont donc extrêmement prometteurs :

– Être capable de nettement mieux maitriser la chimie pour, par exemple, améliorer la fixation de l’azote ou la capture du CO2.
– Le Machine Learning et plus spécifiquement le Deep Learning se prêtant parfaitement au côté probabiliste de l’informatique quantique.
– Pouvoir prévoir la météo de manière exacte.
– La Génomique
Maîtriser la matière en réussissant, par exemple, la mise au point de supraconducteur à température ambiante.

Bref tout ce qui relève de problèmes à très fortes combinatoires.

Expérimenter l’algorithmique quantique

Si vous souhaitez tenter de comprendre l’algorithmique quantique, Microsoft, Google et IBM fournissent 3 projets pour « simuler » des qubits sur des ordinateurs actuels ou à travers le cloud. En effet, tout reste à faire dans ce domaine et les différents acteurs ont besoin de votre créativité !

Côté Microsoft, nous avons récemment sorti un Quantum Development Kit ainsi qu’un langage dédié à la programmation quantique s’appelant Q#. Il a pour but d’aider au développement et à la compréhension de protocoles quantiques, d’algorithmes quantiques, de correction d’erreurs quantiques et de périphériques quantiques. Grâce à ce kit, vous pouvez simuler un système de 30 qubits sur un ordinateur équipé de 16 Go de RAM et nous offrons également un simulateur dans Azure de 40 qubits. Tout cela est disponible à travers une extension Visual Studio sous Windows ou VS code pour Linux et MacOS. Vous trouverez l’ensemble à l’adresse suivante : http://www.microsoft.com/quantum. Enfin, si vous souhaitez faire votre premier “hello world” quantique (soit l’algorithme de téléportation quantique), suivez cette excellente série de vidéo : MS Quantum Playlist.

Vous en voulez encore plus ? Vous voulez comprendre plus en détail ? Voici 2 excellents articles permettant de vous mettre en pied à l’étrier quantique :

A Beginner’s Guide to Quantum Computing and Q#
Quantum Teleportation in Q#
– Pour apprendre le fonctionnement des portes quantiques en Q#: https://aka.ms/quantum-katas ainsi que quelques algorithmes.

Attention, c’est quand même assez complexe malgré tout.

Côté Google, il y a un projet nommé « Quantum Computing Playground » : http://www.quantumplayground.net qui se trouve être une expérimentation Chrome basée sur WebGL. L’idée est de simuler, à l’aide du GPU, un ordinateur quantique de 22 qubits.

Enfin côté IBM, le projet s’appelle IBM Quantum Experience : https://www.research.ibm.com/ibm-q/qx. Il vous permet d’exécuter, à travers le Cloud, des algorithmes quantiques et d’expérimenter ce qu’il est possible de faire avec l’informatique quantique. J’ai également particulièrement apprécié la vidéo d’une ingénieure de chez IBM que je vous recommande chaudement : A Beginner’s Guide To Quantum Computing

L’approche de Microsoft

L’approche de D-Wave est intéressante mais pour certains « la machine actuelle n’est pas un calculateur quantique général, mais optimisé pour un type de calcul nommé le recuit simulé ».

Les grandes entreprises comme Google, IBM ou Microsoft planchent donc toutes à trouver un moyen de créer un calculateur quantique général.

Microsoft a choisi une approche différente des autres suite à la découverte, en 2012, d’une particule appelée fermion de Majorana qui avait été théorisée en 1937. Cette particule permettrait de mettre au point un qubit dit topologique, plus stable car moins sensibles à la décohérence et plus prometteurs pour une fabrication industrielle de l’ordinateur quantique. En effet, tous les qubits ne sont pas équivalents. Les particules quantiques sont très sensibles à la chaleur, à la lumière ou au magnétisme. Du coup, en fonction de l’approche retenue pour construire un qubit, le taux d’erreur associé ou sa durée de vie peuvent fortement variés. N’oublions pas que l’informatique quantique est probabiliste. Donc si le fait d’ajouter de nombreux qubits les uns derrière les autres augmentent fortement le taux d’erreur associé, cela réduit d’autant l’intérêt. Contrairement aux processeurs classiques, comparer 2 processeurs quantiques en fonction du nombre de qubits pour en déduire sa puissance n’a pas de sens. Globalement, bien entendu, plus le nombre de qubits sera important plus la puissance de calcul associée est censée également être importante. Mais si, et seulement si, le taux d’erreur des qubits utilisés reste maitrisé.

Pour en savoir davantage, je vous invite à lire ces 2 articles :

Ordinateur quantique : Microsoft et Alcatel-Lucent sont-ils sur la bonne piste ?
Des ordinateurs quantiques topologiques avec des fermions de Majorana ?

Mais surtout, pour comprendre notre approche et son potentiel, je vous invite à regarder cette excellente vidéo (en anglais) faite par les chercheurs travaillant sur notre ordinateur quantique chez Microsoft :

Elle est, je trouve, particulièrement claire et explique très bien l’avantage de notre approche du qubit topologique.

Pour finir, sachez que Microsoft a tout simplement une division complète dédiée à la réalisation d’un ordinateur quantique qui se nomme Station Q. Vous pouvez en connaître davantage sur ces différents sites :

https://stationq.microsoft.com/
https://www.microsoft.com/en-us/research/group/station-q/

Vous y trouverez pléthores d’articles et vidéos passionnantes à découvrir.

D’autres articles / formations complémentaires

Je tenterai de mettre à jour régulièrement cette section en fonction de mes découvertes et apprentissages. Voici une liste complémentaire de ressources susceptibles de vous aider :

– La ressource ultime en français : l’ebook fabuleux de plus de 300 pages d’Olivier Ezratty qui couvre presque tous les aspects de l’informatique quantique.
Lecture Collection | The Theoretical Minimum: Quantum Mechanics
Q is for Quantum par Terry Rudolph qui vous donnera certainement envie d’acheter son livre
Les cours quantiques du MIT
Introduction à la physique quantique – partie 1, un cours relativement simple et accessible à tous.
– Les cours passionnants d’Etienne Klein: Cours n°1 – La naissance de la physique quantique
Quantum Computing for Computer Scientists qui est excellent mais qui nécessite d’avoir bien compris de nombreuses notions avant. Retrouvez les slides ici.

J’espère que ce long et détaillé article vous aura aidé à mieux appréhender ce futur qui se précipite depuis quelques mois. L’informatique quantique semble être incontournable pour continuer notre course à la puissance de calcul et pour, je l’espère, améliorer notre monde. Il existe d’autres approches moins médiatiques comme les processeurs neuromorphiques. Par exemple, IBM a réussi à reconstituer un cerveau numérique de rongeur avec 48 puces neuromorphiques. Mais cela est une autre histoire…

N’hésitez pas à partager vos commentaires sur ce blog ou sur twitter : @davrous. twitter-icon-download-18

7 thoughts on “L’IA et la fin du Silicium : introduction aux ordinateurs quantiques

  1. Superbe article David!!

    Je tombe dessus à 5h du matin et je passe 1h15 de pure bonheur [videos and side references included].

    Merci pour ce beau travail de synthèse et vulgarisation.
    Z

  2. Article interessant, bon en gros les developpeurs vont pas se retrouver au chomage demain et c’est rassurant 😀

Leave a Reply

Your email address will not be published. Required fields are marked *