AI-modellen en platforms

AIOS: Besturingssysteem voor LLM-Agents

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

De afgelopen zes decennia zijn besturingssystemen geleidelijk aan geÃŦvolueerd, van eenvoudige systemen tot de complexe en interactieve besturingssystemen die vandaag de dag apparaten aandrijven. Aanvankelijk dienden besturingssystemen als een brug tussen de binaire functionaliteit van computerhardware, zoals poortmanipulatie, en taken op gebruikersniveau. In de loop der jaren zijn ze echter geÃŦvolueerd van eenvoudige batchverwerkingssystemen tot meer geavanceerde procesbeheertechnieken, waaronder multitasking en time-sharing. Deze vooruitgang heeft moderne besturingssystemen in staat gesteld om een breed scala aan complexe taken te beheren. De introductie van grafische gebruikersinterfaces (GUI’s) zoals Windows en MacOS heeft moderne besturingssystemen gebruikersvriendelijker en interactiever gemaakt, en heeft het besturingssysteemecosysteem uitgebreid met runtimebibliotheken en een uitgebreide set ontwikkelaarstools.

Recente innovaties omvatten de integratie en implementatie van Large Language Models (LLM’s), die verschillende industrieÃŦn hebben gerevolutioneerd door nieuwe mogelijkheden te ontsluiten. Nog onlangs hebben LLM-gebaseerde intelligente agenten opmerkelijke capaciteiten getoond, met prestaties die vergelijkbaar zijn met die van mensen op een breed scala aan taken. Deze agenten zijn echter nog in de vroege stadia van ontwikkeling, en de huidige technieken hebben verschillende uitdagingen die hun efficiÃŦntie en effectiviteit beÃŊnvloeden. Veelvoorkomende problemen zijn onder meer de suboptimale planning van agentaanvragen over het grote taalmodel, complexiteiten bij het integreren van agenten met verschillende specialisaties, en het behoud van context tijdens interacties tussen het LLM en de agent. De snelle ontwikkeling en toenemende complexiteit van LLM-gebaseerde agenten leiden vaak tot knelpunten en suboptimale bronnengebruik.

Om deze uitdagingen aan te pakken, zal dit artikel AIOS bespreken, een besturingssysteem voor LLM-agents dat is ontworpen om grote taalmodellen te integreren als de ‘hersenen’ van het besturingssysteem, waardoor het effectief een ‘ziel’ krijgt. In het bijzonder is het AIOS-kader ontworpen om contextschakeling tussen agenten te faciliteren, bronnen toe te wijzen, toolservices voor agenten te bieden, toegangscontrole te handhaven en gelijktijdige uitvoering van agenten mogelijk te maken. We zullen diep in het AIOS-kader duiken, de mechanismen, methodologie en architectuur ervan verkennen en het vergelijken met state-of-the-art-kaders. Laten we erin duiken.

Na het behalen van opmerkelijk succes in grote taalmodellen, is de volgende focus van de AI- en ML-industrie het ontwikkelen van autonome AI-agents die onafhankelijk kunnen opereren, beslissingen kunnen nemen en taken kunnen uitvoeren met minimale of geen menselijke interventie. Deze AI-gebaseerde intelligente agenten zijn ontworpen om menselijke instructies te begrijpen, informatie te verwerken, beslissingen te nemen en passende acties te ondernemen om een autonome staat te bereiken, met de komst en ontwikkeling van grote taalmodellen die nieuwe mogelijkheden bieden voor de ontwikkeling van deze autonome agenten. Huidige LLM-kaders, waaronder DALL-E, GPT en meer, hebben opmerkelijke capaciteiten getoond om menselijke instructies te begrijpen, redenerings- en probleemoplossingsvaardigheden en interacties met menselijke gebruikers en externe omgevingen. Gebouwd op deze krachtige en capabele grote taalmodellen, hebben LLM-gebaseerde agenten sterke taakvervullingscapaciteiten in diverse omgevingen, van virtuele assistenten tot meer complexe en geavanceerde systemen met probleemoplossing, redenering, planning en uitvoering.

