Skip to main content

Développement des systèmes : Modes de déploiement

Image

À propos de cette sous-ligne directrice

Cette sous-ligne directrice fait partie de la ligne directrice Développement des systèmes. Elle peut être lue conjointement avec la sous-ligne directrice Développement des systèmes : Déploiement et mise en œuvre. Se reporter à la ligne directrice principale pour le contexte et une vue d'ensemble.

Contexte

Le choix de la technologie et de l'infrastructure influe considérablement sur la robustesse, la sécurité, l'évolutivité, les performances et la facilité de supervision des systèmes d'IA. L'ensemble de ces facteurs contribue à la fiabilité globale de ces systèmes.

Chaque mode de déploiement présente ses propres contraintes. Certains peuvent entraîner des coûts plus élevés, tandis que d'autres peuvent nécessiter des ressources de gestion plus importantes. Il n'existe donc pas de meilleure approche universelle pour le déploiement d'un système d'IA. La clé d'un déploiement réussi réside plutôt dans une évaluation minutieuse des besoins, des ressources et des objectifs du parlement, puis dans le choix d'une approche offrant le meilleur équilibre entre les fonctionnalités et l'aspect pratique pour la situation particulière du parlement.

Caractéristiques des modes de déploiement

Le déploiement des systèmes d'IA implique le respect de plusieurs modes et pratiques afin de garantir que les modèles fonctionnent de manière efficace et fiable dans les environnements de production. Lors de la conception de l'architecture du système d'IA, le parlement doit donc tenir compte des caractéristiques présentées ci-dessous pour le mode de déploiement.

Architecture de déploiement

L'architecture de déploiement d'un système d'IA est déterminée par deux facteurs clés : la manière dont l'algorithme d'IA répond aux requêtes et le lieu où le modèle d'IA est hébergé.
Modes de traitement des requêtes :

  • Traitement par lots : les données sont traitées par lots importants à intervalles réguliers, ce qui rend ce mode adapté aux tâches non sensibles au facteur temps.
  • Mise à disposition en ligne : les requêtes sont traitées en temps réel, au fur et à mesure qu'elles arrivent, ce qui rend ce mode idéal pour les applications nécessitant des réponses immédiates.
  • Flux de données : dans ce mode, les flux de données sont traités en continu, ce qui permet une analyse et des prédictions en quasi-temps réel.

Types de lieux d'hébergement :

  • Sur site : les modèles sont déployés sur des serveurs locaux, souvent dans le but de renforcer la sécurité ou de répondre à des exigences de conformité spécifiques.
  • Cloud : les modèles sont hébergés sur des plates-formes sur le cloud, ce qui offre des avantages tels que l'évolutivité, la souplesse et une gestion réduite de l'infrastructure.
  • Périphérie : les modèles sont déployés sur des appareils en périphérie fournissant des prédictions à faible latence et des capacités hors ligne, ce qui rend cette approche adaptée à l'Internet des objets (IdO) et aux applications mobiles.
  • Hybride : cette approche combine les déploiements sur site, sur le cloud et en périphérie pour optimiser les performances et l'utilisation des ressources en fonction de besoins spécifiques.

Le choix de l'architecture de déploiement dépend de facteurs tels que la sensibilité des données, les exigences en matière de temps de réponse, les ressources disponibles et le scénario spécifique d'utilisation du système d'IA.

Évolutivité

Il est essentiel de connaître le nombre moyen de requêtes que le système d'IA recevra, ainsi que son cycle de vie. Ces facteurs détermineront les caractéristiques d'évolutivité du déploiement :

  • Évolutivité horizontale : ajouter plus d'instances du serveur de modèle pour faire face à une charge accrue.
  • Évolutivité verticale : améliorer la capacité des serveurs existants (par exemple, en ajoutant plus de mémoire ou des unités centrales de traitement plus rapides (CPU)).
  • Évolutivité automatique : ajuster automatiquement le nombre d'instances du modèle en fonction de la demande.

