La programmation quantique : un enjeu technologique majeur
Ventio développe une expertise en programmation quantique, et présente sa vision pour le développement de modèles prédictifs en santé.
1 – L’avènement des processeurs quantiques et les applications envisagées
L’informatique quantique représente sans doute la prochaine révolution technologique dans de nombreux secteurs du numérique et de l’industrie. Les grandes puissances économiques dont l’Europe, et les grandes entreprises du numérique investissent massivement sur le sujet. Microsoft, Google, IBM, ou encore Atos, développent leurs codes capables de s’interfacer avec des processeurs quantiques qui deviennent progressivement accessibles en ligne.
Les applications potentielles de ces technologies sont variées :
- En cybersécurité avec d’un côté les communications sécurisées par des clés de chiffrements quantiques, de l’autre les capacités de calcul permettant de casser des codes, en passant par la génération de nombres réellement aléatoires pour le chiffrement de données.
- Dans l’industrie, c’est la possibilité de résoudre des problèmes complexes de conception qui nécessiteraient des ressources de calculs classiques très importantes, en particulier pour la simulation.
- Dans la finance, c’est par exemple la prédiction plus efficace du risque.
- Dans la santé, c’est ouvrir sur des simulations massives pour la conception de nouveaux médicaments, ou sur des modèles prédictifs de maladies plus performants.
Si de nombreux défis restent à relever du point de vue des processeurs en tant que tels (notamment sur la correction des erreurs et sur la capacité à stocker l’information quantique suffisamment longtemps), ces technologies sont néanmoins utilisables en l’état.
2 – Le quantique, c’est d’abord de la physique
Depuis le développement de la physique quantique au début du 20ème siècle, cette théorie n’a cessé de questionner car elle défie l’observation classique et conventionnelle que nous avons du monde.
Les scientifiques pionniers de cette époque ont eux-mêmes eu des difficultés à l’accepter et à la comprendre. Cependant, cela ne les a pas empêchés de l’utiliser et de vérifier qu’elle permet de décrire des phénomènes microscopiques extrêmement variés, impliquant l’atome et la lumière par exemple. Ainsi la physique quantique trouve différentes applications impliquant par exemple l’optique ou la résonance magnétique pour l’analyse moléculaire et l’imagerie.
En physique quantique, une particule peut être dans plusieurs états à la fois. On appelle cela une superposition d’états. La transposition en informatique de cette propriété est portée par le qubit.
Alors qu’en informatique classique, on travaille avec des bits logiques dit déterminés car “vrais” ou “faux”, “0” ou “1” ; l’informatique quantique se construit à partir du qubit qui peut être à la fois “0” et “1”. En revanche le qubit ne fournit que “0” ou “1” lorsque l’on cherche à déterminer sa valeur de manière certaine.
Si un registre de 4 bits (4 boîtes dans lesquelles on met un bit “0” ou “1”), produit 16 états possibles (0000, 0001, 0011 etc.), un registre de 4 qubit produit 16 états superposés en même temps. Un ordinateur quantique n’explore donc pas une combinaison, un seul chemin à la fois, mais tous les chemins en même temps.
L’état superposé peut être utilisé comme modèle probabiliste avant même de faire un choix (une mesure) ! C’est un des atouts de l’informatique quantique que de pouvoir manipuler des objets indéterminés pour résoudre des problèmes statistiques complexes.
3 – Résoudre statistiquement des problèmes difficiles grâce aux programmes quantiques
Les algorithmes quantiques peuvent être considérés comme un ensemble de petites opérations classiques réalisées sur des objets quantiques. Parmi ces opérations, il y a par exemple l’initialisation des qubits, la création de superposition d’états, l’intrication entre qubits, et la mesure. Cependant il n’en reste pas moins que les programmes quantiques nécessitent un processeur quantique sur lesquels être exécutés. Alors que les États et les grands industriels travaillent sur les processeurs quantiques en tant que tels, des simulateurs permettent aujourd’hui d’exécuter sur des systèmes classiques ce que ces programmes donneraient sur un processeur quantique. Par exemple, les paquets logiciels associés au langage Qsharp de Microsoft permettent de simuler un ordinateur quantique dans un environnement classique et ainsi de tester des programmes quantiques.
Chez Ventio, nous avons testé quelques algorithmes sur cet environnement dont celui de Grover, qui figure parmi les plus populaires. Il s’agit d’un algorithme de recherche de solutions correspondant à des critères donnés dans un ensemble. L’algorithme de Grover isole les solutions correspondant au critère avec un temps et des ressources bien inférieurs à ce que nécessite les algorithmes classiques de recherche.
Chez Ventio, nous avons appliqué cet algorithme au problème de factorisation des “grands nombres” qui représente une menace pour les méthodes de chiffrement actuelles. Au lieu de tester tous les entiers possibles pour vérifier qu’ils sont des diviseurs d’un nombre, on utilise l’algorithme de Grover. Celui-ci recherche simultanément les solutions qui répondent au critère (ici, les entiers qui divisent l’entier en question). La recherche est effectuée parmi tous les entiers inférieurs, à la première puissance de 2 supérieure à l’entier à factoriser.
Il existe pour chaque recherche avec Grover une phase d’amplification avec un nombre optimal d’itérations pour lequel on a le meilleur taux d’apparition de ces solutions. À chaque application, les entiers qui sont diviseurs ont donc le plus de chance d’être obtenus lorsqu’on effectue la mesure. En répétant plusieurs fois l’algorithme, on pourra alors facilement isoler les entiers qui sont diviseurs en regardant leur occurrence. Ceci est illustré sur la figure ci-dessous issue de nos expériences.
Bien que ce soit une image forcément approximative, on peut considérer que l’on joue au Yahtzee. Au Yahtzee, on prend les 5 dés que l’on tient dans sa main et le but est d’obtenir des combinaisons particulières, telles que des suites, des fulls, des carrés ou, objectif suprême, les 5 dés identiques. L’algorithme quantique, c’est la possibilité de secouer sa main de telle manière qu’une fois lancés sur le plateau, on ait plus de chance d’avoir une combinaison gagnante. En effet, la façon dont les dés s’entrechoquent dans la main va permettre d’introduire cette corrélation entre les dés et de gagner la partie plus facilement.
Pour le même problème de factorisation, on notera qu’il existe l’algorithme de Shor. Cet algorithme est réputé plus performant pour la factorisation que tous les algorithmes classiques et rivalise avec Grover.
Concrètement, l’implémentation de ces algorithmes sur un véritable ordinateur quantique compromettrait très fortement le chiffrement RSA qui repose justement sur le produit de deux grands nombres premiers. L’utilisation des programmes quantiques pour des problèmes probabilistes ne s’arrête pas là, et ils viennent naturellement dans la droite ligne pour l’apprentissage automatique et l’intelligence artificielle.
4 – IA quantique – une représentation adaptée à l’apprentissage de densités de probabilité
Une des perspectives majeures de l’informatique quantique est son utilisation dans le domaine de l’intelligence artificielle et de l’apprentissage automatique, notamment profond. En effet, vu la performance, et compte-tenu de l’aspect probabiliste et statistique intrinsèque des objets quantiques, les algorithmes quantiques semblent naturellement compatibles à l’IA et à l’apprentissage automatique, notamment pour les problèmes de classification, de détection, de prédiction et d’analyse.
On prendra l’exemple ici de la stratégie suivie par Google qui a récemment introduit l’extension quantique de son langage d’apprentissage automatique Tensorflow. Tensorflow quantum offre la possibilité de programmer et d’entraîner des modèles de données hybrides, incluant à la fois des circuits quantiques paramétrables et des couches classiques.
Pour faire simple sur l’apprentissage de ces modèles hybrides, la moyenne statistique d’une mesure effectuée après les couches quantiques fait le lien avec le reste du modèle classique et permet d’appliquer les méthodes de descente de gradient pour mettre progressivement à jour les paramètres du circuit quantique. Cela revient donc à apprendre l’algorithme quantique pour réaliser une tâche donnée.
Chez Ventio, nous travaillons sur des modèles hybrides avec Tensorflow quantum. Pour illustrer rapidement cela, voyons le problème classique de la reconnaissance de caractères manuscrits en utilisant des modèles quantiques et la base de données MNIST qui contient plusieurs dizaines de milliers d’imagettes avec des chiffres manuscrits.
L’enjeu est de faire une classification de ces images avec des modèles quantiques. La première étape est donc de convertir les imagettes de la base MNIST sur des qubits. Ensuite, on définit un modèle de circuit quantique, puis on l’entraine en comparant l’espérance à la valeur attendue.
A ce jour, les performances de ces premiers modèles quantiques appliqués à ces données ne battent pas les modèles classiques qui ont beaucoup plus de paramètres et donc une capacité de représentation suffisante. On espère néanmoins que le quantique battra le classique pour certaines données et certaines tâches.
Chez Ventio, nous mettons nos efforts de R&D sur ces nouvelles technologies de rupture avec le développement d’une expertise en programmation quantique. Les enjeux en interne couvrent le traitement de données sensibles de santé. Nous vous proposons également des services associés tels qu’une initiation ainsi que l’accès à des environnements de programmation quantique privatifs et sécurisés. Laissez-vous porter par le vent de l’innovation, contactez-nous !