mozzicone AIOS: Sistema Operativo per Agenti LLM - Unite.AI
Seguici sui social

Intelligenza Artificiale

AIOS: sistema operativo per agenti LLM

mm

Pubblicato il

 on

AIOS: sistema operativo per agenti LLM

Negli ultimi sessant'anni, i sistemi operativi si sono evoluti progressivamente, passando dai sistemi di base ai sistemi operativi complessi e interattivi che alimentano i dispositivi odierni. Inizialmente, i sistemi operativi fungevano da ponte tra le funzionalità binarie dell'hardware del computer, come la manipolazione dei gate, e le attività a livello di utente. Nel corso degli anni, tuttavia, si sono evoluti da semplici sistemi di elaborazione di lavori batch a tecniche di gestione dei processi più sofisticate, tra cui il multitasking e la condivisione del tempo. Questi progressi hanno consentito ai moderni sistemi operativi di gestire un’ampia gamma di attività complesse. L'introduzione di interfacce utente grafiche (GUI) come Windows e MacOS ha reso i moderni sistemi operativi più intuitivi e interattivi, espandendo allo stesso tempo l'ecosistema del sistema operativo con librerie runtime e una suite completa di strumenti per sviluppatori.

Le recenti innovazioni includono l'integrazione e l'implementazione di Grandi modelli linguistici (LLM), che hanno rivoluzionato vari settori aprendo nuove possibilità. Più recentemente, gli agenti intelligenti basati su LLM hanno mostrato notevoli capacità, ottenendo prestazioni simili a quelle umane in un’ampia gamma di compiti. Tuttavia, questi agenti sono ancora nelle fasi iniziali di sviluppo e le tecniche attuali devono affrontare diverse sfide che ne influenzano l’efficienza e l’efficacia. I problemi comuni includono la pianificazione non ottimale delle richieste degli agenti sul modello linguistico di grandi dimensioni, le complessità nell'integrazione di agenti con diverse specializzazioni e il mantenimento del contesto durante le interazioni tra LLM e l'agente. Il rapido sviluppo e la crescente complessità degli agenti basati su LLM spesso portano a colli di bottiglia e a un utilizzo non ottimale delle risorse.

Per affrontare queste sfide, questo articolo tratterà di AIOS, un sistema operativo con agenti LLM progettato per integrare ampi modelli linguistici come "cervello" del sistema operativo, conferendogli effettivamente un'"anima". Nello specifico, il framework AIOS mira a facilitare il passaggio di contesto tra agenti, ottimizzare l'allocazione delle risorse, fornire servizi di strumenti per gli agenti, mantenere il controllo degli accessi e consentire l'esecuzione simultanea degli agenti. Approfondiremo il framework AIOS, esplorandone i meccanismi, la metodologia e l'architettura, e lo confronteremo con framework all'avanguardia. Immergiamoci.

Dopo aver ottenuto un notevole successo nei modelli linguistici di grandi dimensioni, il prossimo obiettivo del settore dell’intelligenza artificiale e del machine learning sarà quello di sviluppare agenti di intelligenza artificiale autonomi in grado di operare in modo indipendente, prendere decisioni in autonomia ed eseguire compiti con interventi umani minimi o nulli. Questi agenti intelligenti basati sull’intelligenza artificiale sono progettati per comprendere le istruzioni umane, elaborare informazioni, prendere decisioni e intraprendere azioni appropriate per raggiungere uno stato autonomo, con l’avvento e lo sviluppo di grandi modelli linguistici che apportano nuove possibilità allo sviluppo di questi agenti autonomi. Gli attuali framework LLM, tra cui DALL-E, GPT e altri, hanno mostrato notevoli capacità di comprendere le istruzioni umane, le capacità di ragionamento e di risoluzione dei problemi e di interagire con utenti umani insieme ad ambienti esterni. Costruiti sulla base di questi modelli linguistici di grandi dimensioni potenti e capaci, gli agenti basati su LLM hanno forti capacità di adempimento dei compiti in diversi ambienti che vanno dagli assistenti virtuali a sistemi più complessi e sofisticati che coinvolgono la creazione di problem solving, ragionamento, pianificazione ed esecuzione. 

