Che cos'è l'RLHF e come funziona?

Scritto da Manuel Herranz | 09/28/23

L'apprendimento per rinforzo dal feedback umano (RLHF) è un tema caldo per tutti coloro che lavorano nel campo dell'intelligenza artificiale (IA). In sostanza, tutti coloro che sono stati esposti a qualsiasi tipo di riqualificazione della traduzione automatica, sia offline che online, hanno una certa familiarità con il concetto e le procedure. Questo ha portato a un massiccio trasferimento di talenti che sfruttano la loro esperienza nella traduzione automatica come compito PLN per la messa a punto di grandi modelli linguistici (LLM). In questo articolo spiegheremo in modo semplice cos'è l'apprendimento per rinforzo dal feedback umano (RLHF) e come funziona, stabilendo paralleli con la traduzione automatica e indicando alcune applicazioni pratiche del mondo reale. 

Concetti fondamentali: Cos'è l'apprendimento per rinforzo 

L'apprendimento per rinforzo è un ramo dell'apprendimento automatico in cui un algoritmo ("l'agente") impara a comportarsi in un certo modo all'interno di un ambiente eseguendo determinate azioni e ricevendo ricompense o punizioni in risposta a tali azioni. L'apprendimento per rinforzo cerca di risolvere un problema a più livelli mediante il tentativo ed errore. L'obiettivo è far sì che l'agente impari a prendere decisioni per massimizzare una ricompensa accumulativa nel tempo. Se ci pensiamo, è così che impariamo come esseri umani, in modo istintivo. Lo chiamiamo "apprendere dall'esperienza" o "prova ed errore", ed è così che a sei o sette anni sappiamo che una padella, un radiatore o un forno sono caldi e non dobbiamo toccarli senza prima assicurarci che siano spenti o almeno che non stiano bruciando. Sappiamo che se ci troviamo sul bordo di qualcosa, potremmo cadere. Le macchine sono addestrate a prendere una sequenza di decisioni in scenari reali. 

Per rendere il concetto più familiare alle persone nell'industria dei servizi di traduzione: pensa a un motore di traduzione automatica che viene costantemente (o frequentemente) alimentato con più dati di traduzioni di videogiochi. Potrebbe essere abbastanza buono il primo giorno, ma potrebbe non trovare la terminologia o lo stile che ci piace, commettendo alcuni errori lungo il cammino. Con abbastanza materiale, inizierà a imparare ciò che preferiamo. L'apprendimento per rinforzo si applica a molte altre aree all'interno dell'apprendimento automatico: visione artificiale, riconoscimento ottico dei caratteri, classificazione dei dati, ecc. 

Questo è il concetto di base dell'apprendimento per rinforzo: imparare attraverso l'esperienza e il feedback. 

Per rendere il concetto più familiare a chi opera nel settore dei servizi di traduzione: pensate a un motore di traduzione automatica che viene costantemente (o frequentemente) alimentato con altri dati di traduzione di videogiochi. Il primo giorno potrebbe essere abbastanza buono, ma non trovare la terminologia o lo stile che ci piace, commettendo alcuni errori lungo il percorso. Con una quantità sufficiente di materiale, inizierà a imparare ciò che preferiamo. L'apprendimento per rinforzo si applica a molte altre aree dell'apprendimento automatico: visione artificiale, OCR, classificazione dei dati, ecc. 

Ora, aggiungiamo il Feedback Umano... 

Ora che sappiamo cos'è l'apprendimento per rinforzo, aggiungiamo gli esseri umani nel processo di feedback. Una definizione standard di RLHF è che l'apprendimento dal feedback umano (RLHF) è un approccio di apprendimento automatico che combina tecniche di apprendimento per rinforzo, come ricompense e punizioni, con la guida umana per addestrare un agente di intelligenza artificiale (IA).

Il RLHF funziona addestrando innanzitutto un "modello di ricompensa" direttamente dai commenti umani. Il modello di ricompensa è una funzione che prende l'output di un agente (l'output dell'algoritmo) e prevede quanto sia buono o cattivo, cioè stima la sua qualità. Una volta addestrato il modello di ricompensa, può essere utilizzato per addestrare l'agente tramite l'apprendimento per rinforzo. 

