aclnnNormRopeConcatBackward
产品支持情况
功能说明
算子功能:(多模态)transfomer注意力机制中,针对query、key和Value实现归一化(Norm)、旋转位置编码(Rope)、特征拼接(Concat)融合算子功能反向推导:
- 归一化(Norm)当前支持层归一化(LayerNorm)和带仿射变换参数层归一化(AFFINE LayerNorm)类型。
- 旋转位置编码(Rope)支持Interleave和Half类型。
计算公式:
- LayerNorm反向推导:
- LayerNorm(带仿射变换参数)反向推导:
- 其中(μ为均值,σ^2为方差):
- Rope-Interleave反向推导:
- Rope-Half反向推导:
- 其中则Interleave()表示headDim维度奇数与偶数位置交替重组,Half()表示headDim维度后半和前一半元素交替重组,例如x = [0,1,2,3,4,5,6,7], 则Interleave(x) = [1,0,3,2,5,4,7,6],Half(x)=[4,0,5,1,6,2,7,3];negMask为headDim长度,偶数位为1, 奇数位为-1,即(1, -1, 1, -1, 1, ...)
函数原型
每个算子分为,必须先调用“aclnnNormRopeConcatBackwardGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnNormRopeConcatBackward”接口执行计算。
[object Object]
[object Object]
aclnnNormRopeConcatBackwardGetWorkspaceSize
aclnnNormRopeConcatBackward
约束说明
- 确定性计算:
- aclnnNormRopeConcatBackward默认非确定性实现,支持通过aclrtCtxSetSysParamOpt开启确定性。