Reward Modeling
La modellazione della ricompensa addestra una rete a valutare gli output dell'IA come farebbero le persone, a partire da confronti tra preferenze. Include la loss Bradley-Terry, i tipi e i rischi.
Il reward modeling consiste nell'addestrare una rete neurale, chiamata modello di ricompensa, a valutare gli output di un sistema di IA come farebbero le persone. Nel reinforcement learning standard, l'ambiente fornisce una ricompensa, ad esempio il punteggio di un gioco. Molti obiettivi non hanno un punteggio simile: è facile giudicare una risposta utile, un'immagine ben composta o un robot che porge delicatamente una tazza, ma è difficile definirli nel codice. Un modello di ricompensa apprende questo giudizio dal feedback umano, di solito tramite confronti tra due output, e valuta automaticamente i nuovi output, molto più rapidamente e con maggiore coerenza di quanto potrebbero fare le persone. I modelli di ricompensa sono il componente che rende possibile il reinforcement learning dal feedback umano (RLHF); vengono anche usati per riordinare le risposte candidate, filtrare i dati di addestramento e valutare i modelli.
Come si addestra un modello di ricompensa#
I dati di addestramento consistono in confronti. Le persone ricevono un prompt con due o più risposte generate da un modello e scelgono la migliore; nel lavoro di OpenAI su InstructGPT, gli annotatori hanno classificato da 4 a 9 risposte per prompt e ogni coppia ricavata da una classifica è diventata un confronto di addestramento. Si usano classifiche invece di punteggi assoluti perché le persone concordano molto di più su quale di due risposte sia migliore che sul fatto che una risposta meriti 6 o 7 su 10.
Il modello di ricompensa è in genere un modello linguistico di grandi dimensioni (LLM) preaddestrato, spesso il modello da allineare, il cui strato di output viene sostituito con una testa lineare che mappa l'embedding finale in un numero. L'addestramento usa il modello di Bradley-Terry per i confronti a coppie, secondo cui la probabilità che le persone preferiscano la risposta A alla risposta B è la sigmoide della differenza tra le rispettive ricompense. La funzione di perdita è il logaritmo negativo di tale probabilità per la risposta effettivamente scelta dalle persone. Questo esempio in PyTorch addestra una testa lineare di ricompensa su 2.000 confronti simulati:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
# 2,000 preference pairs: embeddings of two responses to the same prompt
# Simulated raters prefer the response with higher hidden quality, with some noise
hidden_quality = torch.randn(64)
a, b = torch.randn(2000, 64), torch.randn(2000, 64)
a_wins = (a @ hidden_quality + torch.randn(2000) * 2 > b @ hidden_quality).unsqueeze(1)
chosen, rejected = torch.where(a_wins, a, b), torch.where(a_wins, b, a)
# Reward model: a linear head mapping a response embedding to one scalar score
reward_model = torch.nn.Linear(64, 1)
optimizer = torch.optim.Adam(reward_model.parameters(), lr=0.01)
train, test = slice(0, 1500), slice(1500, 2000)
for step in range(300):
# Bradley-Terry loss: maximize the probability that the chosen response scores higher
margin = reward_model(chosen[train]) - reward_model(rejected[train])
loss = -F.logsigmoid(margin).mean()
optimizer.zero_grad()
loss.backward()
optimizer.step()
accuracy = (reward_model(chosen[test]) > reward_model(rejected[test])).float().mean()
print(f"Held-out pairs ranked like the raters: {accuracy:.1%}")Stampa 94.8%. I valutatori simulati, con risposte rumorose, contraddicono la classifica della qualità priva di rumore in circa il 5% di quelle coppie riservate alla valutazione; il modello di ricompensa ha quindi appreso le preferenze al meglio di quanto consentano le etichette, pur non avendo mai visto un singolo punteggio assoluto. Anche i modelli di ricompensa reali vengono confrontati usando l'accuratezza sulle comparazioni riservate alla valutazione, ad esempio sul benchmark RewardBench. Poiché nella funzione di perdita entrano solo le differenze tra le ricompense, la scala dei punteggi è arbitraria e le pipeline spesso la normalizzano prima dell'RL.
Tipi di modelli di ricompensa#
- Modelli di ricompensa dell'esito: Valutano una risposta o un episodio completo; sono la scelta standard nell'RLHF.
- Modelli di ricompensa del processo: Valutano ogni passaggio intermedio di una soluzione. Il dataset PRM800K di OpenAI contiene 800.000 etichette umane a livello di passaggio per soluzioni matematiche.
- Modelli di ricompensa generativi: Un LLM che funge da valutatore scrive una critica o un verdetto, consentendo a un singolo modello di valutare molti tipi di attività e di motivare i punteggi.
- Modelli di ricompensa impliciti: L'ottimizzazione diretta delle preferenze (DPO) addestra direttamente la policy sulle coppie di preferenze e il rapporto tra le probabilità logaritmiche della policy e quelle del modello di riferimento funge da ricompensa.
- Modelli di ricompensa per immagini: ImageReward è stato addestrato su 137.000 confronti di immagini generate, valutati da esperti, e viene usato per ottimizzare i modelli text-to-image, così da ottenere risultati accattivanti e fedeli ai prompt.
L'apprendimento robotico applica la stessa idea ai modelli di visione. Un classificatore di immagini addestrato su fotogrammi di una videocamera, etichettati dalle persone come tentativi riusciti o falliti — per esempio, una tazza appoggiata in posizione verticale o rovesciata — produce una probabilità di successo che funge da ricompensa per una policy di apprendimento. Un modello Ultralytics YOLO26 addestrato su questi fotogrammi con l'attività di classificazione svolge questa funzione, valutando ogni fotogramma di un tentativo in pochi millisecondi.
Mantenere accurato il modello di ricompensa#
Un modello di ricompensa è accurato solo sugli output simili ai dati di addestramento. Man mano che la policy migliora, genera risposte mai viste dal modello di ricompensa; per questo il team Llama 2 di Meta ha raccolto nuovi confronti sugli output del modello più recente e ha riaddestrato il modello di ricompensa prima di ogni nuovo ciclo di RL:
Ottimizzare troppo in base a una ricompensa appresa porta al reward hacking. Nello studio di OpenAI sulla sovraottimizzazione del modello di ricompensa, un grande modello di ricompensa «gold» ha sostituito i valutatori umani. Lo studio ha rilevato che, ottimizzando una policy rispetto a un modello proxy di ricompensa più piccolo, il punteggio del modello gold prima aumentava e poi diminuiva, mentre quello del modello proxy continuava a salire; l'effetto si attenuava gradualmente man mano che cresceva il modello proxy. I modelli di ricompensa assorbono anche i bias dei valutatori, come la preferenza per risposte più lunghe o compiacenti, che l'RL amplifica trasformandoli in verbosità e adulazione. Una penalità KL verso il modello originale, insiemi di modelli di ricompensa e il riaddestramento regolare su nuovi confronti limitano i danni.
Reward modeling a confronto con termini correlati#
- RLHF: L'intera pipeline di fine-tuning supervisionato, reward modeling basato su confronti umani e ottimizzazione tramite RL. Il reward modeling ne è la seconda fase.
- Funzione di ricompensa: Una ricompensa definita a mano, ad esempio +1 per il raggiungimento di un obiettivo. Un modello di ricompensa apprende dai dati perché nessuno è in grado di scrivere la funzione.
- Ricompense verificabili: Un programma confronta la risposta con una soluzione nota, ad esempio un test unitario o un risultato matematico di riferimento. È più difficile da ingannare rispetto a un modello appreso, ma funziona solo quando le risposte possono essere verificate.
- Apprendimento inverso per rinforzo: Deduce una funzione di ricompensa dalle dimostrazioni di esperti che svolgono l'attività, mentre il reward modeling per l'RLHF apprende dai confronti tra gli output del sistema stesso espressi dalle persone.










