Fine-tuning s PPO
Po inicializaci trenéra teď musíš nastavit smyčku pro fine-tuning modelu.
Trenér odměn ppo_trainer byl inicializován pomocí třídy PPOTrainer z Python knihovny trl.
Toto cvičení je součástí kurzu
Reinforcement Learning from Human Feedback (RLHF)
Pokyny k cvičení
- Vygeneruj tenzory odpovědí pomocí vstupních ID a trenéra uvnitř PPO smyčky.
- Dokonči krok v PPO smyčce, který využívá dotazy, odpovědi a data odměn k optimalizaci PPO modelu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)