FastSoftMaxGradOperation
功能
将unpad处理后的Q矩阵和K矩阵相乘的结果做Softmax的反向计算处理。当前只支持Atlas 800I A2推理产品。
约束
qSeqLen数组长度不超过32,且要求各元素大于0。
定义
struct FastSoftMaxGradParam { int32_t headNum = 0; std::vector<int32_t> qSeqLen; };
成员
成员名称 |
描述 |
---|---|
headNum |
Attention的head数量。 |
qSeqLen |
每个batch的实际输入长度。元素个数为batchSize,最大不超过32。 |
输入
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
yInput |
[nSquareTokens] |
float16 |
ND |
SoftMax算子前向计算的结果。 |
yGrad |
[nSquareTokens] |
float16 |
ND |
下一个算子传入的梯度数据。排列方式与yInput相同。 |
输出
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
output |
[nSquareTokens] |
float16 |
ND |
结果向量。排列方式与yInput相同。 |