将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计算的结果矩阵。 |