reward model training
Træning af en belønningsmodel, der forudsiger menneskelige præferencer og bruges til at styre forstærkningslæring i RLHF.
Kort fortalt
En proces hvor en model lærer at vurdere, hvilke outputs mennesker foretrækker, så en sprogmodel kan trænes til at producere mere nyttige svar.
- Kategori
- træning
- Niveau
- øvet
- Udtale
- /rɪˈwɔːrd ˈmɒdəl ˈtreɪnɪŋ/
Betydninger
1- 1
Den proces, hvor en belønningsmodel trænes på et datasæt af menneskelige præferencer (typisk sammenligninger mellem to modeloutputs) til at forudsige, hvilket output en menneskelig evaluator ville foretrække.
- Under reward model training blev der brugt 100.000 menneskelige sammenligninger til at træne en belønningsmodel med en binær krydsentropi-funktion. — InstructGPT paper, 2022
- Reward model training kræver omhyggelig dataindsamling for at undgå bias i præferencerne.
Hvornår bruges det
Reward model training anvendes i RLHF-pipelinen efter at have indsamlet menneskelige sammenligninger. Modellen trænes til at tildele højere belønning til foretrukne outputs, og den færdige reward-model bruges derefter som belønningssignal til at finjustere sprogmodellen med PPO.
Kodeeksempel
# Simplified training loop for a reward model
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=1)
tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
optimizer = torch.optim.Adam(model.parameters(), lr=1e-5)
for batch in dataloader:
# batch contains 'chosen' and 'rejected' texts
chosen_inputs = tokenizer(batch['chosen'], return_tensors='pt', padding=True, truncation=True)
rejected_inputs = tokenizer(batch['rejected'], return_tensors='pt', padding=True, truncation=True)
chosen_scores = model(**chosen_inputs).logits
rejected_scores = model(**rejected_inputs).logits
# Bradley-Terry loss: maximize difference
loss = -torch.mean(torch.log(torch.sigmoid(chosen_scores - rejected_scores)))
loss.backward()
optimizer.step()Eksempel på en simpel træningsløkke for en belønningsmodel med Bradley-Terry-tab. Modellen tildeler en score til valgte og afviste tekster og maksimerer log-odds for præference.
Oprindelse
Begrebet opstod i forbindelse med udviklingen af RLHF (Reinforcement Learning from Human Feedback), især beskrevet i OpenAI's InstructGPT-paper (2022).