PPOSFTDataset bug report和相关问题咨询
Opened this issue · 1 comments
DZ9 commented
ppo_datahelper.py此处代码和对应函数不适配。
另外想正好咨询一下:
- 此处应该padding left or right?
- llama2默认是padding right,但我看到reward model里的batch数据都是padding left,ppo这里都有很多地方也是padding到left的,具体的padding对齐策略是怎样的呢?
- 我发现loss_mask最终会把对应的tokenid改为0,ppo_trainer.py ,然后和模型输出做cross entropy,这里被mask掉的数据,好像依旧会按照label是0而进行梯度回传,能否咨询下这里的具体原理呢?
Ablustrund commented
- pad-left = false是从右侧padding
- reward model padding left是为了防止最后打分的token为pad,影响效果。
- lossmask吧tokenid改为pad,所以最终是不会计算loss的。