IniziaInizia gratis

Fine-tuning con PPO

Dopo aver inizializzato il trainer, ora devi impostare il loop per effettuare il fine-tuning del modello.

Il reward trainer ppo_trainer è stato inizializzato usando la classe PPOTrainer dalla libreria Python trl.

Questo esercizio fa parte del corso

Reinforcement Learning from Human Feedback (RLHF)

Visualizza il corso

Istruzioni dell'esercizio

  • Genera tensori di risposta usando gli input ids e il trainer all'interno del loop PPO.
  • Completa lo step nel loop PPO che usa query, risposte e dati di ricompensa per ottimizzare il modello PPO.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice