Deep RL from Human Preferences (2017): insegnare coi confronti

Nessuno sa scrivere la formula matematica di "fai un salto mortale". Nel 2017 sei ricercatori mostrano che non serve: basta chiedere a un umano quale di due tentativi gli piace di più. È il seme di quasi tutto l'allineamento dei modelli di oggi.

Un modello di robot simulato, due gambe e un torso, spicca da terra, ruota all’indietro e atterra in piedi. Nessuno ha scritto una formula che dica «fai un salto mortale»: tradurre quel gesto in una funzione matematica pulita è un problema che nessun ingegnere sa risolvere davvero. Eppure l’agente ha imparato a farlo, e gli è bastata meno di un’ora di attenzione da parte di una persona. Il modo in cui ci riesce è il contenuto di Deep Reinforcement Learning from Human Preferences, articolo del 2017 che, col senno di poi, ha posato la prima pietra di quasi tutto ciò che oggi chiamiamo allineamento dei modelli linguistici.

Instruction tuning, LoRA, RLHF e DPO: tutto quello che succede dopo il pre-addestramento è nel libro.

Leggi «Dopo il pre-addestramento: istruzioni, preferenze, allineamento» nel libro →

Il problema di scrivere la ricompensa

Il reinforcement learning funziona così: un agente compie azioni, un numero — la ricompensa — gli dice quanto ha fatto bene, e l’agente impara a massimizzare quel numero nel tempo. Quando la ricompensa è ovvia, tutto fila. In un videogioco con un punteggio a schermo, il punteggio è la ricompensa e basta leggerlo.

I guai iniziano quando l’obiettivo che abbiamo in testa non si lascia scrivere. Come si mette in formula «guida in modo prudente», «riordina la stanza», «sii utile»? E anche quando una formula sembra esistere, spesso è la formula sbagliata. In un esempio diventato famoso, un agente addestrato su un gioco di gare di barche scopre che può accumulare punti girando in tondo dentro una laguna a raccogliere bonus, invece di tagliare il traguardo: massimizza diligentemente la ricompensa che gli abbiamo dato, ignorando quella che intendevamo. È il fenomeno del reward hacking, e non è un bug marginale: è la conseguenza inevitabile di aver descritto male ciò che volevamo.

Confrontare invece di misurare

L’intuizione dell’articolo è disarmante nella sua semplicità. Le persone sono pessime nel dare voti assoluti — quanti punti vale questo salto, da 0 a 100? — ma sono ottime nel confrontare. Mostrate a qualcuno due brevi spezzoni video, uno o due secondi ciascuno, del comportamento dell’agente e chiedete soltanto: quale dei due assomiglia di più a quello che vuoi? È una scelta binaria, immediata, che non richiede competenze tecniche.

Vale la stessa differenza che c’è tra chiedere a un enologo «che voto dai a questo vino in centesimi» e mettergli davanti due bicchieri chiedendo quale preferisce. La seconda domanda è più facile, più affidabile e, ripetuta molte volte, disegna comunque una classifica precisa. L’articolo costruisce l’intera pipeline attorno a questa asimmetria.

Non chiediamo alla persona di definire l’obiettivo. Le chiediamo solo di riconoscerlo quando lo vede, un confronto alla volta.

Come nasce una ricompensa dai confronti

Il sistema fa girare in parallelo tre processi che si alimentano a vicenda. Il primo è un normale agente di reinforcement learning che ottimizza le proprie azioni, ma non contro una ricompensa scritta a mano: contro una ricompensa predetta. Il secondo raccoglie i giudizi umani, presentando di continuo coppie di segmenti di traiettoria a una persona che indica il preferito. Il terzo è il cuore del metodo: un modello di ricompensa — una rete neurale — che viene addestrato a produrre numeri coerenti con quelle preferenze, assumendo che la probabilità che un umano preferisca un segmento cresca con la ricompensa totale che il modello gli attribuisce.

Il ciclo si chiude su se stesso: l’agente si allena sulla ricompensa predetta, genera nuovi comportamenti, questi diventano nuove coppie da mostrare all’umano, i nuovi giudizi affinano il modello di ricompensa, e così via. La cosa notevole è quanto poco giudizio umano serva: nell’articolo il feedback copre meno dell’uno per cento delle interazioni dell’agente con l’ambiente. Il modello di ricompensa generalizza, riempiendo da solo tutti i casi che nessuno ha mai valutato.

Agente RL massimizza r̂ Due segmenti a confronto σ¹ σ² Umano: quale preferisci? scelta binaria ✓ Modello di ricompensa apprende r̂ dai confronti genera coppie di traiettorie mostrati all’umano preferenza: σ¹ ≻ σ² ricompensa r̂

Il ciclo del metodo: l’agente (teal) produce coppie di brevi segmenti, l’umano (terracotta) indica solo quale preferisce, il modello di ricompensa (ocra) impara da queste preferenze un punteggio r̂ che riaddestra l’agente. Nessuno scrive mai la funzione di ricompensa a mano.

Cosa ha funzionato, e cosa no

Le prove si svolgono in due domini: i giochi Atari dell’Arcade Learning Environment e i compiti di locomozione simulata del motore fisico MuJoCo. Il risultato di riferimento è netto: con circa 700 confronti il metodo eguaglia quasi il reinforcement learning classico allenato sulla vera funzione di ricompensa, su gran parte dei compiti — pur non avendo mai visto quella funzione. Per i comportamenti nuovi, quelli senza ricompensa scrivibile come il salto all’indietro o il guidare seguendo il flusso del traffico, è sufficiente circa un’ora di feedback umano. E su molti dei compiti originali basta un intervento di un non esperto compreso tra quindici minuti e cinque ore.

L’articolo è però onesto sui limiti, ed è questa la parte che invecchia meglio. Non tutti i giochi vengono padroneggiati; su alcuni il feedback umano fa peggio di quello sintetico generato da un oracolo, perché le persone sbagliano e sono incoerenti. Soprattutto, gli autori osservano il rischio strutturale del metodo: l’agente ottimizza il modello di ricompensa, non l’intenzione umana. Se il modello ha una falla, l’agente la troverà e la sfrutterà. È lo stesso reward hacking di prima, spostato di un livello — dalla ricompensa scritta a mano a quella appresa.

Perché questo articolo ti riguarda

Perché la ricetta che hai appena letto è, quasi parola per parola, quella che addestra gli assistenti conversazionali che usi ogni giorno. Prendi il metodo — raccogli confronti umani, addestra un modello di ricompensa, ottimizza una policy contro di esso — e sostituisci «segmenti di traiettoria di un robot» con «risposte alternative a un prompt». Ottieni il reinforcement learning from human feedback: il passaggio che nel 2020 rende migliori i riassunti automatici, che nel 2022 trasforma un modello linguistico grezzo in un assistente che segue istruzioni, e che sta dietro alla differenza tra un modello che completa testo e uno che ti risponde in modo utile.

Vale la pena portarsi dietro le due facce della stessa medaglia. La faccia luminosa: si può comunicare a una macchina un obiettivo complesso senza saperlo formalizzare, semplicemente riconoscendolo quando lo si vede. La faccia scura: la macchina ottimizza sempre il bersaglio che le diamo, non quello che intendiamo, e più diventa capace più è brava a sfruttare la differenza tra i due. Ogni volta che un assistente ti dà una risposta compiacente ma vuota, stai vedendo quel divario al lavoro. Nel 2017 questo articolo lo aveva già scritto nero su bianco.

Il paper originale

Paul Christiano, Jan Leike, Tom B. Brown, Miljan Martic, Shane Legg, Dario Amodei, Deep Reinforcement Learning from Human Preferences, 2017 — collaborazione tra OpenAI e DeepMind, presentato a NeurIPS 2017. Preprint su arXiv: arxiv.org/abs/1706.03741. I numeri e i comportamenti citati qui (feedback su meno dell’1% delle interazioni, circa 700 confronti, comportamenti nuovi con circa un’ora di giudizio umano) provengono dall’articolo stesso.

I commenti sono riservati agli iscritti.

Accedi per commentare