Modele și platforme AI

AIOS: Sistem de Operare pentru Agenti LLM

mm
Adaugă Unite.AI la sursele tale preferate pe Google

În ultimele șase decenii, sistemele de operare au evoluat progresiv, de la sistemele de bază la sistemele de operare complexe și interactive care alimentează dispozitivele de astăzi. Inițial, sistemele de operare au servit ca o punte între funcționalitatea binară a hardware-ului calculator, cum ar fi manipularea porților, și sarcinile la nivel de utilizator. De-a lungul anilor, însă, acestea s-au dezvoltat de la simple sisteme de procesare a sarcinilor în lot la tehnici de gestionare a proceselor mai sofisticate, incluzând multitasking și time-sharing. Aceste progrese au permis sistemelor de operare moderne să gestioneze o varietate largă de sarcini complexe. Introducerea interfețelor cu utilizator grafic (GUI) precum Windows și MacOS a făcut sistemele de operare moderne mai prietenoase și interactive, extinzând în același timp ecosistemul OS cu biblioteci de runtime și o suită cuprinzătoare de instrumente pentru dezvoltatori.

Inovațiile recente includ integrarea și implementarea Modelelor de Limbaj Mare (LLM), care au revoluționat diverse industrii prin deblocarea de noi posibilități. Mai recent, agenții inteligenți bazati pe LLM au arătat capacități remarcabile, atingând performanțe similare cu cele umane într-o gamă largă de sarcini. Cu toate acestea, acești agenți se află încă în stadii incipiente de dezvoltare, iar tehnicile actuale se confruntă cu mai multe provocări care afectează eficiența și eficacitatea lor. Problemele comune includ programarea suboptimă a solicitărilor agenților peste modelul de limbaj mare, complexitățile în integrarea agenților cu specializări diferite și menținerea contextului în timpul interacțiunilor dintre LLM și agent. Dezvoltarea rapidă și creșterea complexității agenților bazati pe LLM conduc adesea la blocaje și utilizare suboptimă a resurselor.

Pentru a aborda aceste provocări, acest articol va discuta despre AIOS, un sistem de operare pentru agenți LLM, proiectat pentru a integra modele de limbaj mare ca “creier” al sistemului de operare, dându-i efectiv o “suflet”. În special, cadrul AIOS își propune să faciliteze comutarea contextului între agenți, să optimizeze alocarea resurselor, să ofere servicii de instrumente pentru agenți, să mențină controlul accesului și să permită executarea concurentă a agenților. Vom explora în profunzime cadrul AIOS, mecanismele, metodologia și arhitectura sa și vom face o comparație cu cadrele de ultimă generație. Să intrăm în detalii.

După ce au obținut succese remarcabile în modelele de limbaj mare, următoarea direcție a industriei AI și ML este dezvoltarea agenților autonomi AI care pot opera independent, lua decizii singuri și efectua sarcini cu intervenție umană minimă sau deloc. Acești agenți inteligenți bazati pe AI sunt proiectați pentru a înțelege instrucțiunile umane, a procesa informații, a lua decizii și a efectua acțiuni adecvate pentru a atinge un statut autonom, odată cu apariția și dezvoltarea modelelor de limbaj mare, care aduc noi posibilități în dezvoltarea acestor agenți autonomi. Cadrele actuale LLM, incluzând DALL-E, GPT și altele, au demonstrat abilități remarcabile de a înțelege instrucțiunile umane, de raționament și rezolvare a problemelor, și de interacțiune cu utilizatorii umani și mediul extern. Construite pe baza acestor puternice și capabile modele de limbaj mare, agenții bazati pe LLM au abilități puternice de îndeplinire a sarcinilor în medii diverse, de la asistenți virtuali la sisteme mai complexe și sofisticate care implică crearea de soluții, raționament, planificare și execuție.

Figura de mai sus oferă un exemplu convingător despre modul în care un agent autonom bazat pe LLM poate rezolva sarcini din lumea reală. Utilizatorul solicită sistemului informații despre o călătorie, după care agentul de călătorie descompune sarcina în pași executabili. Apoi, agentul efectuează pașii în ordine, rezervând zboruri, hoteluri, procesând plăți și multe altele. Ceea ce diferențiază acești agenți de aplicațiile software tradiționale este capacitatea de a arăta abilități de luare a deciziilor și de a incorpora raționamentul în execuția pașilor. Împreună cu o creștere exponențială a calității acestor agenți autonomi, presiunea asupra funcționalităților modelelor de limbaj mare și a sistemelor de operare a crescut, un exemplu fiind faptul că priorizarea și programarea solicitărilor agenților în modele de limbaj mare limitate reprezintă o provocare semnificativă. Mai mult, deoarece procesul de generare a modelelor de limbaj mare devine o sarcină care consumă timp atunci când se lucrează cu contexte lungi, este posibil ca programatorul să suspende generarea rezultatului, ridicând o problemă de a concepe un mecanism pentru a captura rezultatul curent de generare al modelului de limbaj. Ca urmare a acestui fapt, comportamentul de pauză/rezumare este activat atunci când modelul de limbaj mare nu a finalizat încă generarea răspunsului pentru solicitarea curentă.

