Suivez nous sur

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

Intelligence Artificielle

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

mm
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. 

« IngĂ©nieur de profession, Ă©crivain de cĹ“ur Â». Kunal est un rĂ©dacteur technique avec un amour et une comprĂ©hension profonds de l'IA et du ML, dĂ©diĂ© Ă  la simplification de concepts complexes dans ces domaines grâce Ă  sa documentation engageante et informative.