De bovenstaande figuur geeft een overtuigend voorbeeld van hoe een LLM-gebaseerde autonome agent een reÃŦle taak kan oplossen. De gebruiker vraagt het systeem om reisinformatie, waarna de reisagent de taak opsplitst in uitvoerbare stappen. Vervolgens voert de agent de stappen sequentieel uit, boekt vluchten, reserveert hotels, verwerkt betalingen en meer. Wat deze agenten onderscheidt van traditionele softwaretoepassingen, is hun vermogen om beslissingen te nemen en redenering te incorporeren in de uitvoering van de stappen. Naast een exponentiÃŦle groei in de kwaliteit van deze autonome agenten, is de belasting van de functionaliteiten van grote taalmodellen en besturingssystemen toegenomen, en een voorbeeld hiervan is dat het prioriteren en plannen van agentaanvragen in beperkte grote taalmodellen een aanzienlijke uitdaging vormt. Bovendien kan de generatie van grote taalmodellen een tijdrovende taak worden wanneer het gaat om lange contexten, waardoor het mogelijk is voor de planner om de resulterende generatie op te schorten, waardoor een mechanisme nodig is om de huidige generatie van het taalmodel te vastleggen. Als gevolg hiervan is pause/resume-gedrag mogelijk wanneer het grote taalmodel de responsgeneratie voor de huidige aanvraag nog niet heeft voltooid.

Om de bovenstaande uitdagingen aan te pakken, biedt AIOS, een besturingssysteem voor grote taalmodellen, aggregaties en module-isolatie van LLM- en OS-functionaliteiten. Het AIOS-kader stelt een LLM-specifiek kernalontwerp voor om potentiÃŦle conflicten te voorkomen die ontstaan tussen taken die zijn gekoppeld aan en niet zijn gekoppeld aan het grote taalmodel. De voorgestelde kernel scheidt de besturingssysteemtaken, met name die welke toezicht houden op de LLM-agents, ontwikkelhulpmiddelen en hun corresponderende bronnen. Als gevolg van deze scheiding probeert de LLM-kernel de coÃķrdinatie en het beheer van activiteiten die verband houden met LLM’s te verbeteren.

AIOS: Methodologie en Architectuur

Zoals u kunt zien, zijn er zes belangrijke mechanismen betrokken bij de werking van het AIOS-kader.

  • Agentplanner: De taak van de agentplanner is om agentaanvragen te plannen en prioriteit te geven in een poging om het gebruik van het grote taalmodel te optimaliseren.
  • Contextbeheerder: De taak van de contextbeheerder is om snapshots te ondersteunen en de tussentijdse generatiestatus in het grote taalmodel te herstellen, evenals het beheer van de contextvenster van het grote taalmodel.
  • GeheugencoÃķrdinator: De primaire verantwoordelijkheid van de geheugencoÃķrdinator is om korte-termijngeheugen te bieden voor de interactielog voor elke agent.
  • Opslagbeheerder: De opslagbeheerder is verantwoordelijk voor het persistent maken van de interactielog van agenten naar langetermijnopslag voor toekomstige ophaling.
  • Hulpmiddelbeheerder: De hulpmiddelbeheerder beheert de oproep van agenten naar externe API-hulpmiddelen.
  • Toegangsbeheerder: De toegangsbeheerder handhaaft toegangscontrolebeleid tussen agenten.

Naast de bovenstaande mechanismen, heeft het AIOS-kader een laagarchitectuur, en is het opgesplitst in drie afzonderlijke lagen: de applicatielaag, de kernalaag en de hardwarelaag. De laagarchitectuur die door het AIOS-kader wordt geÃŊmplementeerd, zorgt ervoor dat de verantwoordelijkheden gelijkmatig over het systeem worden verdeeld, en de hogere lagen de complexiteit van de lagen eronder abstracteren, waardoor interacties mogelijk zijn met specifieke modules of interfaces, waardoor de modulariteit wordt verbeterd en systeeminteracties tussen de lagen worden vereenvoudigd.

Beginnend met de applicatielaag, wordt deze laag gebruikt voor het ontwikkelen en implementeren van toepassingsagenten, zoals wiskunde- of reisagenten. In de applicatielaag biedt het AIOS-kader de AIOS-softwareontwikkelingskit (AIOS SDK) met een hogere abstractie van systeemoproepen die het ontwikkelproces voor agentontwikkelaars vereenvoudigt. De softwareontwikkelingskit die door AIOS wordt aangeboden, biedt een rijke toolkit om de ontwikkeling van agenttoepassingen te faciliteren door de complexiteit van de lagere systeemfuncties te abstracteren, waardoor ontwikkelaars zich kunnen concentreren op de functionaliteit en essentiÃŦle logica van hun agenten, waardoor een efficiÃŦnter ontwikkelproces ontstaat.

