为什么 vf_loss 取最大值,导致 clamp 失效?

作者: Morizhaoyang创建于 2025年2月7日更新于 2025年5月17日

critic_loss: def critic_loss_fn(self, values, old_values, returns, mask): ## value loss values_clipped = torch.clamp(values, old_values - self.cliprange_value, old_values + self.cliprange_value) vf_loss1 = (values - returns) ** 2 vf_loss2 = (values_clipped - returns) ** 2 vf_loss = 0.5 * torch.sum(torch.max(vf_loss1, vf_loss2) * mask) / mask.sum() 为什么 vf_loss 取最大值?如果是这样,那么 clamp 就没有意义了吗?

内容来源: deepspeedai/DeepSpeedExamples