get_rewards_ppo¶
- torchtune.rlhf.get_rewards_ppo(scores: Tensor, logprobs: Tensor, ref_logprobs: Tensor, kl_coeff: float, valid_score_idxs: Optional[Tensor] = None) Tuple[Tensor, Tensor, Tensor] [源代码]¶
计算给定分数、对数概率和参考对数概率的 PPO 奖励。
- 参数:
scores (torch.Tensor) – 奖励模型分数,形状为
(b,)
。logprobs (torch.Tensor) – 策略对数概率,形状为
(b, response_len)
。ref_logprobs (torch.Tensor) – 参考基础模型对数概率,形状为
(b, response_len)
。kl_coeff (float) – KL 奖励贡献系数。
valid_score_idxs (Optional[torch.Tensor]) – 有效(非填充)标记预测的索引张量。当计算填充序列的奖励时,这很有用,因为分数和值估计是针对最后一个有效的预测标记定义的。形状:
(b,)
。默认为 None。
- 返回值:
- 一个包含形状为
(b, response_len)
的张量的元组 total_reward: 将每个标记的 kl 奖励和奖励模型分数相结合的总奖励。
kl: 策略和参考策略对数概率之间的 KL 散度。
kl_reward: 由
kl_coeff
缩放的 KL 散度。
- 一个包含形状为
- 返回类型:
Tuple[torch.Tensor, torch.Tensor, torch.Tensor]
- 用于张量形状的符号
b: 批次大小
response_len: 模型响应长度