ComenzarEmpieza gratis

Ajuste fino con PPO

Después de inicializar el entrenador, ahora tienes que preparar el bucle para ajustar el modelo.

El entrenador de recompensas ppo_trainer se ha inicializado usando la clase PPOTrainer de la librería de Python trl.

Este ejercicio forma parte del curso

Reinforcement Learning from Human Feedback (RLHF)

Ver curso

Instrucciones del ejercicio

  • Genera tensores de respuesta usando los input ids y el entrenador dentro del bucle de PPO.
  • Completa el paso dentro del bucle de PPO que usa consultas, respuestas y datos de recompensa para optimizar el modelo PPO.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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)
Editar y ejecutar código