Modelli e piattaforme di IA

AIOS: Sistema Operativo per Agenti LLM

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Nei passati 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 hanno servito come un ponte tra la funzionalità binaria dell’hardware del computer, come la manipolazione dei gate, e le attività a livello utente. Tuttavia, nel corso degli anni, sono stati 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, ampliando al tempo stesso 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 nella fase iniziale di sviluppo e le tecniche attuali affrontano diverse sfide che influiscono sulla loro efficienza ed 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 il 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 switching 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. Entriamo nel dettaglio.

Dopo aver raggiunto un notevole successo nei modelli di linguaggio grande, l’attenzione dell’industria AI e ML si concentra ora sullo sviluppo di agenti autonomi AI che possano operare in modo indipendente, prendere decisioni da soli e svolgere attività con minimo o nessun 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 nel comprendere le istruzioni umane, nel ragionamento e nella risoluzione dei problemi, e nell’interazione 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 i compiti in ambienti diversi, che vanno dagli assistenti virtuali a sistemi più complessi e sofisticati che coinvolgono la creazione, la risoluzione dei problemi, 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, dopodiché l’agente di viaggio divide il compito 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 tratta di contesti lunghi, è possibile per il pianificatore sospendere la generazione risultante, sollevando un problema di progettazione di un meccanismo per catturare il 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 del modulo di funzionalità LLM e OS. La struttura AIOS propone una progettazione del kernel specifica per LLM nel tentativo di evitare potenziali conflitti che sorgono 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 LLM.

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 gestore di strumenti gestisce la chiamata degli agenti a strumenti API esterni.
  • Gestore di Accesso: Il gestore di accesso applica le politiche di controllo di accesso e privacy tra gli agenti.

Oltre ai meccanismi menzionati sopra, la struttura AIOS presenta un’architettura a strati, divisa 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 gli strati superiori astraggono 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 lo sviluppo e la distribuzione di agenti applicativi come agenti di matematica 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, astrando le complessità delle funzioni di sistema a livello inferiore, 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 OS. Sia il kernel OS 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 OS 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 del modello di linguaggio grande. I componenti all’interno dello strato del kernel sono progettati per affrontare le diverse esigenze di esecuzione delle applicazioni degli 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 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 kernel LLM e le risorse hardware crea un livello 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 menzionato sopra, ci sono sei meccanismi principali coinvolti nel funzionamento della struttura AIOS. Il pianificatore di agenti è progettato per gestire le richieste degli agenti in modo efficiente e ha diversi passaggi di esecuzione, diversamente da 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 per gestire il contesto fornito al modello di linguaggio grande e il 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 a lungo termine e sovraintende all’archiviazione delle informazioni che devono essere mantenute 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 mezzi durevoli, 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 varietà 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 diverse risorse e li classifica in categorie diverse.

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 compilazione e del mantenimento dei log di audit che aumentano 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 di attesa e il tempo di risposta, e seconda, se le risposte del LLM alle richieste degli agenti sono coerenti dopo la sospensione degli agenti?

Per rispondere alle domande di coerenza, gli sviluppatori eseguono ogni agente individualmente e successivamente eseguono questi agenti in parallelo, cercando 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’approccio non pianificato, gli agenti vengono eseguiti in un ordine sequenziale predefinito: agente di matematica, agente di narrazione e agente di registrazione. Per valutare l’efficienza temporale, la struttura AIOS utilizza due metriche: tempo di attesa e tempo di risposta, e poiché gli agenti inviano più richieste al modello di linguaggio grande, il tempo di attesa e il tempo di risposta per ogni agente sono calcolati come la media del tempo di attesa e del tempo di risposta 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 risposta prolungati per gli agenti più tardi nella sequenza. D’altra parte, l’approccio di pianificazione implementato dalla struttura AIOS regola efficacemente sia i tempi di attesa che di risposta.

Pensieri Finali

In questo articolo abbiamo parlato di AIOS, un sistema operativo per agenti LLM progettato per integrare i modelli di linguaggio grande nel sistema operativo come il “cervello” del sistema operativo, abilitando un sistema operativo con un “anima”. Per essere più specifici, la struttura AIOS è progettata con l’intento di facilitare il switching 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. La struttura 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 e 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.