ÎncepețiÎncepe gratuit

Fine-tuning cu PPO

După ce ai inițializat trainerul, trebuie să inițializezi bucla pentru fine-tuning-ul modelului.

Trainerul de recompensă ppo_trainer a fost inițializat folosind clasa PPOTrainer din biblioteca Python trl.

Acest exercițiu face parte din cursul

Reinforcement Learning from Human Feedback (RLHF)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Generează tensori de răspuns folosind ID-urile de intrare și trainerul, în cadrul buclei PPO.
  • Completează pasul din bucla PPO care folosește interogările, răspunsurile și datele de recompensă pentru a optimiza modelul PPO.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul