Modifier

Partager via


Intégration de l’informatique quantique à des applications classiques

Azure Quantum
Azure Key Vault
Microsoft Entra ID

L’informatique classique est mise à l’épreuve par des problèmes de calcul toujours plus complexes et toujours plus nombreux, même quand elle s’appuie sur nos supercalculateurs les plus puissants. Les ordinateurs quantiques promettent d’étendre considérablement nos capacités de calcul. En exploitant les propriétés de la physique quantique pour effectuer des calculs, ils signent des accélérations exponentielles pour la résolution de certains types de problèmes. Par exemple, les ordinateurs quantiques sont d’une efficacité redoutable pour les problèmes nécessitant de calculer un grand nombre de combinaisons possibles, souvent dans des scénarios d’optimisation, de simulation ou de machine learning.

Toutefois, les composants d’informatique quantique ont un modèle d’exploitation différent de celui des logiciels classiques. Il existe généralement un ou plusieurs composants de calcul classiques qui orchestrent l’exécution des composants quantiques. Cette orchestration comprend les activités suivantes :

  • Préparation des données d’entrée
  • Envoi de travaux d’informatique quantique à un environnement quantique cible
  • Monitoring de l’exécution du travail
  • Post-traitement des résultats du travail

Vous pouvez intégrer cette orchestration à des applications classiques de l’une des deux manières suivantes :

  • Intégration via un couplage étroit. La logique de l’orchestration des ressources quantiques est intégrée au composant ou aux composants classiques.
  • Intégration via un couplage faible. La logique de l’orchestration des ressources quantiques est exposée dans une API qui peut être appelée par différents composants logiciels classiques.

Cet article explique comment implémenter des applications quantiques dans chacune de ces conceptions. Toutes les implémentations utilisent Azure Quantum comme moteur de calcul quantique, mais elles diffèrent légèrement à d’autres égards comme expliqué ci-après.

Approche étroitement couplée

Cas d’usage potentiels

L’approche étroitement couplée est préférable dans les cas suivants :

  • Une équipe possède à la fois le code quantique et le code classique, et le code est intégré.
  • Les composants quantiques partagent le même cycle de vie que les composants classiques.
  • L’utilisation des composants quantiques est limitée à une seule application ou à un petit ensemble d’applications associées.
  • Le travail quantique représente une solution spécialisée (par exemple, une simulation moléculaire) qui sera utilisée uniquement par une application classique spécialisée.
  • L’algorithme implémenté est hybride quantique-classique par nature, par exemple Variational Quantum Eigensolvers (VQE) et Quantum Approximate Optimization Algorithms (QAOA).

Architecture

Diagramme d’architecture illustrant une application hybride contenant un travail d’informatique quantique fortement couplée.

Téléchargez un fichier PowerPoint de cette architecture.

Dataflow

  1. Un utilisateur connecté déclenche l’exécution du travail quantique via une application cliente classique.
  2. L’application cliente place les données d’entrée dans le Stockage Azure.
  3. L’application cliente envoie le travail à un espace de travail Azure Quantum, en spécifiant la cible ou les cibles d’exécution. Le client identifie l’espace de travail via des données stockées dans Key Vault et s’authentifie auprès de l’espace de travail par le biais d’une identité managée.
  4. Un fournisseur quantique exécute le travail sur un environnement cible.
  5. L’application cliente surveille l’exécution du travail en interrogeant l’état du travail.
  6. Dès que le travail quantique est terminé, l’application cliente obtient le résultat du calcul à partir du Stockage.

Ce workflow implémente le Modèle de demande-réponse asynchrone et les étapes définies pour le cycle de vie du travail Azure Quantum.

Composants

  • Azure Quantum fournit un espace de travail, accessible à partir du portail Azure, pour les ressources associées à l’exécution de travaux quantiques sur différentes cibles. Selon le fournisseur que vous choisissez, les tâches sont exécutées sur des simulateurs quantiques ou sur du matériel quantique.
  • Microsoft Entra ID coordonne l’authentification des utilisateurs et vous aide à protéger l’accès à l’espace de travail Azure Quantum.
  • Key Vault protège et maintient le contrôle des clés et d’autres secrets, comme le nom de l’espace de travail Azure Quantum.
  • Stockage Azure fournit un stockage pour les données d’entrée et les résultats du fournisseur quantique.

