शुरू करेंमुफ़्त में शुरू करें

PPO फाइन-ट्यूनिंग

ट्रेनर को इनिशियलाइज़ करने के बाद, अब आपको मॉडल को फाइन-ट्यून करने के लिए लूप इनिशियलाइज़ करना है.

रिवार्ड ट्रेनर ppo_trainer को trl Python लाइब्रेरी की PPOTrainer क्लास का उपयोग करके इनिशियलाइज़ किया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

मानवीय फीडबैक से रिइनफोर्समेंट लर्निंग (RLHF)

पाठ्यक्रम देखें

अभ्यास निर्देश

  • इनपुट ids और ट्रेनर का उपयोग करते हुए PPO लूप के भीतर प्रतिक्रिया टेन्सर जनरेट करें.
  • PPO लूप के भीतर उस step को पूरा करें जो क्वेरी, प्रतिक्रिया, और रिवार्ड डेटा का उपयोग करके 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)
कोड संपादित करें और चलाएँ