Pentru a aborda provocările menționate mai sus, AIOS, un sistem de operare pentru modele de limbaj mare, oferă agregări și izolare a funcționalităților LLM și OS. Cadrul AIOS propune un design de kernel specific LLM, în încercarea de a evita conflictele potențiale care pot apărea între sarcinile asociate și neasociate cu modelul de limbaj mare. Kernelul propus separă sarcinile sistemului de operare, în special cele care supraveghează agenții LLM, kit-urile de dezvoltare și resursele corespunzătoare. Ca urmare a acestei separări, kernelul LLM încearcă să îmbunătățească coordonarea și gestionarea activităților legate de LLM.

AIOS: Metodologie și Arhitectură

Așa cum puteți observa, există șase mecanisme majore implicate în funcționarea cadrului AIOS.

  • Programator de Agenți: Sarcina asignată programatorului de agenți este de a programa și prioriza solicitările agenților, în încercarea de a optimiza utilizarea modelului de limbaj mare.
  • Manager de Context: Sarcina asignată managerului de context este de a suporta capturarea și restaurarea stării de generare intermediară în modelul de limbaj mare, precum și gestionarea ferestrei de context a modelului de limbaj mare.
  • Manager de Memorare: Responsabilitatea principală a managerului de memorare este de a oferi memorie pe termen scurt pentru log-ul de interacțiune al fiecărui agent.
  • Manager de Stocare: Managerul de stocare este responsabil pentru a păstra log-urile de interacțiune ale agenților în stocare pe termen lung, pentru recuperare ulterioară.
  • Manager de Instrumente: Mecanismul managerului de instrumente gestionează apelurile agenților către instrumente API externe.
  • Manager de Acces: Managerul de acces impune controlul accesului și politici de acces între agenți.

În plus față de mecanismele menționate mai sus, cadrul AIOS prezintă o arhitectură stratificată, fiind împărțit în trei straturi distincte: stratul de aplicație, stratul kernel și stratul hardware. Arhitectura stratificată implementată de cadrul AIOS asigură distribuirea responsabilităților în mod egal pe întregul sistem, iar straturile superioare abstractizează complexitățile straturilor de mai jos, permițând interacțiuni utilizând module sau interfețe specifice, îmbunătățind modularitatea și simplificând interacțiunile sistemului între straturi.

Începând cu stratul de aplicație, acesta este utilizat pentru dezvoltarea și implementarea agenților de aplicație, cum ar fi agenții de matematică sau de călătorie. În stratul de aplicație, cadrul AIOS oferă kit-ul de dezvoltare software AIOS (AIOS SDK), cu o abstracție mai înaltă a apelurilor de sistem, care simplifică procesul de dezvoltare pentru dezvoltatorii de agenți. Kit-ul de dezvoltare oferit de AIOS oferă un instrument bogat pentru a facilita dezvoltarea aplicațiilor agenților, abstractizând complexitățile funcțiilor sistemului de nivel inferior, permițând dezvoltatorilor să se concentreze pe funcționalitățile și logica esențială a agenților, rezultând un proces de dezvoltare mai eficient.

Trecând mai departe, stratul kernel este împărțit în două componente: kernelul LLM și kernelul OS. Atât kernelul OS, cât și kernelul LLM servesc nevoi unice pentru operațiuni LLM-specifice și non-LLM, cu distincția care permite kernelului LLM să se concentreze pe sarcini specifice modelului de limbaj mare, incluzând programarea agenților și gestionarea contextului, activități esențiale pentru gestionarea activităților legate de modelele de limbaj mare. Cadrul AIOS se concentrează în primul rând pe îmbunătățirea kernelului modelului de limbaj mare, fără a altera structura kernelului OS existent în mod semnificativ. Kernelul LLM vine echipat cu mai multe module cheie, incluzând programatorul de agenți, managerul de memorare, managerul de context, managerul de stocare, managerul de acces, managerul de instrumente și interfața de apel de sistem LLM. Componentele din stratul kernel sunt proiectate pentru a aborda nevoile diverse de execuție ale aplicațiilor agenților, asigurând execuția și gestionarea eficientă în cadrul AIOS.

În final, avem stratul hardware, care cuprinde componentele fizice ale sistemului, incluzând GPU, CPU, dispozitive periferice, disc și memorie. Este esențial să înțelegem că sistemul kernelului LLM nu poate interacționa direct cu hardware-ul, iar aceste apeluri se interfață cu apelurile de sistem ale sistemului de operare, care la rândul lor gestionează resursele hardware. Această interacțiune indirectă între sistemul kernelului LLM și resursele hardware creează un strat de securitate și abstracție, permițând kernelului LLM să valorifice capacitățile resurselor hardware fără a necesita gestionarea directă a hardware-ului, facilitând menținerea integrității și eficienței sistemului.

Implementare

