Connect with us

Intelligenza artificiale

AIOS: Sistema Operativo per Agenti LLM

mm
AIOS: Operating System for LLM Agents

Negli ultimi sei decenni, i sistemi operativi sono evoluti progressivamente, avanzando da sistemi basilari a sistemi operativi complessi e interattivi che alimentano i dispositivi di oggi. Inizialmente, i sistemi operativi fungevano da ponte tra la funzionalità binaria dell’hardware del computer, come la manipolazione dei gate, e le attività a livello utente. Nel corso degli anni, tuttavia, si sono sviluppati da semplici sistemi di elaborazione batch a tecniche di gestione dei processi più sofisticate, tra cui multitasking e time-sharing. Questi progressi hanno consentito ai sistemi operativi moderni di gestire una vasta gamma di attività complesse. L’introduzione di interfacce utente grafiche (GUI) come Windows e MacOS ha reso i sistemi operativi moderni più user-friendly e interattivi, oltre a espandere l’ecosistema del sistema operativo con librerie di runtime e una suite completa di strumenti per gli sviluppatori.

Le innovazioni recenti includono l’integrazione e la distribuzione di Modelli di Linguaggio Grande (LLM), che hanno rivoluzionato vari settori sbloccando nuove possibilità. Più recentemente, gli agenti intelligenti basati su LLM hanno mostrato capacità notevoli, raggiungendo prestazioni simili a quelle umane in una vasta gamma di attività. Tuttavia, questi agenti sono ancora in una fase iniziale di sviluppo e le tecniche attuali affrontano diverse sfide che influiscono sulla loro efficienza e efficacia. I problemi comuni includono la pianificazione subottimale delle richieste degli agenti sul modello di linguaggio grande, le complessità nell’integrare gli agenti con specializzazioni diverse e il mantenimento del contesto durante le interazioni tra l’LLM e l’agente. Lo sviluppo rapido e la crescente complessità degli agenti basati su LLM spesso portano a collo di bottiglia e utilizzo subottimale delle risorse.

Per affrontare queste sfide, questo articolo discuterà di AIOS, un sistema operativo per agenti LLM progettato per integrare i modelli di linguaggio grande come il “cervello” del sistema operativo, dandogli efficacemente un “anima”. In particolare, la struttura AIOS mira a facilitare il commutazione di contesto tra gli agenti, ottimizzare l’allocazione delle risorse, fornire servizi di strumenti per gli agenti, mantenere il controllo di accesso e abilitare l’esecuzione concorrente degli agenti. Esploreremo in profondità la struttura AIOS, esaminandone i meccanismi, la metodologia e l’architettura, e la compareremo con le strutture attuali.

Dopo aver ottenuto un successo notevole nei modelli di linguaggio grande, il prossimo obiettivo dell’industria AI e ML è sviluppare agenti AI autonomi che possano operare in modo indipendente, prendere decisioni da soli e svolgere attività con minime o nessuna intervento umano. Questi agenti intelligenti basati su AI sono progettati per comprendere le istruzioni umane, elaborare le informazioni, prendere decisioni e intraprendere azioni appropriate per raggiungere uno stato autonomo, con l’avvento e lo sviluppo dei modelli di linguaggio grande che portano nuove possibilità allo sviluppo di questi agenti autonomi. Le attuali strutture LLM, tra cui DALL-E, GPT e altre, hanno mostrato capacità notevoli di comprendere le istruzioni umane, le capacità di ragionamento e risoluzione dei problemi, e interagire con gli utenti umani e ambienti esterni. Costruiti su questi potenti e capaci modelli di linguaggio grande, gli agenti basati su LLM hanno forti capacità di soddisfare le attività in ambienti diversi, che vanno dagli assistenti virtuali a sistemi più complessi e sofisticati che coinvolgono la creazione, la risoluzione dei problemi, il ragionamento, la pianificazione e l’esecuzione.

La figura sopra fornisce un esempio convincente di come un agente autonomo basato su LLM possa risolvere attività del mondo reale. L’utente richiede al sistema informazioni sul viaggio, dopo di che l’agente di viaggio divide l’attività in passaggi eseguibili. Quindi l’agente esegue i passaggi in sequenza, prenotando voli, riservando hotel, elaborando pagamenti e altro. Mentre esegue i passaggi, ciò che distingue questi agenti dalle applicazioni software tradizionali è la capacità degli agenti di mostrare capacità di decisione e incorporare il ragionamento nell’esecuzione dei passaggi. Insieme a una crescita esponenziale nella qualità di questi agenti autonomi, la pressione sulle funzionalità dei modelli di linguaggio grande e dei sistemi operativi ha subito un aumento, e un esempio di ciò è che la priorità e la pianificazione delle richieste degli agenti nei modelli di linguaggio grande limitati rappresenta una sfida significativa. Inoltre, poiché il processo di generazione dei modelli di linguaggio grande diventa un’attività lunga quando si ha a che fare con contesti lunghi, è possibile che il pianificatore sospenda la generazione risultante, sollevando un problema di progettazione di un meccanismo per acquisire uno snapshot del risultato di generazione corrente del modello di linguaggio. Di conseguenza, il comportamento di pausa/riprendi è abilitato quando il modello di linguaggio grande non ha finalizzato la generazione della risposta per la richiesta corrente.

