当前位置:   article > 正文

一步一步理解大模型:注意力填充掩码的作用_注意力掩码

注意力掩码

Transformer模型中,注意力填充掩码主要用于遮蔽Encoder输入序列中填充(PAD)的token,以防止Decoder在预测时使用这些token进行注意力计算。

具体来说,Attention Pad Mask是一个二进制张量,其中每个元素的值为True或False。在计算注意力分数时,被标记为True的位置将被设置为负无穷大,以便在Softmax操作中对它们进行归一化时被忽略。因此,在Attention Pad Mask的作用下,模型只会关注输入序列中实际的token,而忽略填充token。

例如,假设我们有一个batch size为2的输入序列,长度分别为5和7,其中填充token的值为0。我们可以将输入序列表示为以下形式:

seq_q = [[1, 2, 3, 0, 0], [4, 5, 6, 7, 0, 0, 0]]

seq_k = [[1, 0, 0, 0, 0, 0, 0], [4, 5, 6, 7, 0, 0, 0]]

seq_qseq_k分别代表查询序列和键序列。

根据seq_k中填充token的位置,我们可以使用get_attn_pad_mask函数生成Attention Pad Mask:

pad_attn_mask = [[False, True, True, True, True, True, True], [False, False, False, False, True, True, True]]

在计算注意力分数时,对于第一个序列中的第4和第5个位置,以及第二个序列中的最后三个位置,由于其对应的填充token为0,因此Attention Pad Mask中的值为True,会将其对应的分数设置为负无穷大。

最终,Attention Pad Mask的作用是确保模型在计算注意力分数时不会将填充token考虑在内,从而提高模型的预测效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/311483
推荐阅读
相关标签
  

闽ICP备14008679号