Disponibilité

La disponibilité de la fonctionnalité d'informatique quantique dépend fortement de la disponibilité et de la base d'installation du fournisseur d'informatique quantique. En fonction de la cible de calcul, l’application cliente classique peut être confrontée à de longs retards ou à une indisponibilité de la cible.

Pour les services Azure environnants, les considérations de disponibilité habituelles s’appliquent :

  • Utilisez les options de redondance de Key Vault.
  • Si nécessaire, utilisez les options de réplication du stockage.

Sécurité

Contrairement à l’architecture pour l’alternative faiblement couplée, l’architecture présentée ici est basée sur l’hypothèse qu’un seul client accède à l’espace de travail Azure Quantum. Ce scénario conduit aux configurations suivantes :

  • Étant donné que le client est connu, vous pouvez implémenter l’authentification via une identité managée, associée à l’application.
  • Vous pouvez implémenter la limitation des requêtes et la mise en cache des résultats dans le client lui-même.

En général, le cas échéant, envisagez l’application des modèles de conception standards pour la sécurité.

Approche faiblement couplée

Cas d’usage potentiels

L’approche faiblement couplée est préférable dans les cas suivants :

  • Vous disposez d’une équipe de spécialistes quantiques dédiée qui fournit des fonctionnalités quantiques à d’autres équipes de manière centralisée. Les composants quantiques sont développés indépendamment de tout composant client classique.
  • Le travail quantique représente une solution générique (par exemple, la planification des travaux) pouvant être réutilisée par plusieurs applications classiques.

Architecture

Diagramme d’architecture illustrant une application hybride contenant un travail d’informatique quantique faiblement couplée.

Téléchargez un fichier PowerPoint de cette architecture.

Dataflow

  1. Un utilisateur connecté déclenche l’exécution du travail quantique via une application classique.
  2. L’application classique appelle l’API de travail personnalisé pour envoyer le travail.
  3. La passerelle API déclenche la fonction Azure d’envoi de travail, qui transmet les données d’entrée du travail.
  4. La fonction place les données d’entrée dans le Stockage Azure.
  5. La fonction envoie le travail à un espace de travail Azure Quantum, en spécifiant la ou les cibles d’exécution. La fonction identifie l’espace de travail via des données stockées dans Azure Key Vault et s’authentifie sur l’espace de travail avec une identité managée.
  6. Un fournisseur quantique exécute le travail sur un environnement cible.
  7. L’application cliente monitore l’exécution du travail en interrogeant l’état du travail avec des appels d’API.
  8. La passerelle API monitore l’exécution du travail en interrogeant l’état du travail à partir du fournisseur quantique.
  9. Une fois le travail terminé, les résultats de calcul sont stockés dans le Stockage Azure. L’application cliente obtient les résultats en utilisant une API implémentée via la fonction Azure.

Ce workflow implémente le Modèle de demande-réponse asynchrone et les étapes définies pour le cycle de vie du travail Azure Quantum.

Composants

  • Azure Quantum fournit un espace de travail, accessible à partir du portail Azure, pour les ressources associées à l’exécution de travaux quantiques sur différentes cibles. Selon le fournisseur que vous choisissez, les tâches sont exécutées sur des simulateurs quantiques ou sur du matériel quantique.
  • Microsoft Entra ID coordonne l’authentification des utilisateurs et vous aide à protéger l’accès à l’espace de travail Azure Quantum.
  • Gestion des API est la passerelle API qui expose de manière centralisée les points de terminaison d’API pour la gestion des travaux quantiques.
  • Azure Functions est utilisé pour transférer les demandes clientes aux ressources quantiques appropriées.
  • Azure Key Vault protège et gère le contrôle des clés et d’autres secrets, comme le nom de l’espace de travail Azure Quantum.
  • Le Stockage Azure fournit un stockage pour les données d’entrée et les résultats du fournisseur quantique.

Disponibilité

La disponibilité de la fonctionnalité d'informatique quantique dépend fortement de la disponibilité et de la base d'installation du fournisseur d'informatique quantique. En fonction de la cible de calcul, l’application cliente classique peut être confrontée à de longs retards ou à une indisponibilité de la cible.