Per affrontare le sfide menzionate sopra, AIOS, un sistema operativo per modelli di linguaggio grande, fornisce aggregazioni e isolamento di moduli delle funzionalità LLM e del sistema operativo. La struttura AIOS propone una progettazione del kernel specifica per LLM nel tentativo di evitare potenziali conflitti tra attività associate e non associate al modello di linguaggio grande. Il kernel proposto separa i doveri del sistema operativo, in particolare quelli che sovraintendono agli agenti LLM, agli strumenti di sviluppo e alle risorse corrispondenti. Come risultato di questa separazione, il kernel LLM tenta di migliorare la coordinazione e la gestione delle attività relative ai modelli di linguaggio grande.

AIOS: Metodologia e Architettura

Come si può osservare, ci sono sei meccanismi principali coinvolti nel funzionamento della struttura AIOS.

  • Pianificatore di Agenti: Il compito assegnato al pianificatore di agenti è quello di pianificare e priorizzare le richieste degli agenti nel tentativo di ottimizzare l’utilizzo del modello di linguaggio grande.
  • Gestore di Contesto: Il compito assegnato al gestore di contesto è quello di supportare gli snapshot e il ripristino dello stato di generazione intermedio nel modello di linguaggio grande, e la gestione della finestra di contesto del modello di linguaggio grande.
  • Gestore di Memoria: La responsabilità principale del gestore di memoria è quella di fornire una memoria a breve termine per il log di interazione di ogni agente.
  • Gestore di Archiviazione: Il gestore di archiviazione è responsabile della persistenza dei log di interazione degli agenti nell’archiviazione a lungo termine per il recupero futuro.
  • Gestore di Strumenti: Il meccanismo del gestore di strumenti gestisce la chiamata degli agenti agli strumenti API esterni.
  • Gestore di Accesso: Il gestore di accesso applica le politiche di accesso e controllo tra gli agenti.

Oltre ai meccanismi menzionati sopra, la struttura AIOS presenta un’architettura a strati e si divide in tre strati distinti: lo strato dell’applicazione, lo strato del kernel e lo strato dell’hardware. L’architettura a strati implementata dalla struttura AIOS garantisce che le responsabilità siano distribuite uniformemente nel sistema e che gli strati superiori astraggano le complessità degli strati sottostanti, consentendo interazioni utilizzando moduli o interfacce specifici, migliorando la modularità e semplificando le interazioni di sistema tra gli strati.

Iniziando con lo strato dell’applicazione, questo strato viene utilizzato per sviluppare e distribuire agenti di applicazione come agenti matematici o di viaggio. Nello strato dell’applicazione, la struttura AIOS fornisce il kit di sviluppo software AIOS (AIOS SDK) con un’astrazione più alta 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 set di strumenti per facilitare lo sviluppo di applicazioni di agenti, astraggendo le complessità delle funzioni di sistema a basso livello, consentendo agli sviluppatori di concentrarsi sulle funzionalità e sulla logica essenziale dei loro agenti, risultando in un processo di sviluppo più efficiente.

Proseguendo, lo strato del kernel è ulteriormente diviso in due componenti: il kernel LLM e il kernel del sistema operativo. Sia il kernel del sistema operativo che il kernel LLM servono esigenze uniche di operazioni specifiche per LLM e non LLM, con la distinzione che consente al kernel LLM di concentrarsi su attività specifiche del modello di linguaggio grande, tra cui la pianificazione degli agenti e la gestione del contesto, attività essenziali per la gestione delle attività relative ai modelli di linguaggio grande. La struttura AIOS si concentra principalmente sul migliorare il kernel del modello di linguaggio grande senza alterare significativamente la struttura del kernel del sistema operativo esistente. Il kernel LLM è dotato di diversi moduli chiave, tra cui il pianificatore di agenti, il gestore di memoria, il gestore di contesto, il gestore di archiviazione, il gestore di accesso, il gestore di strumenti e l’interfaccia di sistema chiamata LLM. I componenti all’interno dello strato del kernel sono progettati nel tentativo di affrontare le diverse esigenze di esecuzione delle applicazioni di agenti, garantendo un’esecuzione e una gestione efficaci all’interno della struttura AIOS.

Infine, abbiamo lo strato dell’hardware che comprende i componenti fisici del sistema, tra cui GPU, CPU, dispositivi periferici, disco e memoria. È essenziale capire che il sistema del kernel LLM non può interagire direttamente con l’hardware e che queste chiamate interfacciano con le chiamate di sistema del sistema operativo che a loro volta gestiscono le risorse hardware. Questa interazione indiretta tra il sistema del kernel 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 la manutenzione dell’integrità e dell’efficienza del sistema.

Implementazione

