文章预览
今天给大家来带好友知乎@ybq关于OpenRLHF的学习笔记,主要介绍其中的各种loss内容。 作者:ybq 知乎:https://zhuanlan.zhihu.com/p/6290579087 从这篇文章开始,我会不定期分享利用 OpenRLHF 学习 RLHF 的一些心得。我平常读代码喜欢开门见山,直接去看 loss 函数是什么形式,再去理解代码的其他环节,所以就从 loss 开始分享吧。 代码详见:https://github.com/OpenRLHF/OpenRLHF/blob/main/openrlhf/models/loss.py 基础 在研究 loss 函数前,建议把下面几个公式和图先焊死在脑子中。 Loss Loss 的 grad SFT 家族 GPTLMLoss class GPTLMLoss(nn.Module): "" " GPT Language Model Loss " "" def __init__(self): super().__init__() self.IGNORE_INDEX = -100 self.loss = nn.CrossEntropyLoss(ignore_index=self.IGNORE_INDEX) def forward(self, logits: torch.Tensor, labels: torch.Tensor) -> torc
………………………………