Latence et débit

Lors du déploiement de systèmes d'IA, les deux mesures de performances essentielles à prendre en compte sont la latence et le débit :

  • La latence correspond au temps nécessaire au modèle d'IA pour répondre à une requête, ce qui est particulièrement important pour les applications en temps réel. 
  • Le débit mesure le nombre de requêtes que le modèle d'IA peut traiter par unité de temps, ce qui est essentiel pour les applications à haut volume.

Des valeurs acceptables doivent être définies pour la latence et le débit afin de s'assurer que le système répond aux besoins spécifiques de l'application pour laquelle il a été conçu et qu'il peut traiter efficacement la charge de travail prévue.

Gestion des modèles 

Une gestion efficace des modèles est cruciale tout au long du cycle de vie d'un système d'IA. Cependant, elle devient particulièrement importante une fois que le système d'IA est mis en production. Une stratégie de gestion des modèles bien conçue doit tenir compte de plusieurs aspects essentiels :

  • Gestion des versions : il s'agit de garder une trace des différentes versions du modèle, de garantir la traçabilité et la possibilité de faire marche arrière si nécessaire. Une bonne gestion des versions permet aux équipes de maîtriser les changements, de comparer les performances entre les itérations et de conserver un historique clair des modifications apportées au modèle au fil du temps.
  • Gestion du cycle de vie : cette approche englobe les outils et les processus de déploiement, de contrôle, de mise à jour et, le moment venu, de retrait des modèles. L'objectif est de veiller à ce que la maintenance des modèles soit correcte tout au long de leur vie opérationnelle, depuis leur déploiement initial jusqu'à leur remplacement éventuel.
  • Tests A/B : cette pratique consiste à exécuter simultanément plusieurs versions d'un modèle afin de comparer leurs performances. Les tests A/B permettent aux équipes de prendre des décisions fondées sur des données pour choisir la version du modèle qui donne les meilleurs résultats en conditions réelles avant le déploiement complet.

Suivi et observabilité

  • Mesures des performances : mesures de suivi telles que le temps de réponse, le débit et l'utilisation des ressources
  • Détection de la dérive : identifier le moment où les performances du modèle se dégradent en raison de changements dans la distribution des données.
  • Alertes : mise en place d'alertes en cas d'anomalies ou de dégradation des performances.

Sécurité 

  • Contrôle d'accès : garantir que seuls les utilisateurs et les applications autorisés peuvent interagir avec le modèle.
  • Confidentialité des données : protéger les données sensibles et respecter les réglementations (par exemple, le Règlement général sur la protection des données).
  • Sécurité des modèles : protéger les modèles contre les attaques adverses et l'empoisonnement des données.
    Intégration continue/déploiement continu
  • Automatisation : automatiser le processus de déploiement pour réduire les erreurs et le temps de déploiement.
  • Tests : inclure des tests automatisés (unité, intégration, régression) dans le schéma de déploiement.
  • Retours en arrière : fournir des mécanismes permettant de revenir rapidement aux versions précédentes en cas de problèmes.

Gestion des ressources

  • Accélération matérielle : utiliser des unités de traitement graphique (GPU), des unités de traitement tensoriel (TPU) ou d'autres accélérateurs pour améliorer les performances.
  • Affectation des ressources : gérer les ressources pour optimiser les coûts et les performances.
  • Intégration avec les systèmes existants : proposer des API pour l'intégration avec d'autres systèmes et services.
  • Pipelines de données : s'intégrer avec les pipelines d'ingestion et de prétraitement des données.
  • Boucles retour : mettre en œuvre des systèmes permettant de recueillir des informations en retour sur les prédictions des modèles afin d'améliorer les performances futures.

Résilience et tolérance aux défaillances

  • Redondance : disposer de plusieurs instances ou sauvegardes pour garantir la disponibilité.
  • Basculement : passer automatiquement à des systèmes de secours en cas de défaillance.
  • Logique de réessai : mettre en œuvre des mécanismes pour gérer les défaillances transitoires.