Verdergaand, is de kernalaag verder opgesplitst in twee componenten: de LLM-kernel en de OS-kernel. Beide de OS-kernel en de LLM-kernel dienen de unieke vereisten van LLM-specifieke en niet-LLM-gerelateerde bewerkingen, met de onderscheidingsvermogen van de LLM-kernel om zich te concentreren op grote taalmodel-specifieke taken, waaronder agentplanning en contextbeheer, activiteiten die essentieel zijn voor het omgaan met activiteiten die verband houden met grote taalmodellen. Het AIOS-kader richt zich voornamelijk op het verbeteren van de grote taalmodelkernel zonder de structuur van de bestaande OS-kernel aanzienlijk te wijzigen. De LLM-kernel is uitgerust met verschillende belangrijke modules, waaronder de agentplanner, geheugencoÃķrdinator, contextbeheerder, opslagbeheerder, toegangsbeheerder, hulpmiddelbeheerder en de LLM-systeemoproepinterface. De componenten binnen de kernalaag zijn ontworpen om de diverse uitvoeringsbehoeften van agenttoepassingen aan te pakken, waardoor een effectieve uitvoering en beheer binnen het AIOS-kader worden gegarandeerd.

Ten slotte hebben we de hardwarelaag, die de fysieke componenten van het systeem omvat, waaronder de GPU, CPU, randapparaten, schijf en geheugen. Het is essentieel om te begrijpen dat het systeem van de LLM-kernels niet rechtstreeks kan communiceren met de hardware, en dat deze oproepen worden geÃŊnterfaced met de systeemoproepen van het besturingssysteem die op hun beurt de hardwarebronnen beheren. Deze indirecte interactie tussen het LLM-kernsysteem en de hardwarebronnen creÃŦert een laag van beveiliging en abstractie, waardoor de LLM-kernel de mogelijkheden van hardwarebronnen kan benutten zonder dat deze rechtstreeks hoeft te worden beheerd, waardoor het onderhoud van de integriteit en efficiÃŦntie van het systeem wordt gefaciliteerd.

Implementatie

Zoals hierboven vermeld, zijn er zes belangrijke mechanismen betrokken bij de werking van het AIOS-kader. De agentplanner is ontworpen om agentaanvragen efficiÃŦnt te beheren en heeft verschillende uitvoeringsstappen, in tegenstelling tot een traditioneel sequentieel uitvoeringsparadigma waarin de agent taken verwerkt in een lineaire volgorde, met stappen van dezelfde agent die eerst worden verwerkt voordat wordt overgegaan op de volgende agent, waardoor er langere wachttijden ontstaan voor taken die later in de uitvoeringsvolgorde verschijnen. De agentplanner gebruikt strategieÃŦn zoals Round Robin, First In First Out en andere planningsalgoritmen om het proces te optimaliseren.

De contextbeheerder is ontworpen om de context te beheren die aan het grote taalmodel wordt verstrekt, en het generatieproces gegeven de context. De contextbeheerder omvat twee cruciale componenten: contextsnapshot en herstel, en contextwindowbeheer. De contextsnapshot- en herstelfunctie die door het AIOS-kader wordt aangeboden, helpt bij het mitigeren van situaties waarin de planner de agentaanvragen opschort, zoals wordt aangetoond in de volgende figuur.

Zoals wordt aangetoond in de volgende figuur, is het de verantwoordelijkheid van de geheugencoÃķrdinator om korte-termijngeheugen te beheren binnen de levensduur van een agent, en ervoor te zorgen dat de gegevens worden opgeslagen en alleen toegankelijk zijn wanneer de agent actief is, hetzij tijdens runtime of wanneer de agent wacht op uitvoering.

Aan de andere kant is de opslagbeheerder verantwoordelijk voor het persistent maken van gegevens op lange termijn, en ziet toe op de opslag van informatie die moet worden bewaard voor een onbepaalde periode, voorbij de activiteitsduur van een individuele agent. Het AIOS-kader bereikt permanente opslag met behulp van een verscheidenheid aan duurzame media, waaronder cloudgebaseerde oplossingen, databases en lokale bestanden, waardoor gegevensbeschikbaarheid en -integriteit worden gegarandeerd. Bovendien is het in het AIOS-kader de hulpmiddelbeheerder die een variÃŦteit aan API-hulpmiddelen beheert die de functionaliteit van de grote taalmodellen verbeteren, en de volgende tabel samenvat hoe de hulpmiddelbeheerder algemeen gebruikte hulpmiddelen van verschillende bronnen integreert en classificeert in verschillende categorieÃŦn.

