AI-modeller og plattformer

AIOS: Operativsystem for LLM-agenter

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Over de siste sekstiene årene har operativsystemer utviklet seg stadig, fra enkle systemer til komplekse og interaktive operativsystemer som driver i dagens enheter. Opprinnelig tjente operativsystemer som en bro mellom det binære funksjonsnivået til datamaskinens maskinvare, som gatehåndtering, og brukeroppgaver. Over årene har de likevel utviklet seg fra enkle batchjobb-behandlingsystemer til mer avanserte prosesshåndteringsteknikker, inkludert multitasking og tidsskaling. Disse fremskrittene har gjort det mulig for moderne operativsystemer å håndtere en rekke komplekse oppgaver. Innføringen av grafiske brukergrensesnitt (GUI) som Windows og MacOS har gjort moderne operativsystemer mer brukervennlige og interaktive, samtidig som de har utvidet OS-økosystemet med kjørbiblioteker og et omfattende sett med utviklerverktøy.

De siste innovasjonene inkluderer integrering og distribusjon av Store språkmodeller (LLM), som har revolusjonert ulike industrier ved å låse opp nye muligheter. Mer nylig har LLM-baserte intelligente agenter vist bemerkelsesverdige evner, og oppnådd menneske-lignende ytelse på en rekke oppgaver. Likevel er disse agentene fortsatt i de tidlige utviklingsstadiene, og nåværende teknikker møter flere utfordringer som påvirker deres effektivitet og effekter. Vanlige problemer inkluderer underoptimal planlegging av agentforespørsler over store språkmodeller, kompleksiteter i integrering av agenter med ulike spesialiseringer, og vedlikehold av kontekst under interaksjoner mellom LLM og agenten. Den raske utviklingen og økende kompleksiteten av LLM-baserte agenter fører ofte til flaskehals og underoptimal ressursbruk.

For å møte disse utfordringene, vil denne artikkelen diskutere AIOS, et LLM-agent operativsystem designet for å integrere store språkmodeller som “hjernen” i operativsystemet, og gi det en “sjel”. Spesifikt søker AIOS-rammeverket å fasilitere kontekstskifting mellom agenter, optimalisere ressursallokering, tilby verktøytjenester for agenter, vedlikeholde tilgangskontroll og muliggjøre samtidig kjøring av agenter. Vi vil dykke dypt inn i AIOS-rammeverket, og utforske dens mekanismer, metode og arkitektur, og sammenligne det med state-of-the-art-rammeverk. La oss dykke inn.

Etter å ha oppnådd bemerkelsesverdig suksess i store språkmodeller, er den neste fokuset for AI- og ML-industrien å utvikle autonome AI-agenter som kan operere uavhengig, ta beslutninger på egen hånd og utføre oppgaver med minimal eller ingen menneskelige inngrep. Disse AI-baserte intelligente agentene er designet for å forstå menneskelige instruksjoner, prosessere informasjon, ta beslutninger og utføre passende handlinger for å oppnå en autonom tilstand, med innføringen og utviklingen av store språkmodeller som bringer nye muligheter til utviklingen av disse autonome agentene. Nåværende LLM-rammeverk, inkludert DALL-E, GPT og mer, har vist bemerkelsesverdige evner til å forstå menneskelige instruksjoner, resonere og løse problemer, og samhandle med menneskelige brukere og eksterne miljøer. Bygget på toppen av disse kraftfulle og kapable store språkmodellene, har LLM-baserte agenter sterke oppgavefullførings-evner i ulike miljøer, fra virtuelle assistenter til mer komplekse og sofistikerte systemer som inkluderer problemløsning, resonnering, planlegging og utførelse.