Așa cum s-a menționat mai sus, există șase mecanisme majore implicate în funcționarea cadrului AIOS. Programatorul de agenți este proiectat pentru a gestiona solicitările agenților în mod eficient și are mai multe etape de execuție, contrar paradigmei de execuție secvențială tradițională, în care agentul procesează sarcinile în mod liniar, cu pașii de la același agent fiind procesați primii, înainte de a trece la următorul agent, rezultând timp de așteptare crescut pentru sarcinile care apar mai târziu în secvența de execuție. Programatorul de agenți utilizează strategii precum Round Robin, First In First Out și alte algoritmi de programare pentru a optimiza procesul.

Managerul de context a fost proiectat pentru a gestiona contextul oferit modelului de limbaj mare și procesul de generare, dat fiind un anumit context. Managerul de context implică două componente cruciale: capturarea și restaurarea contextului, și gestionarea ferestrei de context. Mecanismul de capturare și restaurare a contextului oferit de cadrul AIOS ajută la mitigarea situațiilor în care programatorul suspendă solicitările agenților, așa cum se demonstrează în figura următoare.

Așa cum se demonstrează în figura următoare, este responsabilitatea managerului de memorare să gestioneze memoria pe termen scurt în cadrul ciclului de viață al unui agent și să asigure că datele sunt stocate și accesibile doar atunci când agentul este activ, fie în timpul rulării, fie atunci când agentul așteaptă execuția.

Pe de altă parte, managerul de stocare este responsabil pentru a păstra datele pe termen lung și supraveghează stocarea informațiilor care trebuie reținute pentru o perioadă nedeterminată de timp, dincolo de durata de viață a unui agent individual. Cadrul AIOS realizează stocarea permanentă utilizând o varietate de medii durabile, incluzând soluții bazate pe cloud, baze de date și fișiere locale, asigurând disponibilitatea și integritatea datelor. Mai mult, în cadrul AIOS, managerul de instrumente gestionează o varietate de instrumente API care îmbunătățesc funcționalitatea modelului de limbaj mare, iar următorul tabel rezumă modul în care managerul de instrumente integrează instrumente utilizate frecvent din diverse surse și le clasifică în categorii diferite.

Managerul de acces organizează operațiunile de control al accesului în cadrul agenților distincți, administrând un grup de privilegii dedicat pentru fiecare agent și refuzând accesul unui agent la resursele sale dacă acestea sunt excluse din grupul de privilegii al agentului. În plus, managerul de acces este responsabil și pentru a compila și menține log-urile de audit, care îmbunătățesc transparența sistemului.

AIOS: Experimente și Rezultate

Evaluarea cadrului AIOS este ghidată de două întrebări de cercetare: prima, cum este performanța programării AIOS în îmbunătățirea timpului de așteptare și a timpului de rulare, și a doua, dacă răspunsul modelului de limbaj mare la solicitările agenților este consecvent după suspendarea agentului?

Pentru a răspunde la întrebările de consecvență, dezvoltatorii rulează fiecare dintre cei trei agenți individual și, ulterior, execută acești agenți în paralel, încercând să capteze ieșirile lor în fiecare etapă. Așa cum se demonstrează în următorul tabel, scorurile BERT și BLEU ating valoarea 1,0, indicând o aliniere perfectă între ieșirile generate în configurațiile cu un singur agent și multi-agent.

Pentru a răspunde la întrebările de eficiență, dezvoltatorii efectuează o analiză comparativă între cadrul AIOS, care utilizează programarea FIFO sau First In First Out, și o abordare fără programare, în care agenții rulează concurent. În setarea fără programare, agenții sunt executați într-o ordine secvențială prestabilită: agent de matematică, agent de narare și agent de rec. Pentru a evalua eficiența temporală, cadrul AIOS utilizează două metrice: timpul de așteptare și timpul de rulare, și deoarece agenții trimit multiple solicitări către modelul de limbaj mare, timpul de așteptare și timpul de rulare pentru agenții individuali sunt calculați ca medie a timpului de așteptare și a timpului de rulare pentru toate solicitările. Așa cum se demonstrează în următorul tabel, abordarea fără programare arată o performanță satisfăcătoare pentru agenții din secvență, dar suferă de timpi de așteptare și de rulare prelungiți pentru agenții din secvența ulterioară. Pe de altă parte, abordarea de programare implementată de cadrul AIOS reglementează atât timpul de așteptare, cât și timpul de rulare în mod eficient.

Gânduri Finale

În acest articol am discutat despre AIOS, un sistem de operare pentru agenți LLM, proiectat pentru a integra modele de limbaj mare în sistemul de operare, dându-i efectiv o “suflet”. Mai specific, cadrul AIOS este proiectat pentru a facilita comutarea contextului între agenți, a optimiza alocarea resurselor, a oferi servicii de instrumente pentru agenți, a menține controlul accesului pentru agenți și a permite executarea concurentă a agenților. Arhitectura AIOS demonstrează potențialul de a facilita dezvoltarea și implementarea agenților autonomi bazati pe modele de limbaj mare, rezultând într-un ecosistem AIOS-Agent mai eficient, mai coerent și mai eficient.

"Un inginer de profesie, un scriitor din inimă". Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a inteligenței artificiale și a învățării automate, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.