Closed xiaoyuan1996 closed 1 year ago
1.
query_input_ids = _single_tokenize(prompt_input, self.tokenizer)
res_input_ids = _single_tokenize(r + self.tokenizer.eos_token, self.tokenizer, max_len=self.tokenizer.model_max_length-query_input_ids.shape[0]) # eos here
我们的代码query忘记截取到max_len了,没有造成我们的oom,当时就没有管
2. 你可能设置了gradient_accumulation_steps
3. 如果i和j满足rw_diff > 0;那么j和i一定满足rw_diff<0;没必要重复计算
感谢🙏
感谢您的工作,我们在复现时有一些细节的问题想咨询下:
model_max_length被设置为192, 但我在看logits输出的时候,总能看到L为192以上的值。我猜想截断长度是否在其他位置设置为了512?比如:logit_label.shape: torch.Size([6, 308])
数据集alpaca_responses_hh.json,load后长度为76256,按照单卡bs1来跑,trainer中的tqdm不应该为76256么,但是实际是28596,我不太理解这个值是怎么来的
在rrhf_loss中,操作 aval = torch.bitwise_and(rw_diff > 0, diff < 0)[0] 我的理解是把不匹配的给筛出来,但是为什么没有rw_diff < 0, diff > 0这种情况呢?如果加上这种情况把按位与修改为异或就可以了吧?
谢谢!