Come menzionato sopra, ci sono sei meccanismi principali coinvolti nel funzionamento della struttura AIOS. Il pianificatore di agenti è progettato in modo da poter gestire le richieste degli agenti in modo efficiente e ha diversi passaggi di esecuzione contrariamente a un paradigma di esecuzione sequenziale tradizionale in cui l’agente elabora le attività in modo lineare con i passaggi dello stesso agente che vengono elaborati per primi prima di passare all’agente successivo, risultando in tempi di attesa aumentati per le attività che appaiono più tardi nella sequenza di esecuzione. Il pianificatore di agenti utilizza strategie come Round Robin, First In First Out e altri algoritmi di pianificazione per ottimizzare il processo.

Il gestore di contesto è stato progettato in modo da essere responsabile della gestione del contesto fornito al modello di linguaggio grande e del processo di generazione dato il contesto specifico. Il gestore di contesto coinvolge due componenti cruciali: snapshot e ripristino del contesto, e gestione della finestra di contesto. Il meccanismo di snapshot e ripristino del contesto offerto dalla struttura AIOS aiuta a mitigare situazioni in cui il pianificatore sospende le richieste degli agenti come dimostrato nella figura seguente.

Come dimostrato nella figura seguente, è responsabilità del gestore di memoria gestire la memoria a breve termine all’interno del ciclo di vita di un agente e assicurarsi che i dati vengano archiviati e siano accessibili solo quando l’agente è attivo, sia durante l’esecuzione che quando l’agente è in attesa di esecuzione.

D’altra parte, il gestore di archiviazione è responsabile della conservazione dei dati nel lungo termine e sovraintende all’archiviazione delle informazioni che devono essere conservate per un periodo di tempo indefinito, oltre la durata di vita dell’attività di un singolo agente. La struttura AIOS raggiunge l’archiviazione permanente utilizzando una varietà di supporti duraturi, tra cui soluzioni basate su cloud, database e file locali, garantendo la disponibilità e l’integrità dei dati. Inoltre, nella struttura AIOS, è il gestore di strumenti che gestisce una gamma variata di strumenti API che migliorano la funzionalità dei modelli di linguaggio grande e la tabella seguente riassume come il gestore di strumenti integri strumenti comunemente utilizzati da varie risorse e li classifichi in diverse categorie.

Il gestore di accesso organizza le operazioni di controllo di accesso all’interno di agenti distinti amministrando un gruppo di privilegi dedicato per ogni agente e nega all’agente l’accesso alle risorse se sono escluse dal gruppo di privilegi dell’agente. Inoltre, il gestore di accesso è anche responsabile della raccolta e della manutenzione dei log di audit che aumenta ulteriormente la trasparenza del sistema.

AIOS: Esperimenti e Risultati

La valutazione della struttura AIOS è guidata da due domande di ricerca: prima, come si comporta la pianificazione di AIOS nel migliorare l’equilibrio tra attesa e tempo di ritorno, e seconda, se la risposta del modello di linguaggio grande alle richieste degli agenti è coerente dopo la sospensione dell’agente?

Per rispondere alle domande di coerenza, gli sviluppatori eseguono ogni agente individualmente e successivamente eseguono questi agenti in parallelo, tentando di catturare le loro uscite durante ogni fase. Come dimostrato nella tabella seguente, i punteggi BERT e BLEU raggiungono il valore di 1,0, indicando un allineamento perfetto tra le uscite generate nelle configurazioni di agente singolo e multi-agente.

Per rispondere alle domande di efficienza, gli sviluppatori conducono un’analisi comparativa tra la struttura 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 narratore e agente rec. Per valutare l’efficienza temporale, la struttura AIOS utilizza due metriche: tempo di attesa e tempo di ritorno, e poiché gli agenti inviano più richieste al modello di linguaggio grande, il tempo di attesa e il tempo di ritorno per ogni agente vengono calcolati come la media del tempo di attesa e del tempo di ritorno per tutte le richieste. Come dimostrato nella tabella seguente, l’approccio non pianificato mostra prestazioni soddisfacenti per gli agenti più precoci nella sequenza, ma soffre di tempi di attesa e di ritorno prolungati per gli agenti successivi nella sequenza. D’altra parte, l’approccio di pianificazione implementato dalla struttura AIOS regola efficacemente sia il tempo di attesa che il tempo di ritorno.

Pensieri Finali

In questo articolo abbiamo parlato di AIOS, un sistema operativo per agenti LLM progettato per incorporare i modelli di linguaggio grande nel sistema operativo come il “cervello” del sistema operativo, dandogli efficacemente un “anima”. Per essere più specifici, la struttura AIOS è progettata con l’intento di facilitare il commutazione di contesto tra gli agenti, ottimizzare l’allocazione delle risorse, fornire servizi di strumenti per gli agenti, mantenere il controllo di accesso per gli agenti e abilitare l’esecuzione concorrente degli agenti. L’architettura AIOS dimostra il potenziale per facilitare lo sviluppo e la distribuzione di agenti autonomi basati su modelli di linguaggio grande, risultando in un ecosistema AIOS-agente più efficace, coeso ed efficiente.

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