Les systèmes d’IA composés sont des configurations avancées qui associent plusieurs modèles d’IA, techniques ou systèmes pour résoudre les problèmes complexes plus efficacement qu’un seul modèle d’intelligence artificielle (IA). Ces systèmes intègrent différents composants, chacun spécialisé dans une tâche particulière, pour accomplir un travail collaboratif ou séquentiel.
Bien que l’on accorde une grande attention aux grands modèles de langage (LLM), ces modèles massifs de machine learning (ML) présentent des limites. Ils sont coûteux à exécuter et à développer, et ils sont lents. Ils n’intègrent pas d’expertise propre au domaine et ne sont pas toujours aptes à gérer des tâches complexes impliquant de nombreuses étapes sur plusieurs systèmes.
En raison de ces contraintes, les chercheurs ont constaté qu’en complétant les modèles monolithiques par d’autres modèles et outils, chacun optimisé pour un rôle spécifique, on peut obtenir une approche plus efficace.
Un article de blog publié par le Berkeley Artificial Intelligence Research (BAIR) Lab en 2024 a été une des premières visions claires de ce à quoi pourraient ressembler des systèmes d’IA composés. La publication suggérait que pour obtenir de meilleurs résultats, la solution serait d’élaborer des systèmes d’IA composés et que l’avenir de l’IA dépendrait de la capacité des organisations à rassembler des LLM, des systèmes de récupération, des agents d’IA et des outils externes, chacun optimisé pour des tâches spécifiques.
L’orchestration de plusieurs modèles et composants interactifs individuels présente de nombreux avantages.
En répartissant les tâches entre des modèles spécialisés, les systèmes composés réduisent la charge cognitive exercée sur les composants individuels de l’IA. Par exemple, un modèle peut se concentrer sur l’analyse de données structurées, tandis qu’un autre interprètera des données non structurées telles que des images ou du texte. Cette répartition du travail permet d’améliorer les performances et de gagner en précision par rapport aux systèmes à modèle unique.
Les LLM sont impressionnants, d’autant plus lorsqu’on accroît leurs ressources de calcul, ce qui n’empêche pas de se heurter à des plafonds de performance et à des rendements décroissants en raison des lois de l’évolutivité. Parfois, il est préférable de déléguer certaines tâches à un autre modèle, agent ou outil moins gourmand en ressources que d’augmenter les capacités de calcul du LLM.
Il est parfois plus rapide de combiner plusieurs modèles pour effectuer une tâche que d’entraîner un seul LLM à cet effet. De plus, les systèmes composés peuvent traiter différents types de données simultanément, ce qui permet de prendre des décisions en temps réel. Cet aspect est crucial dans les applications d’IA telles que la détection des fraudes, où il est primordial de réagir rapidement, ou dans les applications edge, où la latence doit être réduite au minimum.
Les systèmes composés sont très polyvalents et peuvent s’appliquer à de nombreux cas d’utilisation. Cette polyvalence en fait un choix privilégié pour les entreprises visant à optimiser leurs opérations dans plusieurs domaines.
Il peut être bénéfique pour les organisations d’adopter des systèmes combinant composants préentraînés, solutions open source et modules personnalisés. Elles pourront ainsi mettre à jour ou remplacer chaque composant de manière indépendante au fur et à mesure que la technologie évolue, sans devoir remanier l’ensemble du système. En répartissant les tâches entre différents modèles, les systèmes composés bénéficient de l’adaptabilité et de la résilience face aux défaillances des composants individuels.
Les méthodes composées, notamment la génération augmentée de récupération (RAG), étendent les capacités des LLM en leur permettant d’accéder à des sources de données en dehors de leurs jeux de données d’entraînement initiaux. La combinaison de différents modèles permet aux développeurs d’optimiser des aspects spécifiques, tels que la vitesse ou l’expertise dans un domaine.
Les LLM peuvent être difficiles à manier, sujets aux hallucinations et prendre des décisions qui ne sont pas toujours faciles à expliquer. Une solution d’IA composée peut aider à contrôler les entrées et à filtrer les résultats, offrant ainsi un comportement plus maîtrisé, qui renforce la confiance.
Les systèmes d’IA composés sont déjà employés dans des cas d’utilisation réels, notamment :
Certaines versions de chatbots, notamment ChatGPT d’OpenAI et Copilot de Microsoft, sont fondées sur des architectures composées. ChatGPT, par exemple, étend sa fonctionnalité à travers plusieurs outils et API pour des tâches spécifiques.
Il regroupe un LLM, le générateur d’images DALL-E et un plug-in d’interprétation de code. Il utilise la RAG pour accéder à des sources de données et à des bases de connaissances externes de manière dynamique. Des modèles d’IA distincts sont utilisés pour détecter et filtrer les contenus nuisibles ou inappropriés avant de fournir une réponse.
Bien que cette technologie ne soit pas encore généralisée, les systèmes de véhicules autonomes utilisent des modèles de vision par ordinateur pour détecter et reconnaître les objets dans l’environnement du véhicule. Les algorithmes de fusion de capteurs combinent les données des caméras, du LiDAR, du radar et des capteurs à ultrasons pour créer une carte 3D complète de l’environnement, améliorant ainsi la conscience situationnelle.
Les modèles d’apprentissage par renforcement gèrent la prise de décision, par exemple en déterminant quand changer de voie, ajuster la vitesse ou s’arrêter à un feu de circulation, en fonction des conditions en temps réel.
En outre, le traitement automatique du langage naturel (NLP) permet au véhicule d’interpréter et de répondre aux commandes vocales des passagers. Ces composants fonctionnent de concert pour traiter de grandes quantités de données, prendre des décisions intelligentes et rapides, et offrir une expérience intuitive.
Un système d’IA composé dans le support client combine plusieurs technologies d’IA pour fournir un service efficace, personnalisé et réactif. Par exemple, les modèles NLP analysent les demandes des clients pour en extraire l’intention et les détails clés, permettant ainsi au système de comprendre le problème avec précision.
Une fois l’intention définie, un chatbot alimenté par l’IA générative engage la conversation avec le client pour lui offrir une assistance immédiate ou apporter des précisions. Parallèlement, un système de recommandation propose des solutions pertinentes, telles que des étapes de dépannage, des articles de FAQ ou des recommandations de produits adaptées aux besoins du client.
Pour améliorer l’expérience, un modèle d’analyse des sentiments évalue le ton et l’état émotionnel du client, ce qui permet de hiérarchiser les cas urgents ou d’insatisfaction en vue d’une intervention humaine. Cette combinaison de composants permet un support client rapide, intelligent et empathique, réduisant le temps de résolution tout en maintenant un niveau élevé de satisfaction de la clientèle.
Un système d’IA composé dans les chaînes d’approvisionnement utilise plusieurs composants d’IA pour optimiser la logistique, la gestion des stocks et l’efficacité globale. Par exemple, les modèles d’analyse prédictive prévoient la demande en analysant les données de vente historiques, les tendances saisonnières et les variables du marché, ce qui permet une planification précise des stocks.
Les systèmes de vision par ordinateur suivent les opérations des entrepôts, repérant les inefficacités ou les erreurs en temps réel, comme les articles égarés ou les marchandises endommagées. Dans le même temps, les algorithmes d’optimisation d’itinéraire déterminent les trajets de livraison les plus efficaces, en tenant compte de facteurs tels que le trafic, la météo et la consommation de carburant.
En outre, le NLP permet de gérer automatiquement les communications avec les fournisseurs et les clients, comme le traitement des commandes ou la réponse aux demandes. En intégrant ces composants, le système améliore la réactivité de la chaîne d’approvisionnement, réduit le gaspillage et garantit une livraison dans les délais, tout en s’adaptant dynamiquement à l’évolution de la demande et des conditions externes.
La conception de systèmes d’IA composés implique l’intégration de plusieurs modèles d’IA et composants dans des cadres cohérents adaptés à des tâches complexes. Ces cadres fournissent l’infrastructure permettant de combiner divers modèles d’IA et contribuent à assurer une communication fluide entre eux.
Dans un système d’IA composé, une logique de commande programmée peut faire appel à un modèle, ou un LLM peut être « aux commandes », en fonction des objectifs du système.
Les deux approches présentent des avantages distincts, et les différentes manières dont les modèles et autres composants peuvent fonctionner ensemble au sein d’un système d’IA sont illimitées. Les concepteurs doivent donc réfléchir de manière critique à leur approche et être prêts à expérimenter différentes architectures et combinaisons de composants.
Les opérations de machine learning (MLOPs) deviennent plus délicates avec les workflows composés. Par exemple, il est difficile d’appliquer des indicateurs cohérents à différents types d’outils et de modèles. Les chercheurs du BAIR affirment qu’une nouvelle phase de développement de l’IA émerge parallèlement au passage aux systèmes composés pour relever les défis posés par la surveillance, le débogage et d’autres préoccupations opérationnelles associées.