La figura sopra fornisce un esempio convincente di come un agente autonomo basato su LLM può risolvere compiti del mondo reale. L'utente richiede al sistema informazioni sul viaggio in seguito alle quali l'agente di viaggio suddivide l'attività in passaggi eseguibili. Quindi l'agente esegue i passaggi in sequenza, prenotando voli, prenotando hotel, elaborando pagamenti e altro ancora. Durante l'esecuzione dei passaggi, ciò che distingue questi agenti dalle applicazioni software tradizionali è la capacità degli agenti di mostrare capacità decisionali e incorporare il ragionamento nell'esecuzione dei passaggi. Insieme ad una crescita esponenziale della qualità di questi agenti autonomi, la tensione sulle funzionalità dei modelli linguistici di grandi dimensioni e dei sistemi operativi ha registrato un aumento, e un esempio di ciò è che la definizione delle priorità e la pianificazione delle richieste degli agenti in modelli linguistici di grandi dimensioni limitati rappresenta una sfida significativa. Inoltre, poiché il processo di generazione di modelli linguistici di grandi dimensioni diventa un compito dispendioso in termini di tempo quando si ha a che fare con contesti lunghi, è possibile per lo scheduler sospendere la generazione risultante, sollevando il problema di ideare un meccanismo per istantaneamente il risultato della generazione corrente del modello linguistico. . Di conseguenza, il comportamento di pausa/ripresa è abilitato quando il modello linguistico di grandi dimensioni non ha finalizzato la generazione della risposta per la richiesta corrente. 

Per affrontare le sfide sopra menzionate, AIOS, un sistema operativo con modello linguistico di grandi dimensioni, fornisce aggregazioni e isolamento dei moduli delle funzionalità LLM e del sistema operativo. Il framework AIOS propone una progettazione del kernel specifica per LLM nel tentativo di evitare potenziali conflitti che insorgono tra attività associate e non associate al modello linguistico di grandi dimensioni. Il kernel proposto separa i compiti del sistema operativo, in particolare quelli che supervisionano gli agenti LLM, i toolkit di sviluppo e le risorse corrispondenti. Come risultato di questa segregazione, il kernel LLM tenta di migliorare il coordinamento e la gestione delle attività relative ai LLM. 

AIOS: metodologia e architettura

Come puoi osservare, ci sono sei meccanismi principali coinvolti nel funzionamento del framework AIOS. 

  • Pianificatore dell'agente: Il compito assegnato allo scheduler dell'agente è quello di pianificare e dare priorità alle richieste dell'agente nel tentativo di ottimizzare l'utilizzo del modello linguistico di grandi dimensioni. 
  • Gestore del contesto: Il compito assegnato al gestore del contesto è supportare le istantanee insieme al ripristino dello stato di generazione intermedia nel modello linguistico di grandi dimensioni e la gestione della finestra di contesto del modello linguistico di grandi dimensioni. 
  • Memory Manager: La responsabilità principale del gestore della memoria è fornire memoria a breve termine per il registro delle interazioni per ciascun agente. 
  • Storage Manager: Il gestore archiviazione è responsabile di rendere persistenti i registri di interazione degli agenti nell'archiviazione a lungo termine per il recupero futuro. 
  • Gestore utensili: il meccanismo di gestione degli strumenti gestisce la chiamata degli agenti agli strumenti API esterni. 
  • Access Manager: Il gestore degli accessi applica policy di controllo della privacy e degli accessi tra gli agenti. 

Oltre ai meccanismi sopra menzionati, il framework AIOS presenta un'architettura a più livelli ed è suddiviso in tre livelli distinti: il livello dell'applicazione, il livello del kernel e il livello dell'hardware. L'architettura a strati implementata dal framework AIOS garantisce che le responsabilità siano distribuite equamente nel sistema, e gli strati superiori astraono le complessità degli strati sottostanti, consentendo interazioni utilizzando moduli o interfacce specifici, migliorando la modularità e semplificando le interazioni del sistema tra i strati. 