De toegangsbeheerder organiseert toegangscontrolebewerkingen binnen afzonderlijke agenten door een speciale privilegegroep voor elke agent te beheren, en weigert een agent toegang tot zijn middelen als deze zijn uitgesloten van de privilegegroep van de agent. Bovendien is de toegangsbeheerder ook verantwoordelijk voor het compileren en onderhouden van auditlogs die de transparantie van het systeem verder verhogen.

AIOS: Experimenten en Resultaten

De evaluatie van het AIOS-kader wordt geleid door twee onderzoeksvoorstellen: ten eerste, hoe presteert het AIOS-planningsalgoritme in het verbeteren van de balans tussen wachttijd en omlooptijd, en ten tweede, of de reactie van het LLM op agentaanvragen consistent is na agentonderbreking.

Om de consistentievragen te beantwoorden, voeren ontwikkelaars elk van de drie agenten afzonderlijk uit, en voeren deze agenten vervolgens parallel uit, en proberen hun uitvoer te capteren tijdens elk stadium. Zoals wordt aangetoond in de volgende tabel, bereiken de BERT- en BLEU-scores een waarde van 1,0, wat aangeeft dat er een perfecte overeenstemming is tussen de uitvoer die wordt gegenereerd in single-agent- en multi-agentconfiguraties.

Om de efficiÃŦntievragen te beantwoorden, voeren ontwikkelaars een vergelijkende analyse uit tussen het AIOS-kader dat FIFO- of First In First Out-planning gebruikt, en een niet-gepland benadering, waarin de agenten worden uitgevoerd in een vooraf gedefinieerde sequentiÃŦle volgorde: wiskundeagent, vertelagent en recagent. Om de tijdelijke efficiÃŦntie te beoordelen, gebruikt het AIOS-kader twee metrieken: wachttijd en omlooptijd, en aangezien de agenten meerdere aanvragen naar het grote taalmodel sturen, wordt de wachttijd en de omlooptijd voor individuele agenten berekend als het gemiddelde van de wachttijd en de omlooptijd voor alle aanvragen. Zoals wordt aangetoond in de volgende tabel, toont de niet-geplande benadering een bevredigende prestatie voor agenten eerder in de sequentie, maar lijdt onder verlengde wachttijden en omlooptijden voor agenten later in de sequentie. Aan de andere kant reguleert de planningsbenadering die door het AIOS-kader wordt geÃŊmplementeerd, zowel de wachttijd als de omlooptijd effectief.

Slotgedachten

In dit artikel hebben we het over AIOS gehad, een LLM-agentbesturingssysteem dat is ontworpen om grote taalmodellen in het besturingssysteem te integreren als de ‘hersenen’ van het besturingssysteem, waardoor een besturingssysteem met een ‘ziel’ ontstaat. Om specifiek te zijn, is het AIOS-kader ontworpen om contextschakeling tussen agenten te faciliteren, bronnen toe te wijzen, toolservices voor agenten te bieden, toegangscontrole te handhaven en gelijktijdige uitvoering van agenten mogelijk te maken. De AIOS-architectuur toont het potentieel om de ontwikkeling en implementatie van grote taalmodel-gebaseerde autonome agenten te faciliteren, waardoor een meer effectief, samenhangend en efficiÃŦnt AIOS-Agent-ecosysteem ontstaat. De AIOS-architectuur toont het potentieel om de ontwikkeling en implementatie van grote taalmodel-gebaseerde autonome agenten te faciliteren, waardoor een meer effectief, samenhangend en efficiÃŦnt AIOS-Agent-ecosysteem ontstaat, dat een dienst voor agenten biedt, toegangscontrole voor agenten onderhoudt en gelijktijdige uitvoering van agenten mogelijk maakt.

Een ingenieur van beroep, een schrijver van hart. Kunal is een technisch schrijver met een diepe liefde en begrip voor AI en ML, toegewijd aan het vereenvoudigen van complexe concepten in deze gebieden door middel van zijn boeiende en informatieve documentatie.