Тонке налаштування PPO
Після ініціалізації тренера вам тепер потрібно запустити цикл для тонкого налаштування моделі.
Тренер винагород ppo_trainer був ініціалізований за допомогою класу PPOTrainer із бібліотеки Python trl.
Ця вправа є частиною курсу
Reinforcement Learning from Human Feedback (RLHF)
Інструкції до вправи
- Згенеруйте тензори відповідей, використовуючи input ids і тренер у межах циклу PPO.
- Завершіть крок у циклі PPO, який використовує запити, відповіді та дані винагород для оптимізації моделі PPO.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)