Pour les services Azure environnants, les considérations de disponibilité habituelles s’appliquent :

  • Pour la haute disponibilité, vous pouvez déployer Gestion des API dans plusieurs zones ou régions.
  • Si vous utilisez la géoréplication, vous pouvez provisionner Azure Functions dans plusieurs régions.
  • Utilisez les options de redondance de Key Vault.
  • Si nécessaire, utilisez les options de réplication du stockage.

Performances et évolutivité

Les performances de l’application dépendent de la disponibilité et des performances des cibles d’informatique quantique sous-jacentes. Pour plus d’informations sur les performances et la scalabilité des composants classiques, passez en revue les modèles de conception standard pour la scalabilité et la check-list d’efficacité des performances.

Sécurité

Contrairement à l’architecture de l’alternative faiblement couplée, l’architecture présentée ici est basée sur l’hypothèse que plusieurs clients accèdent à l’espace de travail Azure Quantum avec l’API. Ce scénario conduit aux configurations suivantes :

  • Les clients doivent s’authentifier sur l’API. Vous pouvez implémenter cette authentification en utilisant des stratégies d’authentification.
  • Vous pouvez implémenter l’authentification des fonctions Azure en utilisant des identités managées associées aux fonctions. Vous pouvez utiliser ces identités pour vous authentifier sur l’espace de travail Azure Quantum.
  • Plusieurs clients accèdent à l’API. Vous pouvez implémenter une limitation des demandes en utilisant la limitation des demandes de Gestion des API pour protéger le back-end quantique et limiter l’utilisation des ressources quantiques.
  • Selon le modèle de demande, vous pouvez peut-être implémenter la mise en cache des résultats de l’informatique quantique en utilisant des stratégies de mise en cache de Gestion des API.

En général, appliquez les modèles de conception standard pour la sécurité, le cas échéant.

Fonctionnalités communes

Les caractéristiques suivantes sont communes aux modèles d’implémentation étroitement couplé et faiblement couplé.

Autres solutions

Les architectures présentées ici traitent les problèmes métier qui nécessitent des ressources d’informatique quantique pour leurs tâches de calcul. Pour certains défis liés au calcul, les services existants conçus pour effectuer un calcul haute performance ou fournir des fonctionnalités d’IA peuvent être une alternative.

Considérations

Dans un avenir proche, certaines des cibles quantiques Azure (notamment le matériel quantique) deviendront des ressources limitées. L’accès à ces ressources est implémenté par un mécanisme de mise en file d’attente. Quand vous envoyez un travail quantique à Azure Quantum, ce travail est ajouté à une file d’attente de travaux. Le travail sera exécuté quand la cible aura terminé de traiter les entrées antérieures de la file d’attente. Vous pouvez obtenir le temps d’attente estimé en listant les cibles disponibles. Pour calculer le temps de réponse total, vous devez ajouter le temps d’attente avant qu’une ressource soit disponible à la durée d’exécution du travail.

Performances et évolutivité

Les performances de l’application dépendent de la disponibilité et des performances des cibles d’informatique quantique sous-jacentes. Pour plus d’informations sur les performances et la scalabilité des composants classiques, passez en revue les modèles de conception standard pour la scalabilité et la check-list d’efficacité des performances.

Résilience

Comme les environnements cibles quantiques tels qu’Azure Quantum offrent généralement une correction d’erreur limitée (limitée au processeur quantique dans le cas d’Azure Quantum), d’autres erreurs telles que l’expiration du délai d’attente de l’ordinateur quantique peuvent toujours se produire. Il est donc recommandé de superviser l’exécution des travaux pour pouvoir informer l’utilisateur de leur état. En cas d’échec de l’exécution du travail en raison d’une erreur temporaire, implémentez un modèle de nouvelle tentative. Envoyez les travaux via des appels asynchrones, avec l’interrogation du résultat, afin d’éviter le blocage inutile du client appelant.

Les ressources d’informatique quantique sont généralement limitées et ce facteur doit être pris en compte dans les attentes en termes de résilience. Les suggestions proposées dans cet article peuvent donc inclure des mesures de résilience supplémentaires.