Questo "modello di ricompensa" che viene addestrato direttamente dal feedback umano è responsabile di determinare la funzione di ricompensa per ottimizzare la politica dell'agente utilizzando algoritmi di apprendimento per rinforzo, come l'ottimizzazione delle politiche proxime. 

Quindi ora abbiamo un sistema che utilizza le scelte umane e ciò che gli esseri umani preferiscono per guidare come e cosa l'agente imparerà. Ciò fornisce potenzialmente più "peso" alle scelte simili a quelle umane. 

Si tratta, in effetti, di una questione di tentativi ed errori, interagendo con l'ambiente e osservando le ricompense o le penalità ricevute per le proprie azioni (e il biscotto/non biscotto se si tratta di un cane!). 

 

Per saperne di più: Intelligenza artificiale generativa e copyright

Componenti chiave dell'apprendimento per rinforzo 

Riepiloghiamo i concetti chiave prima di approfondire come funziona il RLHF: 

  1. Agente: L'algoritmo o la macchina che prende azioni che influenzano l'ambiente. Ad esempio, se stai costruendo una macchina per giocare a Go, poker o scacchi, la macchina che impara a giocare è l'agente. 

  2. Stato: l'osservazione dell'ambiente da parte dell'agente. 

  3. Azione: la decisione o azione intrapresa dall'agente nell'ambiente basata sulla sua osservazione. 

  4. Ambiente: Ogni azione che l'agente RF compie influisce direttamente sull'ambiente. In questo caso, la scacchiera del Go è un ambiente. Il mazzo di carte o la scacchiera sono ambienti. L'ambiente prende lo stato attuale dell'agente (l'osservazione) e l'azione come informazione e restituisce la ricompensa all'agente con un nuovo stato. 

    Questo è molto importante perché l'ambiente potrebbe aver subito cambiamenti a seguito dell'azione dell'agente. 

    Ad esempio, la carta giocata o presa dal sistema, il pezzo mosso nel Go o in una partita a scacchi, la rilevazione di una palla o di un bambino in un'auto autonoma cambiano necessariamente la situazione e avranno un effetto negativo/positivo sull'intera situazione. Potenzialmente, il gioco potrebbe essere cambiato, così come la disposizione delle pedine sulla scacchiera. Una palla o un bambino sulla strada dovrebbero innescare una serie di decisioni. In effetti, il movimento, la presenza decideranno l'azione e lo stato successivi sulla strada, nel gioco o sulla scacchiera. 

     

  5. Ricompensa: È il feedback che l'agente riceve dall'ambiente dopo aver compiuto un'azione. Le ricompense possono essere positive o negative (per azioni indesiderate) e non necessariamente provengono dagli esseri umani. Ci sono molti scenari in cui potremmo voler far imparare alla macchina da sola. In questi casi, l'unico critico che guida il processo di apprendimento è il feedback/ricompensa ricevuto. 

  6. Politica: La strategia che definisce come l'agente seleziona azioni date le sue condizioni attuali, con l'obiettivo di massimizzare la ricompensa cumulativa totale. 

  7. Fattore di sconto: Nel tempo, il fattore di sconto modifica l'importanza degli incentivi. Dato l'incertezza del futuro, è meglio aggiungere varianza alle stime del valore. Il fattore di sconto aiuta a ridurre il grado in cui le ricompense future influenzano le nostre stime di valore. 

  8. Valore-Q o valore-azione: Il Valore-Q è una misura della ricompensa totale prevista se l'agente si trova in uno stato e compie un'azione, e quindi gioca fino alla fine dell'episodio secondo una certa politica.  

Come si può notare, ci possono essere numerose applicazioni in ambienti industriali e di sviluppo in cui l'apprendimento per rinforzo ha un senso completo e diventa un'opzione molto interessante grazie alla sua capacità di apprendere da solo. 

Come funziona l'Apprendimento per Rinforzo dal Feedback Umano (RLHF)? 

In una configurazione tipica dell'apprendimento per rinforzo, in primo luogo si addestra un "modello di ricompensa" direttamente dalla retroazione umana. L'agente inizia in uno stato iniziale e compie azioni in base alla sua politica. L'ambiente risponde alle azioni dell'agente fornendo ricompense e aggiornando lo stato. Questo modello di ricompensa è addestrato per prevedere quanto una persona ricompenserebbe un agente per un'azione o comportamento specifico. Il modello di ricompensa può essere utilizzato per addestrare l'agente mediante apprendimento per rinforzo. 

Successivamente, l'agente aggiorna la sua politica in base alle ricompense osservate e al nuovo stato, e il processo continua fino a quando viene soddisfatta una condizione di terminazione (l'auto è arrivata a destinazione, scacco matto, condizioni ottimali per massimizzare la vendita di azioni, ecc.) 

