开始使用免费开始使用

PPO 微调

在已初始化训练器之后,您现在需要初始化循环来微调模型。

奖励训练器 ppo_trainer 已使用 trl Python 库中的 PPOTrainer 类完成初始化。

本练习是课程的一部分

来自人类反馈的强化学习(RLHF)

查看课程

练习说明

  • 在 PPO 循环中,使用输入 id 和训练器生成响应张量。
  • 在 PPO 循环中完成使用查询、响应和奖励数据来优化 PPO 模型的 step。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
编辑并运行代码