Penyetelan halus dengan PPO
Setelah menginisialisasi trainer, sekarang Anda perlu menyiapkan loop untuk menyetel halus model.
Reward trainer ppo_trainer telah diinisialisasi menggunakan kelas PPOTrainer dari pustaka Python trl.
Latihan ini merupakan bagian dari kursus
Reinforcement Learning from Human Feedback (RLHF)
Instruksi latihan
- Hasilkan tensor respons menggunakan input ids, dan trainer di dalam loop PPO.
- Lengkapi langkah di dalam loop PPO yang menggunakan kueri, respons, dan data reward untuk mengoptimalkan model PPO.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)