Intelligenza artificiale
EUREKA: Progettazione di Ricompense a Livello Umano tramite Codifica di Large Language Models

Con i progressi che i Large Language Models hanno fatto negli ultimi anni, non è sorprendente che questi framework LLM eccellano come pianificatori semantici per compiti di decisione sequenziale ad alto livello. Tuttavia, gli sviluppatori trovano ancora difficile utilizzare appieno il potenziale dei framework LLM per l’apprendimento di compiti di manipolazione complessi a basso livello. Nonostante la loro efficienza, i Large Language Model odierni richiedono una notevole esperienza di dominio e soggetto per apprendere anche semplici abilità o costruire prompt testuali, creando un divario significativo tra le loro prestazioni e l’abilità umana.
Per colmare questo divario, gli sviluppatori di Nvidia, CalTech, UPenn e altri hanno introdotto EUREKA, un algoritmo di progettazione umano-livello alimentato da LLM. EUREKA mira a sfruttare varie capacità dei framework LLM, tra cui scrittura di codice, miglioramento in contesto e generazione di contenuti zero-shot, per eseguire un’ottimizzazione senza precedenti dei codici di ricompensa. Questi codici di ricompensa, combinati con l’apprendimento per rinforzo, consentono ai framework di apprendere abilità complesse o eseguire compiti di manipolazione.
In questo articolo, esamineremo il framework EUREKA da una prospettiva di sviluppo, esplorandone la struttura, il funzionamento e i risultati che ottiene nella generazione di funzioni di ricompensa. Queste funzioni, come affermato dagli sviluppatori, superano quelle generate dagli esseri umani. Esploreremo anche come il framework EUREKA apra la strada a un nuovo approccio all’RLHF (Apprendimento per Rinforzo con Feedback Umano) abilitando l’apprendimento in contesto senza gradiente. Iniziamo.
EUREKA: Un’introduzione
Oggi, i framework LLM di stato dell’arte come GPT-3 e GPT-4 forniscono risultati eccezionali quando fungono da pianificatori semantici per compiti di decisione sequenziale ad alto livello, ma gli sviluppatori stanno ancora cercando modi per migliorare le loro prestazioni quando si tratta di apprendere compiti di manipolazione a basso livello come la destrezza di far girare una penna. Inoltre, gli sviluppatori hanno osservato che l’apprendimento per rinforzo può essere utilizzato per ottenere risultati sostenibili in condizioni destre e in altri domini, a condizione che le funzioni di ricompensa siano costruite con cura da progettisti umani e che queste funzioni di ricompensa siano in grado di fornire segnali di apprendimento per comportamenti favorevoli. Quando paragonati a compiti di apprendimento per rinforzo nel mondo reale che accettano ricompense sparse, rende difficile per il modello apprendere i modelli, plasmando queste ricompense fornisce i segnali di apprendimento incrementali necessari. Inoltre, le funzioni di ricompensa, nonostante la loro importanza, sono estremamente difficili da progettare e progetti subottimali di queste funzioni spesso portano a comportamenti inintenzionali.

Per affrontare queste sfide e massimizzare l’efficienza di questi token di ricompensa, il framework EUREKA o Evoluzione guidata Universale REward Kit per Agente mira a fare le seguenti contribuzioni.
- Raggiungere prestazioni umane per la progettazione di funzioni di ricompensa.
- Risolvere efficacemente compiti di manipolazione senza utilizzare l’ingegneria manuale di ricompensa.
- Generare funzioni di ricompensa più allineate con gli esseri umani e più performanti introducendo un nuovo approccio di apprendimento in contesto senza gradiente invece del metodo tradizionale di RLHF o Apprendimento per Rinforzo con Feedback Umano.
Ci sono tre scelte algoritmiche fondamentali che gli sviluppatori hanno optato per migliorare la generalità di EUREKA: ricerca evolutiva, ambiente come contesto e riflessione di ricompensa. In primo luogo, il framework EUREKA prende il codice sorgente dell’ambiente come contesto per generare funzioni di ricompensa eseguibili in un ambiente zero-shot. Successivamente, il framework esegue una ricerca evolutiva per migliorare sostanzialmente la qualità delle sue ricompense, propone lotti di candidati per ricompensa con ogni iterazione o epoch e raffina quelli che trova più promettenti. Nella terza e ultima fase, il framework utilizza l’approccio di riflessione di ricompensa per rendere più efficace il miglioramento in contesto delle ricompense, un processo che alla fine aiuta il framework a consentire la modifica di ricompensa mirata e automatizzata utilizzando un riassunto testuale della qualità di queste ricompense sulla base di statistiche di formazione di politiche. La figura seguente fornisce una breve panoramica di come funziona il framework EUREKA e nella sezione successiva esploreremo l’architettura e il funzionamento in maggiore dettaglio.