Figuren ovenfor gir et overbevisende eksempel på hvordan en LLM-basert autonom agent kan løse virkelige oppgaver. Brukeren ber systemet om reiseinformasjon, og reiseagenten bryter ned oppgaven i utførbare steg. Deretter utfører agenten stegene sekvensielt, bestiller fly, reserverer hotell, prosesserer betalinger og mer. Mens agenten utfører stegene, er det som skiller disse agentene fra tradisjonelle programvareapplikasjoner, evnen til å vise beslutningsevner og inkorporere resonnering i utførelsen av stegene. Sammen med en eksponentiell vekst i kvaliteten på disse autonome agentene, har belastningen på funksjonaliteten til store språkmodeller og operativsystemer økt, og et eksempel på dette er at prioritering og planlegging av agentforespørsler i begrensede store språkmodeller utgjør en betydelig utfordring. Videre, siden genereringsprosessen til store språkmodeller blir en tidkrevende oppgave når det gjelder lange kontekster, er det mulig for planleggeren å suspendere den resulterende genereringen, og dermed oppstår det et problem med å utvikle en mekanisme for å lagre den nåværende genereringsresultatet til språkmodellen. Som et resultat av dette, er pause/fortsett-adfærd mulig når den store språkmodellen ikke har fullført responsgenereringen for den nåværende forespørselen.

For å møte de ovennevnte utfordringene, tilbyr AIOS, et stort språkmodell-operativsystem, aggregasjoner og modulisolering av LLM- og OS-funksjoner. AIOS-rammeverket foreslår et LLM-spesifikt kjerne-design i et forsøk på å unngå potensielle konflikter som oppstår mellom oppgaver som er tilknyttet og ikke tilknyttet den store språkmodellen. Den foreslåtte kjernen skiller operativsystem-lignende plikter, spesielt de som overvåker LLM-agentene, utviklingsverktøyene og deres ressurser. Som et resultat av denne skillingen, forsøker LLM-kjernen å forbedre koordineringen og håndteringen av aktiviteter relatert til LLM-er.

AIOS : Metodologi og Arkitektur

Som du kan observere, er det seks større mekanismer involvert i AIOS-rammeverkets funksjon.

  • Agentplanlegger: Oppgaven til agentplanleggeren er å planlegge og prioritere agentforespørsler for å optimalisere bruken av den store språkmodellen.
  • Kontekstmanager: Oppgaven til kontekstmanageren er å støtte snapshots samt gjenopprette den midlertidige genereringsstatusen i den store språkmodellen, og kontekstvindu-håndtering av den store språkmodellen.
  • Minnehåndterer: Hovedansvaret til minnehåndtereren er å tilby kortvarig minne for interaksjonsloggen for hver agent.
  • Lagringshåndterer: Lagringshåndtereren er ansvarlig for å.persistere interaksjonsloggene til agenter til langvarig lagring for fremtidig gjennvinning.
  • Verktøyhåndterer: Verktøyhåndterer-mekanismen håndterer anropet til eksterne API-verktøy.
  • Tilgangshåndterer: Tilgangshåndtereren håndhever tilgangskontroll og privatlivspolitikk mellom agenter.

I tillegg til de ovennevnte mekanismene, har AIOS-rammeverket en lagdelt arkitektur, og er delt inn i tre distinkte lag: applikasjonslaget, kjernelaget og maskinvarlaget. Den lagdelte arkitekturen implementert av AIOS-rammeverket sikrer at ansvar er fordelt jevnt over systemet, og at de øvre lagene abstraherer kompleksiteten i lagene under, og tillater interaksjoner ved hjelp av bestemte moduler eller grensesnitt, og forbedrer modulæriteten og forenkler systeminteraksjoner mellom lagene.

