Intelligence Artificielle
AIOS : système d'exploitation pour les agents LLM

Au cours des six dernières décennies, les systèmes d'exploitation ont progressivement évolué, passant des systèmes de base aux systèmes d'exploitation complexes et interactifs qui équipent les appareils actuels. Initialement, les systèmes d'exploitation servaient de passerelle entre les fonctionnalités binaires du matériel informatique, comme la manipulation de portes, et les tâches utilisateur. Au fil des ans, ils sont toutefois passés de simples systèmes de traitement par lots à des techniques de gestion de processus plus sophistiquées, notamment le multitâche et le temps partagé. Ces avancées ont permis aux systèmes d'exploitation modernes de gérer un large éventail de tâches complexes. L'introduction d'interfaces utilisateur graphiques (IUG) comme Windows et macOS a rendu les systèmes d'exploitation modernes plus conviviaux et interactifs, tout en enrichissant l'écosystème des systèmes d'exploitation avec des bibliothèques d'exécution et une suite complète d'outils de développement.
Les innovations récentes incluent l'intégration et le déploiement de grands modèles linguistiques (LLM), qui ont révolutionné diverses industries en ouvrant de nouvelles possibilités. Plus récemment, les agents intelligents basés sur LLM ont montré des capacités remarquables, atteignant des performances proches de celles des humains sur un large éventail de tâches. Cependant, ces agents en sont encore aux premiers stades de développement et les techniques actuelles sont confrontées à plusieurs défis qui affectent leur efficience et leur efficacité. Les problèmes courants incluent la planification sous-optimale des requêtes des agents sur le grand modèle de langage, les complexités liées à l'intégration d'agents avec différentes spécialisations et le maintien du contexte lors des interactions entre le LLM et l'agent. Le développement rapide et la complexité croissante des agents basés sur LLM conduisent souvent à des goulots d'étranglement et à une utilisation sous-optimale des ressources.
Pour relever ces défis, cet article présente AIOS, un système d'exploitation d'agent LLM conçu pour intégrer de grands modèles de langage comme « cerveau » du système d'exploitation, lui conférant ainsi une « âme ». Plus précisément, le framework AIOS vise à faciliter le changement de contexte entre les agents, à optimiser l'allocation des ressources, à fournir des services d'outils aux agents, à maintenir le contrôle d'accès et à permettre l'exécution simultanée des agents. Nous approfondirons le framework AIOS, explorerons ses mécanismes, sa méthodologie et son architecture, et le comparerons aux frameworks de pointe. Plongeons-nous dans le vif du sujet.
Après avoir obtenu un succès remarquable dans les grands modèles de langage, le prochain objectif de l'industrie de l'IA et du ML est de développer des agents d'IA autonomes capables de fonctionner de manière indépendante, de prendre des décisions par eux-mêmes et d'effectuer des tâches avec un minimum ou aucune intervention humaine. Ces agents intelligents basés sur l'IA sont conçus pour comprendre les instructions humaines, traiter les informations, prendre des décisions et prendre les actions appropriées pour atteindre un état autonome, l'avènement et le développement de grands modèles de langage apportant de nouvelles possibilités au développement de ces agents autonomes. Les cadres LLM actuels, notamment DALL-E, GPT et bien d'autres, ont montré des capacités remarquables à comprendre les instructions humaines, les capacités de raisonnement et de résolution de problèmes, ainsi qu'à interagir avec les utilisateurs humains ainsi qu'avec des environnements externes. Construits sur ces grands modèles de langage puissants et performants, les agents basés sur LLM ont de fortes capacités d'exécution de tâches dans divers environnements allant des assistants virtuels aux systèmes plus complexes et sophistiqués impliquant la création de résolution de problèmes, de raisonnement, de planification et d'exécution.
La figure ci-dessus donne un exemple convaincant de la façon dont un agent autonome basé sur LLM peut résoudre des tâches du monde réel. L'utilisateur demande au système des informations sur le voyage, après quoi l'agent de voyages décompose la tâche en étapes exécutables. Ensuite, l'agent effectue les étapes de manière séquentielle, réservant des vols, réservant des hôtels, traitant les paiements, etc. Lors de l'exécution des étapes, ce qui distingue ces agents des applications logicielles traditionnelles est la capacité des agents à faire preuve de capacités de prise de décision et à intégrer un raisonnement dans l'exécution des étapes. Parallèlement à une croissance exponentielle de la qualité de ces agents autonomes, la pression exercée sur les fonctionnalités des grands modèles de langage et des systèmes d'exploitation a connu une augmentation, et un exemple de la même chose est que la priorisation et la planification des demandes d'agent dans de grands modèles de langage limités posent un défi important. De plus, étant donné que le processus de génération de grands modèles de langage devient une tâche fastidieuse lorsqu'il s'agit de contextes longs, il est possible pour le planificateur de suspendre la génération résultante, ce qui soulève le problème de la conception d'un mécanisme pour capturer le résultat de la génération actuelle du modèle de langage. . En conséquence, le comportement de pause/reprise est activé lorsque le grand modèle de langage n’a pas finalisé la génération de réponse pour la requête en cours.
Pour relever les défis mentionnés ci-dessus, AIOS, un système d'exploitation à grand modèle de langage, fournit des agrégations et une isolation des modules des fonctionnalités LLM et OS. Le framework AIOS propose une conception de noyau spécifique à LLM dans le but d'éviter les conflits potentiels survenant entre les tâches associées et non associées au grand modèle de langage. Le noyau proposé sépare les tâches du système d'exploitation, en particulier celles qui supervisent les agents LLM, les boîtes à outils de développement et leurs ressources correspondantes. En raison de cette ségrégation, le noyau LLM tente d'améliorer la coordination et la gestion des activités liées aux LLM.
AIOS : Méthodologie et Architecture
Comme vous pouvez le constater, six mécanismes majeurs sont impliqués dans le fonctionnement du framework AIOS.
- Planificateur d'agents: La tâche assignée au planificateur d'agent est de planifier et de hiérarchiser les demandes d'agent dans le but d'optimiser l'utilisation du grand modèle de langage.
- Gestionnaire de contexte: La tâche assignée au gestionnaire de contexte est de prendre en charge les instantanés ainsi que la restauration de l'état de génération intermédiaire dans le grand modèle de langage et la gestion des fenêtres contextuelles du grand modèle de langage.
- Gestionnaire de mémoire: La principale responsabilité du gestionnaire de mémoire est de fournir une mémoire à court terme pour le journal des interactions de chaque agent.
- Storage Manager: Le gestionnaire de stockage est chargé de conserver les journaux d'interaction des agents dans un stockage à long terme pour une récupération future.
- Gestionnaire d'outils: Le mécanisme du gestionnaire d'outils gère l'appel des agents vers des outils API externes.
- Gestionnaire d'accès: Le gestionnaire d'accès applique les politiques de confidentialité et de contrôle d'accès entre les agents.
En plus des mécanismes mentionnés ci-dessus, le framework AIOS présente une architecture en couches et est divisé en trois couches distinctes : la couche application, la couche noyau et la couche matérielle. L'architecture en couches mise en œuvre par le framework AIOS garantit que les responsabilités sont réparties uniformément dans le système, et les couches supérieures résument les complexités des couches situées en dessous, permettant des interactions utilisant des modules ou des interfaces spécifiques, améliorant la modularité et simplifiant les interactions du système entre les couches.
En commençant par la couche application, cette couche est utilisée pour développer et déployer des agents d'application tels que des agents mathématiques ou de voyages. Au niveau de la couche application, le framework AIOS fournit au kit de développement logiciel AIOS (AIOS SDK) une abstraction plus élevée des appels système qui simplifie le processus de développement pour les développeurs d'agents. Le kit de développement logiciel proposé par AIOS offre une riche boîte à outils pour faciliter le développement d'applications d'agent en éliminant les complexités des fonctions système de niveau inférieur, permettant ainsi aux développeurs de se concentrer sur les fonctionnalités et la logique essentielle de leurs agents, ce qui se traduit par un développement plus efficace. processus.
Ensuite, la couche noyau est divisée en deux composants : le noyau LLM et le noyau OS. Le noyau du système d'exploitation et le noyau LLM répondent aux exigences uniques des opérations spécifiques et non LLM, la distinction permettant au noyau LLM de se concentrer sur des tâches spécifiques à un grand modèle de langage, notamment la planification des agents et la gestion du contexte, activités essentielles à la gestion des activités. liés aux grands modèles de langage. Le framework AIOS se concentre principalement sur l’amélioration du noyau du grand modèle de langage sans modifier de manière significative la structure du noyau du système d’exploitation existant. Le noyau LLM est équipé de plusieurs modules clés, notamment le planificateur d'agents, le gestionnaire de mémoire, le gestionnaire de contexte, le gestionnaire de stockage, le gestionnaire d'accès, le gestionnaire d'outils et l'interface d'appel système LLM. Les composants de la couche noyau sont conçus pour tenter de répondre aux divers besoins d'exécution. d'applications d'agent, garantissant une exécution et une gestion efficaces dans le cadre AIOS.
Enfin, nous avons la couche matérielle qui comprend les composants physiques du système, notamment le GPU, le CPU, les périphériques, le disque et la mémoire. Il est essentiel de comprendre que le système des noyaux LLM ne peut pas interagir directement avec le matériel, et que ces appels s'interfacent avec les appels système du système d'exploitation qui à leur tour gèrent les ressources matérielles. Cette interaction indirecte entre le système du karnel LLM et les ressources matérielles crée une couche de sécurité et d'abstraction, permettant au noyau LLM d'exploiter les capacités des ressources matérielles sans nécessiter la gestion directe du matériel, facilitant ainsi le maintien de l'intégrité et de l'efficacité du système. .
Mise en œuvre
Comme mentionné ci-dessus, six mécanismes majeurs sont impliqués dans le fonctionnement du framework AIOS. Le planificateur d'agent est conçu de manière à pouvoir gérer les demandes des agents de manière efficace et comporte plusieurs étapes d'exécution contrairement à un paradigme d'exécution séquentielle traditionnel dans lequel l'agent traite les tâches de manière linéaire avec les étapes du même l'agent est traité en premier avant de passer à l'agent suivant, ce qui entraîne une augmentation des temps d'attente pour les tâches apparaissant plus tard dans la séquence d'exécution. Le planificateur d'agent utilise des stratégies telles que Round Robin, First In First Out et d'autres algorithmes de planification pour optimiser le processus.
Le gestionnaire de contexte a été conçu de manière à être responsable de la gestion du contexte fourni au grand modèle de langage et du processus de génération en fonction d'un certain contexte. Le gestionnaire de contexte implique deux composants cruciaux : l'instantané et la restauration du contexte, ainsi que la gestion des fenêtres contextuelles. L'instantané de contexte et le mécanisme de restauration proposés par le framework AIOS aident à atténuer les situations dans lesquelles le planificateur suspend les demandes d'agent, comme le montre la figure suivante.
Comme le montre la figure suivante, il incombe au gestionnaire de mémoire de gérer la mémoire à court terme au cours du cycle de vie d'un agent et de garantir que les données sont stockées et accessibles uniquement lorsque l'agent est actif, soit pendant l'exécution, soit lorsque l'agent est en attente. pour l'exécution.
D'autre part, le gestionnaire de stockage est responsable de la préservation des données à long terme et supervise le stockage des informations qui doivent être conservées pour une durée indéterminée, au-delà de la durée de vie de l'activité d'un agent individuel. Le cadre AISO permet un stockage permanent en utilisant une variété de supports durables, notamment des solutions basées sur le cloud, des bases de données et des fichiers locaux, garantissant la disponibilité et l'intégrité des données. De plus, dans le framework AISO, c'est le gestionnaire d'outils qui gère une gamme variée d'outils API qui améliorent les fonctionnalités des grands modèles de langage, et le tableau suivant résume la manière dont le gestionnaire d'outils intègre les outils couramment utilisés à partir de diverses ressources et les classe. en différentes catégories.
Le gestionnaire d'accès organise les opérations de contrôle d'accès au sein de agents en administrant un groupe de privilèges dédié pour chaque agent, et refuse à un agent l'accès à ses ressources s'il est exclu du groupe de privilèges de l'agent. De plus, le gestionnaire d'accès est également chargé de compiler et de maintenir des journaux d'audit qui améliorent encore la transparence du système.
AIOS : Expériences et résultats
L'évaluation du cadre AIOS est guidée par deux questions de recherche : premièrement, quelle est la performance de la planification AIOS dans l'amélioration des délais d'attente et d'exécution du solde, et deuxièmement, si la réponse du LLM aux demandes des agents est cohérente après la suspension de l'agent ?
Pour répondre aux questions de cohérence, les développeurs exécutent chacun des trois agents individuellement, puis exécutent ces agents en parallèle et tentent de capturer leurs résultats à chaque étape. Comme le démontre le tableau suivant, les scores BERT et BLEU atteignent la valeur de 1.0, indiquant un alignement parfait entre les sorties générées dans les configurations mono-agent et multi-agent.
Pour répondre aux questions d'efficacité, les développeurs effectuent une analyse comparative entre le framework AIOS utilisant la planification FIFO ou First In First Out et une approche non planifiée, dans laquelle les agents s'exécutent simultanément. Dans le paramètre non planifié, les agents sont exécutés dans un ordre séquentiel prédéfini : agent mathématique, agent de narration et agent de réception. Pour évaluer l'efficacité temporelle, le framework AIOS utilise deux métriques : le temps d'attente et le temps d'exécution, et puisque les agents envoient plusieurs requêtes au grand modèle de langage, le temps d'attente et le temps d'exécution pour les agents individuels sont calculés comme la moyenne des temps d'attente et délai d'exécution pour toutes les demandes. Comme le montre le tableau suivant, l'approche non planifiée affiche des performances satisfaisantes pour les agents plus tôt dans la séquence, mais souffre de délais d'attente et d'exécution prolongés pour les agents plus tard dans la séquence. D'autre part, l'approche de planification mise en œuvre par le framework AIOS régule efficacement à la fois les délais d'attente et d'exécution.
Réflexions finales
Dans cet article, nous avons parlé d'AIOS, un système d'exploitation d'agent LLM conçu dans le but d'intégrer de grands modèles de langage dans le système d'exploitation en tant que cerveau du système d'exploitation, permettant ainsi un système d'exploitation avec une âme. Pour être plus spécifique, le framework AIOS est conçu dans le but de faciliter le changement de contexte entre les agents, d'optimiser l'allocation des ressources, de fournir un service d'outils pour les agents, de maintenir le contrôle d'accès pour les agents et de permettre l'exécution simultanée des agents. L'architecture AISO démontre le potentiel de faciliter le développement et le déploiement de agents autonomes basés sur un grand modèle de langage, ce qui donne lieu à un écosystème d'agents AIOS plus efficace, plus cohérent et plus efficient.