EUREKA: Architettura del modello e impostazione del problema
L’obiettivo principale della formazione di ricompensa è restituire una funzione di ricompensa plasmata o curata per una funzione di ricompensa di verità fondamentale, che potrebbe presentare difficoltà quando viene ottimizzata direttamente come ricompense sparse. Inoltre, i progettisti possono utilizzare solo query per accedere a queste funzioni di ricompensa di verità fondamentale, il che è il motivo per cui il framework EUREKA opta per la generazione di ricompensa, un’impostazione di sintesi di programmi basata su RDP o il Problema di Progettazione di Ricompensa.
Il Problema di Progettazione di Ricompensa o RDP è una tupla che contiene un modello di mondo con uno spazio di stato, spazio per funzioni di ricompensa, una funzione di transizione e uno spazio di azione. Un algoritmo di apprendimento ottimizza quindi le ricompense generando una politica che produce un MDP o Processo di Progettazione di Markov, che può essere acceduto solo utilizzando query di politica. L’obiettivo principale del RDP è restituire una funzione di ricompensa in modo che la politica possa raggiungere il punteggio di idoneità massimo. Nell’impostazione del problema di EUREKA, gli sviluppatori hanno specificato ogni componente nel Problema di Progettazione di Ricompensa utilizzando il codice. Inoltre, per una stringa data che specifica i dettagli del compito, l’obiettivo principale del problema di generazione di ricompensa è generare un codice di funzione di ricompensa per massimizzare il punteggio di idoneità.
Proseguendo, alla base del framework EUREKA ci sono tre componenti algoritmici fondamentali. Ricerca evolutiva (proponendo e raffinando candidati in modo iterativo), ambiente come contesto (generando ricompense eseguibili in un ambiente zero-shot) e riflessione di ricompensa (per abilitare il miglioramento fine-grano delle ricompense). Il codice pseudocodice per l’algoritmo è illustrato nell’immagine seguente.

Ambiente come contesto
Attualmente, i framework LLM richiedono specifiche di ambiente come input per la progettazione di ricompense, mentre il framework EUREKA propone di alimentare il codice sorgente dell’ambiente direttamente come contesto, senza il codice di ricompensa, consentendo ai framework LLM di prendere il modello di mondo come contesto. L’approccio seguito da EUREKA ha due vantaggi principali. In primo luogo, i framework LLM per la codifica sono stati addestrati su set di codici nativi scritti in linguaggi di programmazione esistenti come C, C++, Python, Java e altri, il che è il motivo fondamentale per cui sono migliori nella produzione di output di codice quando sono direttamente autorizzati a comporre codice nella sintassi e nello stile in cui sono stati originariamente addestrati. In secondo luogo, l’utilizzo del codice sorgente dell’ambiente rivela generalmente gli ambienti coinvolti in modo semantico e le variabili che sono adatte per l’uso nel tentativo di output di una funzione di ricompensa in conformità con il compito specificato. Sulla base di queste informazioni, il framework EUREKA istruisce l’LLM per restituire un codice Python più eseguibile direttamente con l’aiuto di solo suggerimenti di formattazione e progettazione di ricompensa generica.
Ricerca evolutiva
L’inclusione della ricerca evolutiva nel framework EUREKA mira a presentare una soluzione naturale alle sfide di subottimalità e errori durante l’esecuzione menzionati in precedenza. Con ogni iterazione o epoch, il framework presenta vari output indipendenti dal Large Language Model e, se le generazioni sono tutte i.i.d, riduce esponenzialmente la probabilità che le funzioni di ricompensa durante le iterazioni siano difettose dato il numero di campioni che aumenta con ogni epoch.
Nel passaggio successivo, il framework EUREKA utilizza le funzioni di ricompensa eseguibili dall’iterazione precedente per eseguire una mutazione di ricompensa in contesto e quindi propone una nuova e migliorata funzione di ricompensa sulla base di un feedback testuale. Il framework EUREKA, combinato con le capacità di miglioramento in contesto e di follow-up delle istruzioni dei Large Language Model, è in grado di specificare l’operatore di mutazione come un prompt testuale e suggerisce un metodo per utilizzare il riassunto testuale della formazione di politiche per modificare i codici di ricompensa esistenti.
Riflessione di ricompensa
Per fondare le mutazioni di ricompensa in contesto, è essenziale valutare la qualità delle ricompense generate e, più importante, metterle in parole, e il framework EUREKA affronta questo utilizzando la semplice strategia di fornire punteggi numerici come valutazione di ricompensa. Quando la funzione di idoneità del compito serve come metrica olistica per la verità fondamentale, manca di assegnazione di credito e non fornisce alcuna informazione preziosa su perché la funzione di ricompensa funziona o perché non funziona. Quindi, nel tentativo di fornire una diagnosi di ricompensa più mirata e intricata, il framework propone di utilizzare feedback automatizzati per riassumere la dinamica di formazione di politiche in testi. Inoltre, nel programma di ricompensa, le funzioni di ricompensa nel framework EUREKA sono invitate a esporre i loro componenti individualmente, consentendo al framework di tracciare i valori scalari di ogni componente di ricompensa univoco nei punti di controllo della politica durante l’intera fase di formazione.