Startende med applikasjonslaget, brukes dette laget til å utvikle og distribuere applikasjonsagenter som matematikagenter eller reiseagenter. I applikasjonslaget tilbyr AIOS-rammeverket AIOS-programvareutviklingskit (AIOS SDK) med en høyere abstraksjon av systemkall som forenkler utviklingsprosessen for agentutviklere. Programvareutviklingskitet tilbudt av AIOS tilbyr et rikt verktøy for å fasilitere utviklingen av agentapplikasjoner ved å abstrahere bort kompleksiteten i lavere systemfunksjoner, og tillater utviklere å fokusere på funksjoner og essensiell logikk i agentene, og resulterer i en mer effektiv utviklingsprosess.

Videre, er kjernelaget delt inn i to komponenter: LLM-kjernen og OS-kjernen. Begge OS-kjernen og LLM-kjernen tjener de unike kravene til LLM-spesifikke og ikke LLM-operasjoner, med distinksjonen som tillater LLM-kjernen å fokusere på store språkmodell-spesifikke oppgaver, inkludert agentplanlegging og kontekststyring, aktiviteter som er essensielle for håndtering av aktiviteter relatert til store språkmodeller. AIOS-rammeverket konsentrerer seg primært om å forbedre den store språkmodell-kjernen uten å endre strukturen til den eksisterende OS-kjernen betydelig. LLM-kjernen kommer utstyrt med flere nøkkelmoduler, inkludert agentplanlegger, minnehåndterer, kontekstmanager, lagringshåndterer, tilgangshåndterer, verktøyhåndterer og LLM-systemkallgrensesnitt. Komponentene i kjernelaget er designet for å møte de ulike kjøreevnebehovene til agentapplikasjoner, og sikrer effektiv kjøring og håndtering innenfor AIOS-rammeverket.

Til slutt, har vi maskinvarlaget som består av de fysiske komponentene i systemet, inkludert GPU, CPU, periferienheter, disk og minne. Det er essensielt å forstå at systemet til LLM-kjernen ikke kan interagere direkte med maskinvaruen, og disse kallene grensesnitt med systemkallene til operativsystemet som i tur håndterer maskinvareresursene. Denne indirekte interaksjonen mellom LLM-kjernens system og maskinvareresursene skaper et lag av sikkerhet og abstraksjon, og tillater LLM-kjernen å utnytte evnene til maskinvareresursene uten å kreve håndtering av maskinvaruen direkte, og faciliterer vedlikeholdet av integriteten og effektiviteten til systemet.

Implementering

Som nevnt ovenfor, er det seks større mekanismer involvert i AIOS-rammeverkets funksjon. Agentplanleggeren er designet for å håndtere agentforespørsler på en effektiv måte, og har flere kjøreekskjøringstrinn i motsetning til en tradisjonell sekvensiell kjøreekskjøringparadigma hvor agenten prosesserer oppgavene i en lineær måte med stegene fra samme agent først før det går videre til neste agent, og resulterer i økt ventetid for oppgaver som dukker opp senere i kjøreekskjøringssrekken. Agentplanleggeren bruker strategier som Round Robin, First In First Out og andre planleggingsalgoritmer for å optimalisere prosessen.

Kontekstmanageren er designet for å håndtere konteksten som gis til den store språkmodellen, og genereringsprosessen gitt en bestemt kontekst. Kontekstmanageren inkluderer to kritiske komponenter: kontekstsnapshot og gjenoppretting, og kontekstvindu-håndtering. Kontekstsnapshot- og gjenopprettingsmekanismen tilbudt av AIOS-rammeverket hjelper til å mildne situasjoner hvor planleggeren suspendere agentforespørsler, som vist i figuren nedenfor.

Som vist i figuren nedenfor, er det minnehåndtererens ansvar å håndtere kortvarig minne innenfor en agents livssyklus, og sikrer at dataene lagres og er tilgjengelige bare når agenten er aktiv, enten under kjøring eller når agenten venter på kjøring.