DevOps

L’incorporation de travaux quantiques dans des pipelines CI/CD classiques peut être effectuée à l’aide d’Azure DevOps. Il suffit d’apporter de légères modifications à une conception classique. La conception ci-dessous illustre un workflow de pipeline DevOps pouvant être appliqué aux architectures étroitement couplées et faiblement couplées.

Architecture

Diagramme d’architecture montrant un pipeline CI/CD classique auquel Azure Quantum est incorporé.

Téléchargez un fichier PowerPoint de cette architecture.

Dataflow

  1. Le développeur modifie le code source des composants de l’application.
  2. Les modifications sont validées dans le dépôt de code source.
  3. Les modifications apportées au code quantique déclenchent le pipeline de build quantique. Le pipeline de build extrait le code, le compile, estime les ressources nécessaires et exécute l’algorithme sur un simulateur.
  4. L’algorithme quantique compilé est envoyé à un environnement quantique à des fins de test.
  5. Les modifications déclenchent un pipeline de build pour les composants classiques. Le pipeline extrait le code, le compile et exécute les tests unitaires et d’intégration.
  6. La réussite de la compilation et des tests déclenche un pipeline de mise en production. Le pipeline provisionne d’abord l’environnement Azure en déployant les modèles Azure Resource Manager stockés dans le dépôt (Infrastructure as Code).
  7. Les artefacts de l’application classique compilés sont déployés sur Azure. Les tâches quantiques sont envoyées à un espace de travail quantique durant l’exécution.
  8. Application Insights effectue le monitoring des informations relatives à l’utilisation, aux performances, à l’intégrité et au comportement du runtime.
  9. Les éléments de backlog sont mis à jour au besoin, en fonction des résultats du monitoring.
  10. Le développeur utilise Application Insights pour obtenir des retours sur l’application et l’optimiser.

Composants

Cette solution utilise les outils de DevOps suivants :

  • Azure Repos fournit un nombre illimité de dépôts Git privés hébergés dans le cloud. Il est utilisé ici pour stocker le code quantique, le code classique et les modèles Azure Resource Manager utilisés pour provisionner l’environnement.
  • Azure Pipelines vous permet de générer, tester et déployer en continu sur le cloud. Ici, il est utilisé pour implémenter CI/CD, notamment le provisionnement de l’environnement avant le déploiement du code.

En guise d’alternative, vous pouvez utiliser des dépôts et des actions GitHub pour implémenter les processus CI/CD.

La solution utilise les autres composants suivants :

  • Une application cliente orchestre le travail quantique. Vous pouvez implémenter l’intégration en adoptant une approche étroitement couplée ou faiblement couplée.
  • Azure Quantum fournit un espace de travail pour les ressources associées à l’exécution d’applications d’informatique quantique. Selon le fournisseur que vous choisissez, les tâches sont exécutées sur des simulateurs quantiques ou sur du matériel quantique.
  • Microsoft Entra ID coordonne l’authentification utilisateur et protège l’accès à l’espace de travail Azure Quantum.
  • Azure Key Vault protège et maintient le contrôle des clés et d’autres secrets, comme le nom de l’espace de travail quantique.
  • Le Stockage Azure contient les données d’entrée et de sortie du travail quantique.
  • Application Insights effectue le monitoring de l’application, détecte les anomalies comme des performances médiocres et des défaillances, et envoie la télémétrie au portail Azure.

Optimisation des coûts

Le coût global de cette solution dépend de la cible de calcul quantique que vous sélectionnez pour exécuter le travail quantique. Le calcul des coûts estimés pour les composants classiques est simple. Vous pouvez utiliser la calculatrice de tarification Azure.

Pour le service Azure Quantum, considérez que les fournisseurs de calcul quantique peuvent être consommés via une offre Azure Marketplace. La tarification dépend du type de ressource (simulateur ou matériel), de la référence SKU et de votre utilisation. Pour plus d’informations, consultez la page de référence pour le fournisseur requis pour votre scénario. Ces pages de référence sont répertoriées dans Fournisseurs de calcul Quantum sur Azure Quantum.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

  • Holger Sirtl | Architecte technique principal au centre technologique de Microsoft

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes