Environement de travail Quantique

Par wbenaraiba, 24 février, 2024
logo Azure Quantum

Les différents environnements de travail possibles

À ce jour, plusieurs entreprises nous offrent la possibilité de toucher à la programmation quantique en nous mettant à dispositon des environnements de travail.

Faisons un tour des principales entrprises qui nous rendent accessible cette technologie

IBMImage retirée.

IBM possède une branche dans l'informatique quantique appelée IBM Quantum. Ils ont développé le framework open source Qiskit qui utilise Python comme langage de programmation principal. On peut coder avec cette librairie en local, ou en ligne avec IBM Quantum Experience, une plateforme cloud qui permet aux utilisateurs d'accéder à des ordinateurs quantiques d'IBM via Internet.

 
Google
Image retirée.

 

 

 

Google aussi possède une branche dédiée à l'informatique quantique. Google Quantum a conçu le framework Cirq aussi utilisé avec le langage de programmation Python.

 
 
Microsoft
Image retirée.

Microsoft aussi fait partie de la course quantique avec sa suite d'outils complète Quantum Development Kit qui est faite pour faciliter la programmation quantique. Il comprend des outils tels que la plateforme cloud Azur Quantum qui permet aux développeurs et aux chercheurs d'accéder à des ressources quantiques à distance, de concevoir, simuler et exécuter des algorithmes quantiques. Azure Quantum prend en charge le langage de programmation quantique Q# et offre des intégrations avec différents environnements de développement.

Le langage de programmation Q# est l'un des éléments principal de la palette que propose Microsoft. Il a été développé pour répondre aux exigences uniques du calcul quantique.

Ma veille technologique concerne ce language. C'est pourquoi je vais détailler un peu plus les caractéristiques de Q# et des environements qu'offre Microsoft


 

 Les caractéristiques de Q#

  1. Rends la programmation quantique accessible : Q# offre un haut niveau d'abstraction. C'est à dire que les développeurs peuvent utiliser Q# pour effectuer des opérations quantiques et des algorithmes sans avoir à s'immerger dans les aspects physiques complexes des dispositifs quantiques ou des circuits. Cette abstraction masque les complexités détaillées liées à la manipulation des qubits, à la gestion des erreurs quantiques, etc. Cela permet aux programmeurs de se concentrer sur la logique algorithmique quantique elle-même.


2. Q# est intéropérable : il peut être intégré facilement avec des langages de programmation classiques tels que C# (C Sharp) ou Python, ce qui permet aux développeurs de combiner des composants quantiques avec des applications classiques. Cette interopérabilité offre la possibilité de créer des programmes hybrides qui exploitent à la fois des composants classiques et quantiques au sein d'une même application. Cette capacité à combiner des composants quantiques avec des applications classiques est cruciale car elle permet une transition en douceur vers l'utilisation de l'informatique quantique. Les développeurs peuvent ainsi exploiter les avantages des ordinateurs quantiques pour résoudre certains problèmes spécifiques tout en utilisant des infrastructures classiques pour d'autres parties de leurs applications.

 

3. Bibliothèques standards disponibles : La Quantum Development Kit comprend des bibliothèques standard en Q# qui fournissent des routines et des opérations courantes dans le domaine quantique tel que la supposition quantique ou  l'intrication quantique.


Survolons à présent l' environement que nous allons utiliser pour commencer à se familiariser avec la synthaxe Q#.


Azure Quantum de Microsoft

Comme dit précédemment, Azur Quantum est un service d'informatique quantique cloud qui permet de nous assister dans un parcours évolutif vers l'informatique quantique.

Parmis les 4 outils que nous propose Azure Quantum on peut trouver Azure Quantum Coding, un environement dans lequel on peut executer des programmes avec le langage Q#.

Voici à quoi ressemble cet environnement :  

Image retirée.

 

  • Dans la section encadrée en vert on retrouve des algorithmes déjà fait avec lesquels on peut s'amuser à tester.
  • L'encadré rouge est l'éditeur de code, la zone dans laquelle on rédige les algorithmes.
  • À droite dans l'encadré cyan, on y trouve une IA qui sert d'assistant.
  • L'encadré violet correspond au nombre de shots* qu'on veut paramétrer lors de l'éxécution du programme.  


Lorsqu'on exécute le programme pour afficher *Hello Word* voici comment les résultats sont exposés :

Image retirée.

 

  • Dans l'encadré rouge on a le résultat de la distribution des shots*
  • Dans l'encardré violet on a le résultat de chaque shots avec la sortie du code.


 

*Les shots : Si mon travail de vulgarisation est correctement fait, vous n'êtes pas sans savoir que les lois de la physique quantique est probabiliste en raison du principe de superposition. Ainsi, le résultat de la mesure d'un Qubit dont fait l'objet du code présenté dans ces photos, n'est pas stable. C'est pourquoi quand on exécute un algorithme quantique n nombre de fois, on obtient une distribution statistique des résultats possibles. Un "shot" représente finalement une mesure statistique des résultats obtenus.

 

 

Enfin, on a la possibilité de choisir le simulateur quantique avec lequel nous voulons exécuter le code  comme le montre la photo qui suit. Dans cet environement, nous avons le choix entre :

  1.  *In-Memory Simulator* : Un simulateur quantique qui s'exécute localement sur notre ordinateur. le simulateur exécute les opérations quantiques sur des qubits virtuels.
  2. *Les Quantinuum's H-series Emulator* :  un émulateur basé sur le cloud, qui utilise des qubits physiques.

    Image retirée.


 

La grosse différence entre les deux réside dans les Qubits utilisés. Si d'un côté, le simulateur utilise des Qubits virtuels qui ne sont pas soumis au bruit quantique ou à d'autres perturbations réalistes, laissant place à  des simulations plus rapides et plus propres. Le simulateur basé sur le cloud, lui utilie de vrais qubits, et donc offre une représentation plus précise de la manière dont votre algorithme quantique se comporterait sur un matériel quantique réel.

C'est pour cette raison que le deuxième émulateur prend plus de temps lorsqu'on éxecute le programme, et se limite à 20 shots possible contre 100 pour le simulateur local.



Le mot de la fin

On a pu voir que plusieurs entreprises proposent des environements et des librairies pour faire de la programmation quantique. Mais nous avons aussi vu que Q# est la plus accessible pour se familiariser avec des concpets aussi abstraits.

Aujourd'hui on a pu décortiquer l'environnement dans lequel nous allons travailler, et  comment les programmes sont simulés.

La semaine prochaine je vais m'attaquer à la synthaxe de Q#



 

Ressources

  1. Learn quantum computing with Azure Quantum, https://quantum.microsoft.com/en-us/experience/quantum-coding (Page consultée le 23 fevrier 2024)
  2. Fournisseur Quantinuum, https://learn.microsoft.com/fr-fr/azure/quantum/provider-quantinuum?tabs=tabid-mcmr-with-q-provider%2Ctabid-arbitrary-angle-zz-gates-with-q-provider%2Ctabid-emulator-noise-parameters-with-q-provider%2Ctabid-tket-compilation-with-q-provider (Page consultée le 23 fevrier 2024)
  3. Présentation d’Azure Quantum, https://learn.microsoft.com/fr-fr/azure/quantum/overview-azure-quantum (Page consultée le 23 fevrier 2024)
  4. Fraunhofer-Gesellschaft, IBM Partner On Quantum Computing Research Platform Launch In Germany, https://thequantuminsider.com/2021/04/27/fraunhofer-gesellschaft-ibm-partner-on-quantum-computing-research-platform-launch-in-germany/ (Page consultée le 23 fevrier 2024)
  5.  Google unveils Quantum AI campus, building error-corrected quantum computer, https://www.ciobulletin.com/artificial-intelligence/google-unveils-quantum-ai-campus-building-error-corrected-quantum-computer (Page consultée le 23 fevrier 2024)
  6. Microsoft shares up 8.3% as AI features give a boost to sales, https://www.theguardian.com/technology/2023/apr/25/microsoft-shares-up-chatgpt-bing-search-engine (Page consultée le 23 fevrier 2024)
  7. Fabrice FRACHON , Explore Azure Quantum’s diverse and growing hardware portfolio for free https://cloudblogs.microsoft.com/quantum/2022/03/21/explore-azure-quantums-diverse-and-growing-hardware-portfolio-for-free/


 

Commentaires