Auditabilité et explicabilité

Dans la plupart des cas, les journaux d'audit sont obligatoires pour les prédictions, les entrées et les interactions avec le système.

Outre l'audit, des outils d'explicabilité peuvent servir à interpréter les décisions des modèles d'IA, améliorant ainsi la confiance et la conformité.

Combinaisons de modes de déploiement

Diverses combinaisons de caractéristiques sont souvent observées dans les scénarios d'utilisation de l'IA. Elles sont détaillées ci-dessous :

Modèle en tant que service

  • Caractéristiques : mettre à disposition des modèles via des API web pour faciliter l'intégration.
  • Scénario d'utilisation : prédictions en temps réel, architecture microservices.

Modèle intégré dans des applications

  • Caractéristiques : intégrer des modèles directement dans les applications, soit localement, soit par l'intermédiaire d'un microservice.
  • Scénario d'utilisation : informatique en périphérie, capacités hors ligne, exigences en matière de faible latence.
    Déploiement en conteneur
  • Caractéristiques : emballer des modèles dans des conteneurs (par exemple, Docker) pour un déploiement cohérent entre les environnements.
  • Scénario d'utilisation : déploiements sur le cloud, microservices, architectures évolutives.

Déploiement sans serveur

  • Caractéristiques : utiliser des plates-formes informatiques sans serveur pour déployer des modèles.
  • Scénario d'utilisation : applications orientées événements, optimisation des coûts pour les charges de travail intermittentes.
    Traitement à la demande/par lots
  • Caractéristiques : déployer des modèles s'exécutant à la demande ou traitant périodiquement de grandes quantités de données.
  • Scénario d'utilisation : pipelines de traitement de données, analyses périodiques.

Analyse de flux

  • Caractéristiques : déployer des modèles pour analyser et prédire des données provenant de sources en flux continu.
  • Scénario d'utilisation : analyse en temps réel, applications IdO.

Tests A/B et mise en production progressive

  • Caractéristiques : tester de nouveaux modèles sur un sous-ensemble de trafic avant leur déploiement complet.
  • Scénario d'utilisation : mises à jour incrémentales, limitation des risques.

Apprentissage fédéré

  • Caractéristiques : entraîner des modèles sur plusieurs appareils ou serveurs décentralisés tout en conservant les données au niveau local.
  • Scénario d'utilisation : applications sensibles à la confidentialité, sources de données distribuées.

Pratiques recommandées pour le déploiement de systèmes d'IA

Voici quelques suggestions et caractéristiques à prendre en compte par les parlements lors de la planification et de l'exécution de déploiements de systèmes d'IA évolutifs, fiables, sûrs et efficaces :

  • S'assurer de la meilleure adéquation : choisir un mode de déploiement en fonction du scénario spécifique d'utilisation, des exigences en matière de performances et des contraintes du domaine.
  • Contrôler et itérer : contrôler en permanence les modèles déployés et les adapter en fonction du retour d'information des utilisateurs et des mesures des performances.
  • Maintenir la sécurité : mettre en œuvre de robustes pratiques de sécurité pour protéger les modèles et les données dans les environnements de production.
  • Optimiser les ressources : gérer efficacement les ressources pour équilibrer les performances et les coûts, en tirant parti d'approches telles que la conteneurisation et les architectures sans serveur, le cas échéant.

Les Lignes directrices pour l’IA dans les parlements ont été produites par l’UIP en collaboration avec le Pôle parlementaire sur la science des données du Centre pour l'innovation au parlement de l'UIP. Ce document est soumis à une licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. Il peut être librement partagé et réutilisé en mentionnant l'UIP. Pour plus d'informations sur les travaux de l'UIP en matière d'intelligence artificielle, veuillez consulter le site www.ipu.org/fr/impact/democratie-et-parlements-forts/lintelligence-artificielle ou contacter [email protected].