På den andre siden, er lagringshåndtereren ansvarlig for å bevare dataene over tid, og overvåker lagringen av informasjon som må beholdes for en ubestemt periode, utover enkeltagentens aktivitetstid. AIOS-rammeverket oppnår permanent lagring ved hjelp av ulike varige medium, inkludert skybaserte løsninger, databaser og lokale filer, og sikrer data tilgjengelighet og integritet. Videre, i AIOS-rammeverket, er det verktøyhåndtereren som håndterer en variasjon av API-verktøy som forbedrer funksjonaliteten til de store språkmodellene, og tabellen nedenfor summerer hvordan verktøyhåndtereren integrerer vanlige verktøy fra ulike ressurser og klassifiserer dem i ulike kategorier.

Tilgangshåndtereren organiserer tilgangskontroll-operasjoner innenfor distinkte agenter ved å administrere en dedikert privilegiegruppe for hver agent, og nekter en agent tilgang til dens ressurser hvis de er ekskludert fra agentens privilegiegruppe. I tillegg, er tilgangshåndtereren også ansvarlig for å samle og vedlikeholde overvåkingslogger som forbedrer systemets gjennomsiktighet ytterligere.

AIOS : Eksperimenter og Resultater

Evalueringen av AIOS-rammeverket er ledet av to forskningsspørsmål: først, hvordan er ytelsen til AIOS-planlegging i forbedring av balanse og ventetid, og andre, om svaret til LLM til agentforespørsler er konsistente etter agent-suspensjon?

For å svare på konsistensspørsmålet, kjører utviklerne hver av de tre agentene individuelt, og deretter kjører de disse agentene i parallell, og forsøker å fange deres utdata under hver fase. Som vist i tabellen nedenfor, oppnår BERT- og BLEU-poengene en verdi på 1,0, og indikerer en perfekt sammenligning mellom utdataene generert i enkeltagent- og multiagent-konfigurasjoner.

For å svare på effektivitetsspørsmålet, gjennomfører utviklerne en sammenligningsanalyse mellom AIOS-rammeverket som bruker FIFO eller First In First Out-planlegging, og en ikke-planlagt tilnærming, hvor agentene kjøres samtidig. I den ikke-planlagte innstillingen, kjøres agentene i en forhåndsdefinert sekvensiell rekkefølge: Matematikkagent, Fortellingsagent og Reagent. For å vurdere den tidsmessige effektiviteten, bruker AIOS-rammeverket to metrikker: ventetid og gjennomførings tid, og siden agentene sender flere forespørsler til den store språkmodellen, beregnes ventetiden og gjennomførings tiden for enkeltagentene som gjennomsnittet av ventetiden og gjennomførings tiden for alle forespørsler. Som vist i tabellen nedenfor, viser den ikke-planlagte tilnærmingen tilfredsstillende ytelse for agenter tidlig i rekkefølgen, men lider av forlenget ventetid og gjennomførings tid for agenter senere i rekkefølgen. På den andre siden, regulerte planleggings tilnærmingen implementert av AIOS-rammeverket både ventetiden og gjennomførings tiden effektivt.

Slutt tanker

I denne artikkelen har vi talt om AIOS, et LLM-agent operativsystem som er designet for å integrere store språkmodeller i operativsystemet som “hjernen” i operativsystemet, og gi det en “sjel”. For å være mer spesifikt, er AIOS-rammeverket designet for å fasilitere kontekstskifting mellom agenter, optimalisere ressursallokering, tilby verktøytjenester for agenter, vedlikeholde tilgangskontroll for agenter og muliggjøre samtidig kjøring av agenter. AIOS-arkitekturen demonstrerer potensialet for å fasilitere utviklingen og distribusjonen av store språkmodell-baserte autonome agenter, og resulterer i et mer effektivt, sammenhengende og effektivt AIOS-Agent-økosystem.

En ingeniør av yrke, en forfatter av hjerte. Kunal er en teknisk forfatter med en dyp kjærlighet og forståelse av AI og ML, dedikert til å forenkle komplekse konsepter i disse feltene gjennom sin engasjerende og informerende dokumentasjon.