GenAttentionMaskOperation

功能

将attentionMask根据每个batch的实际seqlen进行转化,得到结果为一维tensor。

约束

seqLen数组长度不超过32,且要求各元素大于0。

定义

struct GenAttentionMaskParam {
    int32_t          headNum = 1;
    SVector<int32_t> seqLen;
    bool operator == (const RopeParam &other) const
   {
       return this->rotaryCoeff == other.rotaryCoeff && this->cosFormat == other.cosFormat;
   }
};

成员

成员名称

描述

headNum

多头注意力机制的head数。

seqLen

存储unpad场景下每个batch实际seqlen的值。元素个数为batchSize。

输入

参数

维度

数据类型

格式

描述

x

[batchSize, 1, maxSeqLen, maxseqlen]

float16

ND

用于attentionmask计算的随机矩阵。

输出

参数

维度

数据类型

格式

描述

output

[nSquareTokens]

float16

ND

attentionmask计算的结果矩阵。