注意力机制中的Mask矩阵

Casual Mask 可以认为是一个粗粒度的位置编码

《attention is all you need》中关于

注意力机制的计算是会使用一个

maks 来保证当前的token只收到之前token的注意力影响,不会收到后面token对齐的注意力影响

mask的矩阵形式,我们这里假设一个序列中有10个token

在这个mask矩阵中,横纵坐标均表示token的索引,-inf表示的是对注意力的掩盖,因为在softmax函数中,指数运算会强制让注意力权重为0

相应的torch代码为

python 复制代码
mask = torch.full((seqlen, seqlen), float("-inf"), device=tokens.device).triu_(1)

从位置编码的角度来说,也可以mask矩阵具备一定的"粗粒度"的位置编码信息,表示了前后因果关系,也就是每一个token仅仅会收到前面token的影响,不会收到序列后面token的影响。但是这种"粗粒度"位置编码并不是token粒度的位置信息,并不具备在表征token之间的距离关系上。

相关推荐
weixin_423196172 个月前
计算机中总能通过引入额外一层间接性来解决任何问题&如无必要勿增实体
性能调优·模型结构·知识表示
图灵追慕者2 年前
AI大模型学习:优化模型结构与算法,驱动智能时代发展
模型结构·大模型学习·只能时代
BQW_2 年前
【自然语言处理】【大模型】RWKV:基于RNN的LLM
rnn·自然语言处理·llm·rwkv·模型结构