Sebbene la procedura di funzione di ricompensa seguita dal framework EUREKA sia semplice da costruire, è essenziale a causa della natura algoritmica dell’ottimizzazione delle ricompense. Ciò significa che l’efficacia di una funzione di ricompensa è direttamente influenzata dalla scelta di un algoritmo di apprendimento per rinforzo e con un cambiamento dei parametri iper, la ricompensa può comportarsi diversamente anche con lo stesso ottimizzatore. Quindi, il framework EUREKA è in grado di modificare i registri in modo più efficace e selettivo mentre sintetizza funzioni di ricompensa che sono in sinergia migliorata con l’algoritmo di apprendimento per rinforzo.
Formazione e baseline
Ci sono due componenti di formazione principali del framework EUREKA: Apprendimento di politica e Metriche di valutazione di ricompensa.
Apprendimento di politica
La funzione di ricompensa finale per ogni compito individuale è ottimizzata con l’aiuto dell’algoritmo di apprendimento per rinforzo utilizzando lo stesso set di parametri iper che sono stati ottimizzati per far funzionare bene le funzioni di ricompensa progettate dagli esseri umani.
Metriche di valutazione di ricompensa
Poiché la metrica del compito varia in termini di scala e significato semantico con ogni compito, il framework EUREKA riporta il punteggio normalizzato umano, una metrica che fornisce una misura olistica per il framework per confrontare come si esegue rispetto alle ricompense generate dagli esperti umani in conformità con le metriche di verità fondamentale.
Proseguendo, ci sono tre baseline principali: L2R, Umano, e Sparso.
L2R
L2R è una soluzione di prompt di Large Language Model a due stadi che aiuta nella generazione di ricompense templatizzate. In primo luogo, un framework LLM compila un modello di linguaggio naturale per ambiente e compito specificato in linguaggio naturale e quindi un secondo framework LLM converte questa “descrizione del movimento” in un codice che scrive una funzione di ricompensa chiamando un set di primitive di API di ricompensa scritte manualmente.
Umano
La baseline Umano sono le funzioni di ricompensa originali scritte da ricercatori di apprendimento per rinforzo, rappresentando così i risultati dell’ingegneria di ricompensa umana a un livello senza precedenti.
Sparso
La baseline Sparso assomiglia alle funzioni di idoneità e viene utilizzata per valutare la qualità delle ricompense generate dal framework.
Risultati e esiti
Per analizzare le prestazioni del framework EUREKA, lo valuteremo su diversi parametri, tra cui le prestazioni rispetto alle ricompense umane, il miglioramento dei risultati nel tempo, la generazione di nuove ricompense, l’abilitazione del miglioramento mirato, e il funzionamento con feedback umani.
EUREKA supera le ricompense umane
La figura seguente illustra i risultati aggregati su diverse baseline e, come può essere chiaramente osservato, il framework EUREKA supera o si esegue allo stesso livello delle ricompense umane su entrambi i compiti di Destrezza e Issac. Al contrario, la baseline L2R consegna prestazioni simili su compiti a bassa dimensionalità, ma quando si tratta di compiti a dimensionalità elevata, il divario nelle prestazioni è piuttosto sostanziale.

