SkyworkAI / Skywork

Skywork series models are pre-trained on 3.2TB of high-quality multilingual (mainly Chinese and English) and code data. We have open-sourced the model, training data, evaluation data, evaluation methods, etc. 天工系列模型在3.2TB高质量多语言和代码数据上进行预训练。我们开源了模型参数,训练数据,评估数据,评估方法。
Other
1.21k stars 111 forks source link

BUG:评测loss计算中attention_mask有误 #55

Closed zhangbin1997 closed 9 months ago

zhangbin1997 commented 9 months ago

你好,我看到你们的 eval_loss.py 中计算loss的时候,attention_mask 取的是 attention_mask[:, :-1],同时是采用的 right padding。这样的做法在batch情况下,即有padding的时候,会导致非最大长度的那些句子会额外在最后计算一个生成padding_token的loss,并且该loss的数量级通常大于正文的数量级,会造成结果有误。在right padding的前提下,改成 attention_mask[:, 1:] 即可解决该问题。

zhao1iang commented 9 months ago

您好,感谢您的反馈,这个是上次修复issue不小心引入的bug,目前已解决,最近比较忙回复较晚请见谅。