Verso AGI il ruolo dei LLM e dei modelli fondamentali nella rivoluzione dell’apprendimento permanente

Il ruolo crescente degli LLM e dei modelli fondamentali nella rivoluzione dell'apprendimento permanente verso AGI

Integrare innovazioni nei progressi dell’apprendimento continuo verso l’Intelligenza Artificiale Generale (AGI), inclusi VOYAGER, DEPS e AutoGPT.

Autori: Elahe Aghapour, Salar Rahili

Introduzione:

Nell’ultimo decennio e soprattutto con il successo dell’apprendimento approfondito, si è sviluppata una discussione continua sulla possibilità di costruire un’Intelligenza Artificiale Generale (AGI). L’obiettivo finale di AGI è quello di creare un agente in grado di svolgere qualsiasi compito che un essere umano è in grado di compiere. Una capacità fondamentale richiesta per un tale agente è quella di poter imparare continuamente nuove abilità e utilizzare le sue abilità apprese per imparare abilità più complesse più rapidamente. Queste abilità devono essere suddivise in sottotasks, in cui l’agente interagisce con l’ambiente, imparando dai propri errori fino al successo. E una volta appresa una nuova abilità, l’agente dovrebbe integrare l’abilità nel suo repertorio esistente di abilità acquisite per il futuro. I grandi modelli di linguaggio (LLM) hanno dimostrato di avere una buona comprensione del mondo e di come possono essere realizzate diverse attività. Negli ultimi anni sono stati pubblicati una serie di interessanti articoli con l’obiettivo di utilizzare un LLM come decision maker principale per l’apprendimento continuo. Questi lavori hanno scelto principalmente ambienti di test simili come Crafter o Minecraft, in quanto possono simulare l’obiettivo finale di AGI: la sopravvivenza.

Per esplorare gli ultimi progressi in questo campo, prima delineiamo il funzionamento collaborativo dei vari componenti che facilitano il processo di apprendimento. Successivamente, approfondiamo le specifiche di ciascun componente, confrontando la loro implementazione e funzionalità in diversi articoli di ricerca.

Panoramica:

Fig. 1: Gli elementi chiave identificati nella letteratura sono raccolti in un diagramma a blocchi esaustivo. I blocchi evidenziati con linee tratteggiate non sono inclusi in ogni articolo (Immagine dell'autore).

Per sviluppare il processo iterativo e continuo di apprendimento / realizzazione delle attività, molti framework consigliati adottano un processo riconoscibile. Chi ha una formazione in controllo di feedback o apprendimento per rinforzo riconoscerà una struttura simile (vedi Fig. 1); tuttavia, ci sono aggiunte notevoli che riducono l’input manuale umano e migliorano l’automazione dei processi.

Come primo passo, un compito ampiamente definito viene assegnato all’agente da un essere umano, ripercorrendo l’obiettivo principale dell’apprendimento di una vita. Questo compito assume spesso la forma di un prompt che delinea l’obiettivo principale, ad esempio “esplorare l’ambiente e completare il maggior numero possibile di compiti diversi”. Il blocco Planner, condizionato da questo obiettivo ampiamente definito, suddivide l’obiettivo in una sequenza di tasks eseguibili e comprensibili. Tale suddivisione richiede una comprensione dell’ambiente in cui opera l’agente. Poiché i LLM sono stati addestrati su un enorme corpus di dati, potrebbero essere i migliori candidati per essere planner. Inoltre, qualsiasi contesto supplementare, esplicito o manuale, può migliorare le loro prestazioni.

All’interno del blocco Selector, il Planner fornisce un insieme di sottotasks derivati. Il Selector, guidato dall’obiettivo principale e dalle intuizioni del Critic, determina il prossimo sottotask più adatto che non solo genererà il miglior risultato, ma soddisferà anche i prerequisiti. Il compito del Controller è generare azioni per completare l’attuale sottotask. Per ridurre gli sforzi ridondanti e sfruttare le attività precedentemente acquisite, diversi studi propongono di incorporare un blocco di memoria. Questo blocco viene utilizzato per recuperare le attività apprese più simili, integrandole nel flusso di lavoro in corso.

Le azioni generate vengono quindi introdotte nell’ambiente. Per valutare l’impatto delle azioni recenti, il Critic monitora lo stato dell’ambiente fornendo un feedback che include l’identificazione di eventuali criticità, ragioni di fallimento o potenziale completamento delle attività. Un Critic basato su LLM richiede l’input di testo che viene effettuato dal blocco Descriptor, per descrivere / trasformare lo stato dell’ambiente e dell’agente in testo. Il Critic quindi informa il Planner su ciò che è accaduto nell’ultimo tentativo e fornisce un feedback completo per assistere il Planner nel prossimo tentativo.

Descrizione dei Blocchi di Costruzione: Confronto tra Design e Implementazione tra Studi

In questa sezione, esploreremo ogni blocco nel dettaglio, discutendo le varie approcci adottate da diversi ricercatori.

Pianificatore

Questo componente organizza compiti di apprendimento permanente in un determinato ambiente. L’obiettivo finale può essere dato manualmente come in DEPS, o essere più come una linea guida, ossia, incoraggiando l’apprendimento di comportamenti diversi come parte della richiesta del Pianificatore, come in VOYAGER.

Il Pianificatore basato su LLM orchesta il processo di apprendimento stabilendo compiti che si allineano con lo stato attuale dell’agente, il suo livello di abilità e le istruzioni fornite nella sua richiesta. Tale funzionalità è integrata negli LLM, basandosi sull’assunzione che siano stati esposti a un processo simile di scomposizione dei compiti durante la loro formazione. Tuttavia, questa assunzione non era valida in SPRING poiché hanno eseguito l’esperimento sull’ambiente Crafter, che è stato rilasciato dopo la raccolta dei dati per i modelli GPT-3.5 e GPT-4. Pertanto, hanno proposto un metodo per estrarre tutte le informazioni pertinenti dal testo manuale dell’ambiente, e quindi riassumerle in un contesto di piccole dimensioni che verrà concatenato alle richieste in seguito. Nelle applicazioni reali, gli agenti si incontrano con una varietà di ambienti con diversi livelli di complessità e tali metodi semplici ma efficienti possono essere cruciali per evitare la necessità di ottimizzare ulteriormente i modelli pre-addestrati per compiti di sviluppo recente.

VOYAGER ha impiegato GPT-4 come modulo di curriculum automatico, cercando di proporre compiti sempre più difficili in base al progresso dell’esplorazione e allo stato dell’agente. La sua richiesta include diversi componenti, come: (1) incoraggiare l’esplorazione stabilendo i vincoli, (2) lo stato attuale dell’agente, (3) compiti precedentemente completati e falliti, (4) eventuali contesti aggiuntivi da un modulo di auto-domanda GPT-3.5. Poi restituisce un compito da completare dall’agente.

DEPS ha utilizzato CODEX, GPT-4, ChatGPT e GPT-3 come loro pianificatore LLM in diversi ambienti. La richiesta include: (1) l’enorme obiettivo finale (ad es. ottenere un diamante nell’ambiente Minecraft), (2) il piano più recentemente generato, (3) descrizione dell’ambiente e la sua spiegazione. Al fine di migliorare l’efficienza del piano, DEPS ha proposto anche un Selettore consapevole dello stato per scegliere l’obiettivo più vicino in base allo stato attuale dai gruppi di obiettivi candidati generati dal Pianificatore. In ambienti complessi, spesso esistono più piani fattibili, ma molti di essi si rivelano inefficaci nell’esecuzione e alcuni obiettivi all’interno di un piano possono essere eseguiti in qualsiasi ordine, consentendo flessibilità. Priorizzare gli obiettivi più vicini può migliorare l’efficienza del piano. A tal fine, hanno addestrato una rete neurale utilizzando traiettorie offline per prevedere e classificare in base al passo temporale richiesto per completare gli obiettivi dati nello stato attuale. Il Pianificatore in collaborazione con il Selettore genererà una sequenza di compiti da completare.

Controller:

La responsabilità principale del controller è scegliere l’azione successiva per completare il compito dato. Il Controller potrebbe essere un altro LLM, ad esempio VOYAGER, o un modello di apprendimento per rinforzo profondo, ad esempio DEPS, che genera azioni in base allo stato e al compito dato. VOYAGER impiega GPT-4 in un prompting interattivo per svolgere il ruolo del controller. VOYAGER, Progprompt e CaP scelgono di utilizzare il codice come spazio di azione invece di comandi motori a basso livello. Questo è fondamentale per i compiti a lungo termine poiché il codice può rappresentare naturalmente azioni temporalmente estese e compositive. La richiesta per la generazione di codice in VOYAGER include: (1) Una linea guida per la generazione di codice, (2) Un elenco di API primitive di controllo disponibili con la loro descrizione, (3) Abilità/codici rilevanti recuperati dalla memoria, (4) Il codice generato dalla sessione precedente, il feedback dell’ambiente, gli errori di esecuzione e l’output del Critico, (5) Stato attuale, (6) Prompting di catena di pensieri per fare ragionamenti prima della generazione di codice.

Un’altra alternativa per il controller è addestrare un agente di deep reinforcement learning per generare azioni in base allo stato attuale e all’obiettivo. DEPS ha utilizzato l’apprendimento per imitazione per addestrare un modello del genere.

Memoria:

Gli esseri umani utilizzano diversi tipi di memoria per completare un dato compito. Le principali funzionalità della memoria possono essere categorizzate in:

1- Memoria a breve termine: Memorizza informazioni che stiamo utilizzando attivamente per attività come l’apprendimento e il ragionamento. Si stima che possa contenere circa 7 elementi e dura circa 20-30 secondi [10]. Per quanto ne sappiamo, tutti i metodi di lifelong learning basati su LLM utilizzano la memoria a breve termine tramite apprendimento in contesto, limitato dalla lunghezza del contesto del LLM.

Fig. 2: Libreria di abilità in VOYAGER. La figura superiore descrive il processo di aggiunta di una nuova abilità e quella inferiore è il recupero dell'abilità (fonte immagine VOYAGER)

2- Memoria a lungo termine: Memorizza e recupera informazioni per lungo tempo. Questo può essere implementato come un deposito di vettori esterno con ripresa veloce. VOYAGER trae vantaggio dalla memoria a lungo termine aggiungendo/recuperando abilità apprese dai depositi di vettori esterni. Le abilità, come abbiamo discusso, sono codici eseguibili generati dal Controller che guidano i passaggi necessari per completare un compito.

Quando il Critico verifica che il codice può completare il compito, viene utilizzato GPT-3.5 per generare una descrizione per il codice. Quindi, l’abilità verrà memorizzata nella libreria di abilità, dove l’embedding della descrizione funge da chiave e il codice come valore (vedi Fig. 2). Quando il Planner suggerisce un nuovo compito, GPT-3.5 genera una suggerimento generale per completare il compito. Utilizzano l’embedding della soluzione suggerita, aumentata con il feedback ambientale, per recuperare le prime 5 abilità rilevanti dalla libreria di abilità (vedi Fig. 2).

L’aggiunta della memoria a lungo termine può migliorare significativamente le prestazioni. Fig. 3 mostra quanto sia fondamentale la libreria di abilità per VOYAGER. Questo indica anche che l’aggiunta di una libreria di abilità ad Auto-GPT può migliorare notevolmente le sue prestazioni. Sia la memoria a breve che quella a lungo termine lavorano con il Controller per generare e affinare la sua politica al fine di raggiungere l’obiettivo.

Fig. 3: Aggiungere una libreria di abilità ad AutoGPT migliora le sue performance nell'apprendimento zero shot a generalizzare compiti non visti (fonte immagine VOYAGER).

Critico:

Il Critico o l’autodiagnosi è un modulo basato su LLM che fornisce una critica sul piano eseguito in precedenza e fornisce un feedback su come perfezionare il piano per completare il compito. La riflessione migliora il ragionamento dell’agente con la memoria dinamica e l’autoriflessione. L’autoriflessione è un GPT-4 che svolge il ruolo di Critico. Prende il segnale di ricompensa, la traiettoria corrente e la sua memoria persistente per generare un feedback verbale per il miglioramento personale per i futuri tentativi. Questo feedback è più informativo di una ricompensa scalare e viene memorizzato nella memoria per essere utilizzato dal Planner per perfezionare il piano.

VOYAGER e DEPS eseguono le azioni e il codice generati dal Controller per ottenere il feedback dell’Ambiente e eventuali errori di esecuzione. Queste informazioni vengono incorporate nella richiesta del Critico, che viene chiesto di agire come critico e determinare se l’obiettivo è stato raggiunto o meno. Inoltre, se il compito è fallito, fornisce suggerimenti su come completare il compito.

Descrittore:

Nell’apprendimento lungo tutta la vita basato su LLM, l’input e l’output del Planner sono testi. Alcuni ambienti, come Crafter, sono basati su testo, mentre per il resto degli ambienti, restituiscono una rappresentazione di immagine 2D o 3D o eventualmente alcune variabili di stato. Un descrittore funge da ponte, convertendo le modalità in testo e incorporandole nell’input di un LLM.

Agenti AI autonomi:

Questo blog discute principalmente di recenti studi che integrano modelli fondamentali con l’apprendimento continuo, un passo significativo verso il raggiungimento dell’AGI. Tuttavia, è importante riconoscere che questi approcci rappresentano una parte dell’ampio sforzo per sviluppare agenti autonomi. Diverse iniziative degne di nota hanno probabilmente funto da catalizzatori per la ricerca qui discussa. Ne evidenzieremo brevemente alcune nella sezione seguente.

Recentemente, diversi lavori, come AutoGPT e BabyAGI, sembrano essere ispirati dall’uso di LLM come cervello e sono progettati per essere agenti autonomi per risolvere problemi complessi. Gli viene fornito un compito. Eseguono un ciclo, suddividendo il compito in sottocompiti, si auto-promptandosi, rispondendo al prompt e ripetendo il processo finché non raggiungono l’obiettivo fornito. Possono anche avere accesso a diverse API, come l’accesso a Internet, che può ampliare notevolmente i loro casi d’uso.

AutoGPT è sia un GPT-3.5 che un GPT-4, accompagnato da un assistente virtuale che guida e indica loro cosa fare. AutoGPT ha accesso a Internet ed è in grado di interagire con app, software e servizi, sia online che locali. Per raggiungere un obiettivo di livello superiore dato dagli esseri umani, AutoGPT utilizza un formato di prompt chiamato Reason and ACT (ReACT). ReACT consente all’agente di ricevere un input, comprenderlo, agire in base ad esso, ragionare sui risultati e quindi ripetere quel ciclo se necessario. Poiché AutoGPT può auto-promptarsi, può pensare e ragionare mentre svolge il compito, cercando soluzioni, scartando quelle senza successo e considerando diverse opzioni.

BabyAGI è un altro agente AI autonomo recentemente introdotto. Ha tre componenti basati su LLM (vedi Fig. 4):1- C’è un agente di creazione dei compiti che elabora un elenco di compiti (simile al Planer)2- Un agente di prioritizzazione cerca di dare priorità a un elenco di compiti mediante la promptizzazione LLM (simile al Selector)3- Un agente di esecuzione (simile a un Controller) esegue un compito con la priorità più alta.

Tanto AutoGPT quanto BabyAGI utilizzano una store di vettori in background per memorizzare i risultati intermedi e apprendere dalle esperienze.

Fig. 4: Diagramma del flusso di BabyAGI (fonte dell’immagine sito web di Yohei Nakajima)

Limitazioni e sfide:

1- L’apprendimento lungo tutta la vita basato su LLM dipende pesantemente dalla affidabilità dei LLM per comprendere accuratamente l’ambiente e pianificare e valutare in modo efficace. Tuttavia, gli studi rivelano che i LLM possono talvolta produrre allucinazioni, inventare fatti e assegnare compiti inesistenti. In particolare, in alcuni degli studi citati, la sostituzione di GPT-4 con GPT-3.5 ha portato a un significativo calo delle prestazioni, sottolineando il ruolo critico del modello LLM impiegato.

2- Gli LLM mostrano imprecisioni quando vengono impiegati come Pianificatori o Critici. Il Critico potrebbe fornire feedback incorretti o non verificare accuratamente il completamento del compito. Allo stesso modo, il Pianificatore potrebbe rimanere intrappolato in un ciclo ripetitivo, incapace di modificare il suo piano anche dopo diversi tentativi. Aggiungere un processo di intervento umano ben progettato, scatenato dagli eventi, può aumentare le prestazioni di questi modelli in tali scenari.

3- La lunghezza del contesto limitata negli LLM limita la capacità di memoria a breve termine, influenzando la loro capacità di conservare dettagliate esperienze passate e i loro risultati, istruzioni dettagliate e API di controllo primitivo disponibili. Una lunghezza del contesto lunga è molto critica, soprattutto nella autoverifica, per imparare dalle esperienze e dai fallimenti passati. Nonostante gli sforzi di ricerca in corso per estendere la lunghezza del contesto o utilizzare metodi come Transformer-XL, nella maggior parte dei casi gli autori hanno utilizzato GPT-4 con una lunghezza massima del contesto di 8.192 token.

4- La maggior parte di questi lavori, tranne SPRING, presuppongono che l’LLM conosca tutte le informazioni necessarie per avviare l’apprendimento permanente prima di iniziare l’esperimento. Tuttavia, questa supposizione potrebbe non sempre essere vera. Fornire accesso a Internet agli agenti, come in AutoGPT, o fornire materiale testuale come contesto di input, come in SPRING, può essere utile per affrontare domande di approfondimento.

Riferimenti:

[1] VOYAGER: Wang, Guanzhi, et al. “Voyager: Un agente incorporato a circuito aperto con grandi modelli di linguaggio.”, 2023

[2] DEPS: Wang, Zihao, et al. “Descrivere, spiegare, pianificare e selezionare: la pianificazione interattiva con grandi modelli di linguaggio consente agenti multi-task a mondo aperto.”, 2023

[3] SPRING: Wu, Yue, et al. “SPRING: GPT-4 supera gli algoritmi RL studiando documenti e ragionando.”, 2023

[4] Reflexion: Shinn, Noah, et al. “Reflexion: Agenti di linguaggio con apprendimento verbale di rinforzo.”, 2023

[5] Progprompt: Singh, Ishika, et al. “Progprompt: Generare piani di attività robotiche situate utilizzando grandi modelli di linguaggio.”, 2023

[6] React: Yao, Shunyu, et al. “React: Sinergizzare il ragionamento e l’azione nei modelli di linguaggio.”, 2022

[7] CaP: Liang, Jacky, et al. “Code as politiche: programmi di modelli di linguaggio per il controllo incarnato.”, 2023

[8] AutoGPT. https://github.com/Significant-Gravitas/Auto-GPT

[9] babyAGI: https://github.com/yoheinakajima/babyagi

[10] Weng, Lilian, et al. “Agenti autonomi con alimentazione LLM”, 2023