Partendo dal livello dell'applicazione, questo livello viene utilizzato per lo sviluppo e la distribuzione di agenti applicativi come la matematica o gli agenti di viaggio. A livello di applicazione, il framework AIOS fornisce al kit di sviluppo software AIOS (AIOS SDK) una maggiore astrazione delle chiamate di sistema che semplifica il processo di sviluppo per gli sviluppatori di agenti. Il kit di sviluppo software offerto da AIOS offre un ricco toolkit per facilitare lo sviluppo di applicazioni agente astraendo le complessità delle funzioni di sistema di livello inferiore, consentendo agli sviluppatori di concentrarsi sulle funzionalità e sulla logica essenziale dei loro agenti, risultando in uno sviluppo più efficiente processi. 

Andando avanti, il livello del kernel è ulteriormente suddiviso in due componenti: il kernel LLM e il kernel del sistema operativo. Sia il kernel del sistema operativo che il kernel LLM soddisfano i requisiti unici delle operazioni specifiche di LLM e non LLM, con la distinzione che consente al kernel LLM di concentrarsi su attività specifiche del modello linguistico di grandi dimensioni, tra cui la pianificazione degli agenti e la gestione del contesto, attività essenziali per la gestione delle attività legati a grandi modelli linguistici. Il framework AIOS si concentra principalmente sul miglioramento del kernel del modello linguistico di grandi dimensioni senza alterare in modo significativo la struttura del kernel del sistema operativo esistente. Il kernel LLM è dotato di diversi moduli chiave tra cui lo scheduler dell'agente, il gestore della memoria, il gestore del contesto, il gestore dell'archiviazione, il gestore degli accessi, il gestore degli strumenti e l'interfaccia delle chiamate di sistema LLM. I componenti all'interno del livello del kernel sono progettati nel tentativo di soddisfare le diverse esigenze di esecuzione delle applicazioni degli agenti, garantendo un'esecuzione e una gestione efficaci all'interno del framework AIOS. 

Infine, abbiamo il livello hardware che comprende i componenti fisici del sistema tra cui GPU, CPU, dispositivi periferici, disco e memoria. È fondamentale comprendere che il sistema dei kernel LLM non può interagire direttamente con l'hardware, e queste chiamate si interfacciano con le chiamate di sistema del sistema operativo che a loro volta gestiscono le risorse hardware. Questa interazione indiretta tra il sistema del karnel LLM e le risorse hardware crea uno strato di sicurezza e astrazione, consentendo al kernel LLM di sfruttare le capacità delle risorse hardware senza richiedere la gestione diretta dell'hardware, facilitando il mantenimento dell'integrità e dell'efficienza del sistema . 

Implementazione

Come accennato in precedenza, ci sono sei meccanismi principali coinvolti nel funzionamento del quadro AIOS. Lo scheduler dell'agente è progettato in modo tale da essere in grado di gestire le richieste dell'agente in modo efficiente e presenta diverse fasi di esecuzione contrariamente al tradizionale paradigma di esecuzione sequenziale in cui l'agente elabora le attività in modo lineare con i passaggi dello stesso l'agente viene elaborato per primo prima di passare all'agente successivo, con conseguente aumento dei tempi di attesa per le attività che compaiono successivamente nella sequenza di esecuzione. Lo scheduler dell'agente utilizza strategie come Round Robin, First In First Out e altri algoritmi di pianificazione per ottimizzare il processo. 

Il gestore del contesto è stato progettato in modo tale da essere responsabile della gestione del contesto fornito al modello linguistico di grandi dimensioni e del processo di generazione dato un determinato contesto. Il gestore del contesto coinvolge due componenti cruciali: istantanea e ripristino del contesto e gestione della finestra di contesto. Il meccanismo di snapshot e ripristino del contesto offerto dal framework AIOS aiuta a mitigare le situazioni in cui lo scheduler sospende le richieste dell'agente, come dimostrato nella figura seguente. 

Come dimostrato nella figura seguente, è responsabilità del gestore della memoria gestire la memoria a breve termine all'interno del ciclo di vita di un agente e garantire che i dati siano archiviati e accessibili solo quando l'agente è attivo, ovvero durante il runtime o quando l'agente è in attesa per l'esecuzione. 

