runzhech opened this issue a month ago · 1 comments
PaddleNLP/paddlenlp/transformers /llama/modeling.py这个文件中提供了生成causal_mask以及判断mask是否为causal的方法。 causal_mask应当是一个下三角矩阵,但是这里判断mask是否为causal的方法为什么是取mask的上三角矩阵进行比较呢?
这里为了适配zero-padding策略,上三角的值为负无穷,并且不在zero-padding(会改变下三角矩阵的值)的范围之内,通过上三角判断比较方便。