Zacznij terazZacznij za darmo

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)

Zobacz kurs

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)
Edytuj i uruchom kod