如何理解计算奖励的代码
作者: lyzKF创建于 2023年8月22日更新于 2025年8月28日
def compute_rewards(self, prompts, log_probs, ref_log_probs, reward_score, action_mask): kl_divergence_estimate = -self.kl_ctl * (log_probs - ref_log_probs) rewards = kl_divergence_estimate start = prompts.shape[1] - 1 ends = start + action_mask[:, start:].sum(1) + 1 reward_clip = torch.clamp(reward_score, -self.clip_reward_value, self.clip_reward_value) batch_size = log_probs.shape[0] for j in range(batch_size): rewards[j, start:ends[j]][-1] += reward_clip[j] return rewards
内容来源: deepspeedai/DeepSpeedExamples