D'altro canto, il gestore dello storage è responsabile della conservazione dei dati nel lungo periodo e supervisiona l'archiviazione delle informazioni che devono essere conservate per un periodo di tempo indefinito, oltre la durata dell'attività di un singolo agente. Il framework AISO consente l'archiviazione permanente utilizzando una varietà di supporti durevoli tra cui soluzioni basate su cloud, database e file locali, garantendo la disponibilità e l'integrità dei dati. Inoltre, nel framework AISO, è il tool manager che gestisce una vasta gamma di strumenti API che migliorano la funzionalità dei modelli linguistici di grandi dimensioni, e la tabella seguente riassume come il tool manager integra gli strumenti comunemente utilizzati da varie risorse e li classifica in diverse categorie. 

Il gestore degli accessi organizza le operazioni di controllo degli accessi all'interno di distinte agenti amministrando un gruppo di privilegi dedicato per ciascun agente e nega a un agente l'accesso alle sue risorse se è escluso dal gruppo di privilegi dell'agente. Inoltre, il gestore degli accessi è anche responsabile della compilazione e della conservazione dei registri di controllo che migliorano ulteriormente la trasparenza del sistema. 

AIOS: esperimenti e risultati

La valutazione del framework AIOS è guidata da due domande di ricerca: in primo luogo, in che modo le prestazioni della pianificazione AIOS migliorano l'attesa del saldo e i tempi di consegna e, in secondo luogo, se la risposta del LLM alle richieste degli agenti è coerente dopo la sospensione dell'agente?

Per rispondere alle domande sulla coerenza, gli sviluppatori eseguono ciascuno dei tre agenti individualmente e, successivamente, eseguono questi agenti in parallelo e tentano di acquisire i loro output durante ciascuna fase. Come dimostrato nella tabella seguente, i punteggi BERT e BLEU raggiungono il valore di 1.0, indicando un perfetto allineamento tra gli output generati nelle configurazioni ad agente singolo e multi-agente. 

Per rispondere alle domande sull'efficienza, gli sviluppatori conducono un'analisi comparativa tra il framework AIOS che utilizza la pianificazione FIFO o First In First Out e un approccio non pianificato, in cui gli agenti vengono eseguiti contemporaneamente. Nell'impostazione non pianificata, gli agenti vengono eseguiti in un ordine sequenziale predefinito: agente matematico, agente narrativo e agente rec. Per valutare l'efficienza temporale, il framework AIOS utilizza due parametri: tempo di attesa e tempo di consegna, e poiché gli agenti inviano più richieste al modello linguistico di grandi dimensioni, il tempo di attesa e il tempo di consegna per i singoli agenti viene calcolato come la media dei tempi di attesa e tempi di consegna per tutte le richieste. Come dimostrato nella tabella seguente, l'approccio non pianificato mostra prestazioni soddisfacenti per gli agenti all'inizio della sequenza, ma soffre di tempi di attesa e di consegna prolungati per gli agenti più avanti nella sequenza. D'altro canto, l'approccio di pianificazione implementato dal framework AIOS regola in modo efficace sia i tempi di attesa che quelli di consegna. 

Considerazioni finali

In questo articolo abbiamo parlato di AIOS, un sistema operativo con agenti LLM progettato nel tentativo di incorporare modelli linguistici di grandi dimensioni nel sistema operativo come cervello del sistema operativo, consentendo un sistema operativo con un'anima. Per essere più specifici, il framework AIOS è progettato con l'intento di facilitare il cambio di contesto tra agenti, ottimizzare l'allocazione delle risorse, fornire servizi di strumenti per gli agenti, mantenere il controllo degli accessi per gli agenti e consentire l'esecuzione simultanea di agenti. L'architettura AISO dimostra il potenziale per facilitare lo sviluppo e l'implementazione di agenti autonomi basati su grandi modelli linguistici, risultando in un ecosistema AIOS-Agent più efficace, coeso ed efficiente. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.