Dostrajanie z PPO
Po zainicjalizowaniu trenera musisz teraz skonfigurować pętlę do dostrajania modelu.
Trener nagród ppo_trainer został zainicjalizowany przy użyciu klasy PPOTrainer z biblioteki trl.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z informacją zwrotną od człowieka (RLHF)
Instrukcje do ćwiczenia
- Wygeneruj tensory odpowiedzi, korzystając z identyfikatorów wejściowych i trenera wewnątrz pętli PPO.
- Uzupełnij krok w pętli PPO, który wykorzystuje zapytania, odpowiedzi i dane o nagrodach do optymalizacji modelu PPO.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
for batch in tqdm(ppo_trainer.dataloader):
# Generate responses for the given queries using the trainer
response_tensors = ____(batch["input_ids"])
batch["response"] = [tokenizer.decode(r.squeeze()) for r in response_tensors]
texts = [q + r for q, r in zip(batch["query"], batch["response"])]
rewards = reward_model(texts)
# Training PPO step with the query, responses ids, and rewards
stats = ____(batch["input_ids"], response_tensors, rewards)
ppo_trainer.log_stats(stats, batch, rewards)