PPO ile ince ayar
Eğiticiyi başlattıktan sonra, şimdi modeli ince ayar yapmak için döngüyü başlatman gerekiyor.
Ödül eğiticisi ppo_trainer, trl Python kütüphanesindeki PPOTrainer sınıfı kullanılarak başlatıldı.
Bu egzersiz, kursun bir parçasıdır
İnsan Geri Bildiriminden Pekiştirmeli Öğrenme (RLHF)
Egzersiz talimatları
- PPO döngüsü içinde, girdi kimliklerini (input ids) ve eğiticiyi kullanarak yanıt tensörleri üret.
- Sorgular, yanıt ve ödül verilerini kullanarak PPO modelini optimize eden PPO döngüsündeki adımı tamamla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)