aclnnSparseFlashAttentionGrad
产品支持情况
功能说明
接口功能:根据topkIndices对key和value选取大小为selectedBlockSize的数据重排,接着进行训练场景下计算注意力的反向输出。
计算公式:根据传入的topkIndice对keyIn和value选取数量为selectedBlockCount个大小为selectedBlockSize的数据重排,公式如下:
阶段1:根据矩阵乘法导数规则,计算和:
[object Object] [object Object]阶段2:计算:
[object Object] [object Object]阶段3:计算与:
[object Object]函数原型
每个算子分为,必须先调用“aclnnSparseFlashAttentionGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnSparseFlashAttentionGrad”接口执行计算。
[object Object]
[object Object]
aclnnSparseFlashAttentionGradGetWorkspaceSize
aclnnSparseFlashAttentionGrad
约束说明
确定性计算:
- aclnnSparseFlashAttentionGrad默认非确定性实现,不支持通过aclrtCtxSetSysParamOpt开启确定性。
公共约束
- 入参为空的场景处理:
- query为空Tensor:直接返回。
- 入参为空的场景处理:
Mask
[object Object]规格约束
[object Object]
调用示例
调用示例代码如下(以[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]为例),仅供参考,具体编译和执行过程请参考。
[object Object]