Una differenza chiave nell'aggiungere il feedback umano all'apprendimento per rinforzo è che l'agente impara a massimizzare le ricompense previste dal modello di ricompensa. Ciò consente all'agente di imparare direttamente dalla retroazione umana senza dover definire esplicitamente una funzione di ricompensa, ad esempio, sforzandosi di allineare le preferenze e le scelte umane che potrebbero non essere esattamente le scelte "ottimali" automaticamente classificate. Il risultato è sempre un output e un comportamento più "umani". 

Il processo di addestramento per RLHF di solito si compone di tre fasi di base: 

  1. Preallenamento di un modello linguistico (LM): Il modello iniziale viene preaddestrato su un grande corpus di dati di testo. 

  2. Raccolta di dati e addestramento di un modello di ricompensa: Il feedback umano viene raccolto chiedendo loro di classificare istanze del comportamento dell'agente. Queste classificazioni possono essere utilizzate per valutare i risultati, ad esempio con il sistema di classificazione Elo. Altri tipi di feedback umano che forniscono informazioni più dettagliate includono il feedback numerico, il feedback in linguaggio naturale, l'indice di editing, ecc. 

  3. Regolazione del modello linguistico tramite apprendimento per rinforzo: Il modello linguistico preaddestrato viene regolato utilizzando il modello di ricompensa come funzione di ricompensa, ottimizzando la politica dell'agente. 

l'Apprendimento per Rinforzo dal Feedback Umano (RLHF) è stato applicato in vari ambiti dell'elaborazione del linguaggio naturale, come agenti conversazionali, riassunto di testi e comprensione del linguaggio naturale. Ha permesso ai modelli linguistici di allinearsi con valori umani complessi e migliorare le prestazioni in compiti specificati dall'utente. 

Algoritmi di apprendimento per rinforzo 

Ci sono diversi algoritmi di apprendimento per rinforzo, come Q-Learning, SARSA e Deep Q Network (DQN), che differiscono nei loro approcci per l'apprendimento della politica ottimale, ma questi saranno oggetto di un altro articolo!!! 

Applicazioni pratiche dell'apprendimento per rinforzo 

Ora sappiamo che l'apprendimento per rinforzo consente agli agenti (algoritmi) di imparare come comportarsi in un ambiente per tentativi ed errori. Questi agenti di intelligenza artificiale possono svolgere una vasta gamma di compiti, tra cui: 

  • Compiti di elaborazione del linguaggio naturale, come traduzione automatica, riassunto di testi e risposta a domande. 

  • Compiti di robotica, come afferrare oggetti e spostarsi in ambienti complessi. 

  • Compiti di gioco 

l'Apprendimento per Rinforzo dal Feedback Umano (RLHF) è una tecnica potente che può essere utilizzata per addestrare gli agenti di intelligenza artificiale a svolgere un'ampia gamma di compiti e probabilmente svolgerà un ruolo sempre più importante nello sviluppo di sistemi di intelligenza artificiale in futuro. 

Vediamo due esempi di come l'RLHF può essere utilizzato per compiti molto semplici. 