Miglioramento costante nel tempo
Uno dei principali punti di forza del framework EUREKA è la sua capacità di migliorare costantemente le sue prestazioni nel tempo con ogni iterazione e i risultati sono dimostrati nella figura seguente.

Come può essere chiaramente visto, il framework genera costantemente ricompense migliori con ogni iterazione e supera anche le prestazioni delle ricompense umane, grazie all’utilizzo dell’approccio di ricerca evolutiva di ricompensa in contesto.
Generazione di nuove ricompense
La novità delle ricompense del framework EUREKA può essere valutata calcolando la correlazione tra ricompense umane e EUREKA su tutti i compiti di Issac. Queste correlazioni sono quindi tracciate su un grafico a dispersione o mappa contro i punteggi normalizzati umani, con ogni punto nel grafico che rappresenta una ricompensa EUREKA individuale per ogni compito individuale. Come può essere chiaramente visto, il framework EUREKA genera prevalentemente funzioni di ricompensa debolmente correlate che superano le funzioni di ricompensa umana.

Abilitazione del miglioramento mirato
Per valutare l’importanza dell’aggiunta di riflessione di ricompensa nel feedback di ricompensa, gli sviluppatori hanno valutato un ablation, un framework EUREKA senza riflessione di ricompensa che riduce i prompt di feedback per consistere solo di valori di snapshot. Quando si eseguono compiti di Issac, gli sviluppatori hanno osservato che senza riflessione di ricompensa, il framework EUREKA ha subito un calo del 29% nel punteggio normalizzato medio.
Lavorare con feedback umani
Per incorporare prontamente una vasta gamma di input per generare funzioni di ricompensa più allineate con gli esseri umani e più performanti, il framework EUREKA, in aggiunta alla progettazione di ricompensa automatizzata, introduce un nuovo approccio di apprendimento in contesto senza gradiente all’Apprendimento per Rinforzo con Feedback Umano e ci sono state due importanti osservazioni.
- EUREKA può trarre vantaggio e migliorare dalle funzioni di ricompensa umane.
- L’utilizzo di feedback umani per la riflessione di ricompensa induce un comportamento allineato.

La figura sopra dimostra come il framework EUREKA mostri un sostanziale aumento di prestazioni ed efficienza utilizzando l’inizializzazione della ricompensa umana, indipendentemente dalla qualità della ricompensa umana, suggerendo che la qualità della ricompensa di base non ha un impatto significativo sulle capacità di miglioramento in contesto della ricompensa del framework.

La figura sopra illustra come il framework EUREKA non solo possa indurre politiche più allineate con gli esseri umani, ma anche modificare le ricompense incorporando feedback umani.
Pensieri finali
In questo articolo, abbiamo parlato di EUREKA, un algoritmo di progettazione umano-livello alimentato da LLM, che tenta di sfruttare varie capacità dei framework LLM, tra cui scrittura di codice, miglioramento in contesto e generazione di contenuti zero-shot, per eseguire un’ottimizzazione senza precedenti dei codici di ricompensa. Il codice di ricompensa, insieme all’apprendimento per rinforzo, può quindi essere utilizzato da questi framework per apprendere abilità complesse o eseguire compiti di manipolazione. Senza intervento umano o progettazione di prompt specifica del compito, il framework consegna capacità di generazione di ricompensa umana su una vasta gamma di compiti e la sua principale forza risiede nell’apprendimento di compiti complessi con un approccio di apprendimento curricolare.
Nel complesso, le sostanziali prestazioni e la versatilità del framework EUREKA indicano il potenziale di combinare algoritmi evolutivi con Large Language Model, che potrebbe risultare in un approccio scalabile e generale per la progettazione di ricompense e questa intuizione potrebbe essere applicabile ad altri problemi di ricerca aperti.










