l294265421 / alpaca-rlhf

Finetuning LLaMA with RLHF (Reinforcement Learning with Human Feedback) based on DeepSpeed Chat
https://88aeeb3aef5040507e.gradio.live/
MIT License
106 stars 13 forks source link

step2和step3中padding side似乎不一样? #13

Open qiancheng99 opened 1 year ago

qiancheng99 commented 1 year ago

我看data_utils.py中step2是padding在右侧的,然而step3特意改成padding在左侧。这里面有什么讲究吗?两者不一致会不会导致reward计算出问题?

l294265421 commented 1 year ago
  1. step3的padding在左侧的原因是,采样的时候,需要批量推断,使预估的next token之前的token不是padding,这也更加合理
  2. reward的计算没有问题。预估的reward计算只用到了[prompt,response]中response最后一个token的预估值。训练的时候是这样的: [prompt,response,padding],预估的时候是这样的:[padding,prompt,response],这应该比例预估的时候改成[prompt,padding,response]合理些。