Come addestrare un chatbot con RLHF 

Viene addestrato un modello di ricompensa per prevedere quanto un umano premierebbe il chatbot per una determinata risposta. Il modello di ricompensa viene addestrato su un set di dati di feedback umano, in cui gli umani valutano la qualità delle risposte del chatbot. 

  1. Il chatbot viene inizializzato con una politica casuale. 

  2. Il chatbot interagisce con l'utente umano e riceve feedback sulle sue risposte.

  3. Il chatbot utilizza il modello di ricompensa per aggiornare la sua politica in base al feedback ricevuto.

  4. I passaggi 3 e 4 vengono ripetuti fino a quando il chatbot è in grado di generare risposte di alta qualità in modo coerente.

Come addestrare un chatbot per generare formati di testo creativi 

Viene raccolto un ampio set di dati di formati di testo creativi. Può trattarsi di libri, romanzi, documenti specifici per la professione legale o documentazione tecnica. 

  • Addestra un modello di ricompensa su questo set di dati per predire quanto sia buono o cattivo un formato di testo creativo specifico. 

  • Inizializza il chatbot con una politica casuale per generare formati di testo creativi. 

  • Il chatbot interagisce con il modello di ricompensa generando formati di testo creativi e ricevendo ricompense.

  • La politica del chatbot viene aggiornata utilizzando il reinforcement learning per massimizzare la ricompensa attesa. 

  • I passaggi 4 e 5 vengono ripetuti fino a quando il chatbot è in grado di generare formati di testo creativi che vengono costantemente valutati come di alta qualità dagli esseri umani. 

Scenari utente per RLHF 

Il Reinforcement Learning è uno strumento potente che può essere utilizzato per risolvere una vasta gamma di problemi reali. Anche se è ancora una tecnologia relativamente nuova, si sta sviluppando rapidamente e ha il potenziale per rivoluzionare molte industrie e il modo in cui addestriamo gli agenti di intelligenza artificiale.

  • Manifattura industriale: Il Reinforcement Learning viene utilizzato per addestrare robot a svolgere compiti complessi in ambienti industriali, come il lavoro nelle linee di assemblaggio e la gestione di macchinari. Ciò può contribuire a ridurre i costi della manodopera, migliorare la qualità del prodotto e ridurre i tempi di inattività. 

  • Veicoli autonomi: Il Reinforcement Learning viene utilizzato per addestrare veicoli autonomi a navigare su strada e prendere decisioni in tempo reale. Ciò può contribuire a migliorare la sicurezza ed l'efficienza. 

  • Commercio e finanza: Il Reinforcement Learning viene impiegato per addestrare algoritmi a prendere decisioni di trading. Ciò può contribuire a migliorare i rendimenti e ridurre il rischio. 

  • Elaborazione del linguaggio naturale (NLP): Il Reinforcement Learning viene utilizzato per addestrare modelli di NLP a svolgere compiti come rispondere a domande (come i chatbot menzionati in precedenza), riassumere e tradurre. Ciò può migliorare le prestazioni dei chatbot e di altre applicazioni di NLP. 

  • Salute: Il Reinforcement Learning viene utilizzato per sviluppare nuovi metodi per diagnosticare e trattare malattie. Ad esempio, viene utilizzato per addestrare robot a eseguire interventi chirurgici e sviluppare piani di trattamento personalizzati per i pazienti. 

Limitazioni del Reinforcement Learning con Feedback Umano 

Il RLHF è una tecnica potente per addestrare agenti di intelligenza artificiale, ma ha alcune limitazioni. Una di queste è che richiede un feedback umano per addestrare il modello di ricompensa. Raccogliere queste informazioni può essere costoso e richiedere molto tempo. Scalare il processo per addestrare modelli più grandi e sofisticati è molto intensivo in termini di tempo e risorse a causa della dipendenza dal feedback umano. 

Inoltre, il RLHF può essere difficile da implementare e regolare. Le tecniche per automatizzare o semi-automatizzare il processo di feedback possono aiutare ad affrontare questa sfida.