Ciao a tutti, sono Vincenzo Lomonaco, ricercatore e docente all’Università di Pisa.
Nella puntata di oggi parliamo di una metodologia centrale oggigiorno nel mondo dell’intelligenza artificiale.
Parliamo di reinforcement learning from human feedback, apprendimento con rinforzo mediante feedback umani.
Di cosa si tratta e in che modo si distingue dall’apprendimento automatico classico tradizionale? Perché è fondamentale per i moderni agenti conversazionali? Facciamo un po’ il punto in questa puntata di Le Voci dell’AI.
Il reinforcement learning è un approccio di apprendimento automatico in cui un agente apprende a prendere decisioni interagendo direttamente con un ambiente.
A differenza quindi dell’apprendimento supervisionato, dove un modello predittivo viene addestrato su dati etichettati con input e output specifici e dell’apprendimento non supervisionato, che cerca pattern rilevanti nei dati non etichettati, il reinforcement learning, apprendimento per rinforzo, si basa su un sistema di ricompense e penalità.
In RL l’agente esplora l’ambiente di riferimento del compito in cui viene impiegato e compie azioni che influenzano il suo stato. Riceve poi feedback sotto forma di ricompensa o punizioni e questo guida il suo comportamento futuro, il suo apprendimento nella creazione di una policy, una politica di risposta a determinati stati con una sequenza di azioni.
L’obiettivo è quindi massimizzare la ricompensa totale nel tempo, apprendendo politiche ottimali per le azioni da intraprendere in diverse situazioni.
Questa struttura consente al reinforcement learning di affrontare problemi complessi e dinamici come la robotica o giochi di varia natura, dove l’ambiente è incerto e in continua evoluzione.
In sostanza, il reinforcement learning si distingue per il suo approccio interattivo e basato sulle conseguenze dirette delle proprie azioni, permettendo agli agenti di apprendere dall’esperienza, dalla trial and error, dai propri errori più che da esempi statici precedentemente collezionati e curati.
Il reinforcement learning ha visto significativi progressi algoritmici con metodi come il Proximal Policy Optimization – PPO, il Soft Actor Critic – SAC e più recentemente MuZero proposto da Google Deepmind, che combinano apprendimento basato su modelli complessi della realtà o completamente senza mostrando grande efficacia in compiti anche particolarmente complessi.
Questi algoritmi sono stati applicati infatti con successo in vari settori, come la robotica, dove i robot imparano a interagire direttamente con ambienti reali, oppure nei giochi cui accennavo prima, dove hanno superato anche i record mondiali in titoli come Dota 2 o Starcraft II, anche riconosciuti come degli eSports.
Tuttavia, nonostante questi risultati promettenti, l’uso del reinforcement learning in scenari reali presenta limitazioni significative.
Gli algoritmi infatti sviluppati in questo ambito tendono a funzionare meglio in ambienti simulati rispetto a quelli reali, dove si possono fare milioni di tentativi senza problemi prima di sviluppare una vera e propria policy, una politica o un modello predittivo che possa realmente funzionare.
Questo è ovviamente impensabile per compiti come la guida autonoma, dove non ci possiamo permettere di distruggere milioni di automobili prima di imparare, ad esempio, a usare correttamente il volante, ma può risultare parecchio funzionale e utile in altri contesti, come il raffinamento di modelli generativi conversazionali.
Il Reinforcement Learning from Human Feedback è un approccio innovativo che combina l’apprendimento automatico tradizionale con il feedback umano per migliorare il comportamento degli agenti intelligenti conversazionali.
Inizia con un modello di linguaggio addestrato in un Large Language Model tradizionale, seguito da un’ottimizzazione basata su feedback umani, su come l’agente deve rispondere a determinati prompt – quesiti – in forma testuale.
In questo processo gli operatori umani forniscono valutazioni su diverse risposte generate dall’agente, che vengono poi utilizzate per allenare un modello di ricompensa.
Questo modello interpreta il feedback come segnali di ricompensa, permettendo quindi all’agente di apprendere le azioni preferite, le risposte positive dagli utenti e migliorare quindi le sue nel tempo.
L’interazione continua, quindi di apprendimento, feedback, aggiornamenti delle politiche e delle policy degli agenti consente agli stessi di adattarsi meglio alle esigenze umane, migliorando così la loro performance in compiti complessi come l’assistenza sanitaria, il supporto clienti e così via, dove agenti conversazionali specializzati sono particolari e utili.
In questa immagine vediamo i tre step operativi dietro l’implementazione di agenti conversazionali come ChatGPT.
In particolare, un iniziale raffinamento di un modello attraverso l’apprendimento supervisionato sulla sinistra e successivamente tramite rinforzi sulla destra del primo step.
Data una serie di prompts, di domande in formato testuale, per esempio, «spiega l’allunaggio a un bambino di sei anni», abbiamo bisogno di un umano esperto che generi, scriva sostanzialmente le risposte per questi quesiti.
L’obiettivo è quello di specializzare la soluzione in modo che un modello di linguaggio generalista, con un large language model addestrato su documenti del web, acquisisca il modo, lo stile in cui gli umani chattano e si aspettano determinate risposte.
In seguito, come vediamo sulla destra, potremmo utilizzare l’apprendimento con rinforzo per meglio allineare le risposte in funzione di determinati valori o vincoli di sicurezza.
Ma come? Innanzitutto, collezionando, dato un prompt, diverse risposte da diversi utenti e ordinandole dalla migliore alla peggiore.
Poi creando con questi dati un modello di rinforzo o modello predittivo che sia in grado, dato un prompt e una risposta, di valutarla automaticamente producendo una determinata ricompensa virtuale.
Una volta che abbiamo questo ulteriore modello, possiamo utilizzarlo per specializzare il nostro Large Language Model nello step 3 tramite reinforcement learning.
In questa immagine vediamo proprio una rappresentazione metodologica del terzo step precedentemente descritto.
Vedete, a partire da un testo generato sulla sinistra siamo in grado di specializzare un Large Language Model, in verde tramite un modello di rinforzo, in rosso, precedentemente addestrato.
In basso vediamo come anche una copia dello stesso Large Language Model venga mantenuta bloccata alla versione originale per averla come una sorta di riferimento rispetto alle abilità precedenti prima di iniziare questo processo di raffinamento.
Non vorremmo infatti che solo per osservare determinate preferenze in termini di valori o di safety non rispondessimo più ai bisogni formativi degli utenti.
Un ultimo dettaglio che vale la pena sottolineare è l’algoritmo di RL, evidenziato in giallo, il Proximal Policy Optimization più un algoritmo di reinforcement learning che si distingue in particolare per la sua semplicità implementativa e robustezza.
Questo algoritmo funziona aggiornando le politiche e le policy dello stesso predittivo in modo controllato, limitando la modifica delle probabilità di scelta di un’azione all’interno di un intervallo di tempo definito, quindi prevenendo oscillazioni e instabilità nel processo di apprendimento mediante rinforzo, rinforzo che in genere è molto rumoroso.
PPO è infatti uno degli algoritmi più utilizzati per questo tipo di applicazioni.
Quando il processo di raffinamento è stato completato, possiamo buttare via tutte queste componenti e utilizzare esclusivamente il modello in verde per generare risposte controllate e affini allo stile di interazione che l’utente desidera e si aspetta da un umano.
Riassumendo, in questa puntata abbiamo discusso di reinforcement learning e di come questo paradigma si differenzi dal machine learning supervisionato classico.
Mentre l’apprendimento con rinforzo rappresenta sicuramente un tipo di apprendimento molto affascinante, negli ultimi anni le sue applicazioni pratiche sono state abbastanza limitate.
Più recentemente, invece, si è trovato nel raffinamento dei Large Language Models conversazionali un suo uso interessantissimo.
Infatti, attraverso la modellizzazione di una ricompensa virtuale sulla base di feedback umani, è possibile modulare l’espressività di agenti virtuali come ChatGPT per esempio, per essere sicuri che non vengano fornite risposte sgarbate, pericolose o comunque disallineate rispetto a un determinato sistema valoriale.
Ciao! Alla prossima puntata di Le Voci dell’AI!