文件最后提交记录最后更新时间
fix: 修正文档中 transformer 拼写错误问题 Co-authored-by: baidu_41609401<1294651225@qq.com> # message auto-generated for no-merge-commit merge: !5950 merge master into master fix: 修正文档中 transformer 拼写错误问题 Created-by: baidu_41609401 Commit-by: baidu_41609401 Merged-by: cann-robot Description: ## 描述 更新文档中transformer的拼写错误 | 文档 | 行数 | 修改前 | 修改后 | |--|--|--|--| | posembedding/norm_rope_concat/docs/aclnnNormRopeConcat.md | 18 | transfomer | transformer | | posembedding/norm_rope_concat/README.md | 16 | transfomer | transformer | | posembedding/norm_rope_concat_grad/docs/aclnnNormRopeConcatBackward.md | 16 | transfomer | transformer | | posembedding/norm_rope_concat_grad/README.md | 16 | transfomer | transformer | | docs/zh/op_api_list.md | 157 | transfomer | transformer | | docs/zh/op_api_list.md | 158 | transfomer | transformer | | docs/zh/install/dir_structure.md | 14 | transfomer | transformer | ## 文档更新 更新的文档如下: posembedding/norm_rope_concat/docs/aclnnNormRopeConcat.md posembedding/norm_rope_concat/README.md posembedding/norm_rope_concat_grad/docs/aclnnNormRopeConcatBackward.md posembedding/norm_rope_concat_grad/README.md docs/zh/op_api_list.md docs/zh/install/dir_structure.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!59503 天前
更新license Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !568 merge lic into master 更新license Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 更新license <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5685 个月前
norm_rope_concat_grad连续性整改 Co-authored-by: 蒋家炜<jiangjiawei10@huawei.com> # message auto-generated for no-merge-commit merge: !3617 merge norm_rope_concat_grad into master norm_rope_concat_grad连续性整改 Created-by: jiangjiawei Commit-by: 蒋家炜 Merged-by: cann-robot Description: ## 描述 norm_rope_concat_grad连续性整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 ![image.png](https://raw.gitcode.com/user-images/assets/7673863/cc2c71c7-94f4-41f4-8647-9df88dbc8291/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [X] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!36171 个月前
修复norm_rope_concat_grad非对齐搬运下的内存问题 Co-authored-by: huyihang<huyihang6@h-partners.com> # message auto-generated for no-merge-commit merge: !4200 merge 415grad into master 修复norm_rope_concat_grad非对齐搬运下的内存问题 Created-by: huyihang1117 Commit-by: huyihang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复norm_rope_concat_grad非对齐搬运下的内存问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/1879 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> oom包atk测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!42001 个月前
[aicore]整改 Co-authored-by: wuxiyuan<wuxiyuan@huawei.com> # message auto-generated for no-merge-commit merge: !1841 merge master into master [aicore]整改 Created-by: wuxiyuan Commit-by: wuxiyuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 编译器内部已经定义了__aicore__,算子侧需要去掉这个标识 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!18412 个月前
更新license Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !568 merge lic into master 更新license Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 更新license <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5685 个月前
fix: 修正文档中 transformer 拼写错误问题 Co-authored-by: baidu_41609401<1294651225@qq.com> # message auto-generated for no-merge-commit merge: !5950 merge master into master fix: 修正文档中 transformer 拼写错误问题 Created-by: baidu_41609401 Commit-by: baidu_41609401 Merged-by: cann-robot Description: ## 描述 更新文档中transformer的拼写错误 | 文档 | 行数 | 修改前 | 修改后 | |--|--|--|--| | posembedding/norm_rope_concat/docs/aclnnNormRopeConcat.md | 18 | transfomer | transformer | | posembedding/norm_rope_concat/README.md | 16 | transfomer | transformer | | posembedding/norm_rope_concat_grad/docs/aclnnNormRopeConcatBackward.md | 16 | transfomer | transformer | | posembedding/norm_rope_concat_grad/README.md | 16 | transfomer | transformer | | docs/zh/op_api_list.md | 157 | transfomer | transformer | | docs/zh/op_api_list.md | 158 | transfomer | transformer | | docs/zh/install/dir_structure.md | 14 | transfomer | transformer | ## 文档更新 更新的文档如下: posembedding/norm_rope_concat/docs/aclnnNormRopeConcat.md posembedding/norm_rope_concat/README.md posembedding/norm_rope_concat_grad/docs/aclnnNormRopeConcatBackward.md posembedding/norm_rope_concat_grad/README.md docs/zh/op_api_list.md docs/zh/install/dir_structure.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!59503 天前
README.md

NormRopeConcatGrad

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:(多模态)transformer注意力机制中,针对query、key和Value实现归一化(Norm)、旋转位置编码(Rope)、特征拼接(Concat)融合算子功能反向推导。

  • 计算公式:

    • LayerNorm反向推导:

      ∂L∂x=rstd⋅(∂L∂y−Mean(∂L∂y)−x^⋅Mean(∂L∂y⊙x^))[Mean over headDim dimension] \frac{\partial L}{\partial x} = \text{rstd} \cdot \Bigg( \frac{\partial L}{\partial y} - \text{Mean}\left( \frac{\partial L}{\partial y} \right) - \hat{x} \cdot \text{Mean}\left( \frac{\partial L}{\partial y} \odot \hat{x} \right) \Bigg) \quad \quad \quad \quad \quad \quad \quad \text{[Mean over headDim dimension]}

    • LayerNorm(带仿射变换参数)反向推导:

      {∂L∂β=∑B,S,H∂L∂y,[Sum over batch, seq, headNum dimensions]∂L∂γ=∑B,S,H∂L∂y⊙x^,[Element-wise product accumulation]∂L∂x=rstd⋅(∂L∂x^−Mean(∂L∂x^)−x^⋅Mean(∂L∂x^⊙x^))[Mean over headDim dimension]} \left\{ \begin{aligned} \frac{\partial L}{\partial \beta} &= \sum_{B, S, H} \frac{\partial L}{\partial y}, &\quad \text{[Sum over batch, seq, headNum dimensions]} \\ \frac{\partial L}{\partial \gamma} &= \sum_{B, S, H} \frac{\partial L}{\partial y} \odot \hat{x}, &\quad \text{[Element-wise product accumulation]} \\ \frac{\partial L}{\partial x} &= \text{rstd} \cdot \Bigg( \frac{\partial L}{\partial \hat{x}} - \text{Mean}\left( \frac{\partial L}{\partial \hat{x}} \right) - \hat{x} \cdot \text{Mean}\left( \frac{\partial L}{\partial \hat{x}} \odot \hat{x} \right) \Bigg) &\quad \text{[Mean over headDim dimension]} \\ \end{aligned} \right\}

    • 其中(μ为均值,σ^2为方差):

      x^=x−μσ2+ϵ,∂L∂x^=∂L∂y⊙γ,rstd=1σ2+ϵ \hat{x} = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}}, \quad \quad \frac{\partial L}{\partial \hat{x}} = \frac{\partial L}{\partial y} \odot \gamma, \quad \quad \text{rstd} = \frac{1}{\sqrt{\sigma^2 + \epsilon}}

    • Rope-Interleave反向推导:

      ∂L∂x=∂L∂y⋅cos+Interleave(∂L∂y⋅sin)⊙negMask \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \cdot \text{cos} + Interleave({\frac{\partial L}{\partial y} \cdot \text{sin}}) \odot \text{negMask}

    • Rope-Half反向推导:

      ∂L∂x=∂L∂y⋅cos+Half(∂L∂y⋅sin)⊙negMask \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \cdot \text{cos} + Half({\frac{\partial L}{\partial y} \cdot \text{sin}}) \odot \text{negMask}

    • 其中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, ...)

  • 参数说明:

    参数名 输入/输出/属性 描述 数据类型 数据格式
    gradQueryOutput 输入 网络层对query和encoderQuery正向输出结果的反向梯度值,对应公式中的y,encoderQuery参数为nullptr时seqEncoderQuery值为0,headDim长度大小需在[1~1024]间且为偶数,shape为[batch, headNum, seqQuery+seqEncoderQuery, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradKeyOutput 输入 网络层对key和encoderKey正向输出结果的反向梯度值,对应公式中的y,encoderKey参数为nullptr时seqEncoderKey值为0,数据类型与参数gradQueryOutput保持一致,shape为[batch, headNum, seqKey+seqEncoderKey, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradValueOutput 输入 网络层对value和encoderValue正向输出结果的反向梯度值,对应公式中的y,encoderValue参数为nullptr时seqEncoderValue值为0,seqValue长度大小与seqKey一致,seqEncoderValue长度大小与seqEncoderKey一致,数据类型与参数gradQueryOutput保持一致,shape为[batch, headNum, seqValue+seqEncoderValue, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    query 输入 正向输入的query(多模态中图片Query),对应公式中的x,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqQuery, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    key 输入 正向输入的key(多模态中图片Key),对应公式中的x,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqKey, headNum,headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    encoderQuery 可选输入 正向输入的encoderQuery(多模态中文本Query),对应公式中的x,当文本Query参与训练时进行传入,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqEncoderQuery, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    encoderKey 可选输入 正向输入的encoderKey(多模态中文本Key),对应公式中的x,当文本Key参与训练时进行传入,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqEncoderKey, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normQueryWeight 可选输入 正向query进行归一化操作的权重值,对应公式中的γ,当图片Query、Key进行带仿射LayerNorm归一化操作时传入,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normQueryMean 可选输入 正向query进行归一化操作时输出的均值,对应公式中的μ,当图片Query、Key进行归一化操作时传入,shape为[batch, seqQuery, headNum, 1]。 FLOAT32 ND
    normQueryRstd 可选输入 正向query进行归一化操作时输出的方差相关项,对应公式中的rstd,当图片Query、Key进行归一化操作时传入,shape为[batch, seqQuery, headNum, 1]。 FLOAT32 ND
    normKeyWeight 可选输入 正向key进行归一化操作的权重值,对应公式中的γ,当图片Query、Key进行带仿射LayerNorm归一化操作时传入,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normKeyMean 可选输入 正向key进行归一化操作时输出的均值,对应公式中的μ,当图片Query、Key进行归一化操作时传入,shape为[batch, seqKey, headNum, 1]。 FLOAT32 ND
    normKeyRstd 可选输入 正向key进行归一化操作时输出的方差相关项rstd,对应公式中的rstd,当图片Query、Key进行归一化操作时传入,shape为[batch, seqKey, headNum, 1]。 FLOAT32 ND
    normAddQueryWeight 可选输入 正向encoderQuery进行归一化操作的权重值,对应公式中的γ,当文本Query、Key进行带仿射LayerNorm归一化操作时传入,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normAddQueryMean 可选输入 正向encoderQuery进行归一化操作时输出的均值,对应公式中的μ,当文本Query、Key进行归一化操作时传入,shape为[batch, seqEncoderQuery, headNum, 1]。 FLOAT32 ND
    normAddQueryRstd 可选输入 正向encoderQuery进行归一化操作时输出的方差相关项,对应公式中的rstd,当文本Query、Key进行归一化操作时传入,shape为[batch, seqEncoderQuery, headNum, 1]。 FLOAT32 ND
    normAddKeyWeight 可选输入 正向encoderKey进行归一化操作的权重值,对应公式中的γ,当文本Query、Key进行带仿射LayerNorm归一化操作时传入,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normAddKeyMean 可选输入 正向encoderKey进行归一化操作时输出的均值,对应公式中的μ,当文本Query、Key进行归一化操作时传入,shape为[batch, seqEncoderKey, headNum, 1]。 FLOAT32 ND
    normAddKeyRstd 可选输入 正向encoderKey进行归一化操作时输出的方差相关项,对应公式中的rstd,当文本Query、Key进行归一化操作时传入,shape为[batch, seqEncoderKey, headNum, 1]。 FLOAT32 ND
    ropeSin 可选输入 公式中正向输入进行旋转位置编码操作的sin值,当图片或文本Query、Key进行旋转位置编码操作时传入,seqRope长度大小需在[1~min(seqQuery+seqEncoderQuery, seqKey+seqEncoderKey)]之间,数据类型与参数gradQueryOutput保持一致,shape为[seqRope, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    ropeCos 可选输入 公式中正向输入进行旋转位置编码操作的cos值,当图片或文本Query、Key进行旋转位置编码操作时传入,数据类型与参数gradQueryOutput保持一致,shape为[seqRope, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    normType 可选属性 指定query、key归一化操作类型,0:不进行归一化操作,1:层归一化操作,2:带仿射变换参数层归一化操作,用户不特意指定时建议传入为0。 INT64 -
    normAddedType 可选属性 指定encoderQuery、encoderKey归一化操作类型,0:不进行归一化操作,1:层归一化操作,2:带仿射变换参数层归一化操作,用户不特意指定时建议传入为0。 INT64 -
    ropeType 可选属性 指定query与encoderQuery、key与encoderKey进行Concat后的旋转位置编码操作类型,0:不进行旋转位置编码操作,1:Interleave类型旋转位置编码,2:Half类型旋转位置编码,用户不特意指定时建议传入为0。 INT64 -
    concatOrder 可选属性 指定query与encoderQuery、key与encoderKey、value与encoderValue的Concat操作叠加顺序,以query为例,0:[query, encoderQuery],1:[encoderQuery, query],用户不特意指定时建议传入为0。 INT64 -
    gradQuery 输出 公式中网络层对正向输入query的反向梯度值,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqQuery, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradKey 输出 公式中网络层对正向输入key的反向梯度值,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqKey, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradValue 输出 公式中网络层对正向输入value的反向梯度值,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqValue, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradEncoderQuery 可选输出 公式中网络层对正向输入encoderQuery的反向梯度值,当文本Query参与训练时输出,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqEncoderQuery, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradEncoderKey 可选输出 公式中网络层对正向输入encoderKey的反向梯度值,当文本Key参与训练时输出,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqEncoderKey, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradEncoderValue 可选输出 公式中网络层对正向输入encoderValue的反向梯度值,当文本Value参与训练时输出,数据类型与参数gradQueryOutput保持一致,shape为[batch, seqEncoderValue, headNum, headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormQueryWeight 可选输出 公式中网络层对正向输入query进行归一化操作的γ权重反向梯度值,当图片Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormQueryBias 可选输出 公式中网络层对正向输入query进行归一化操作的β偏移反向梯度值,当图片Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormKeyWeight 可选输出 公式中网络层对正向输入key进行归一化操作的γ权重反向梯度值,当图片Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormKeyBias 可选输出 公式中网络层对正向输入key进行归一化操作的β偏移反向梯度值,当图片Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormAddedQueryWeight 可选输出 公式中网络层对正向输入encoderQuery进行归一化操作的γ权重反向梯度值,当文本Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormAddedQueryBias 可选输出 公式中网络层对正向输入encoderQuery进行归一化操作的β偏移反向梯度值,当文本Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormAddedKeyWeight 可选输出 公式中网络层对正向输入encoderKey进行归一化操作的γ权重反向梯度值,当文本Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND
    gradNormAddedKeyBias 可选输出 公式中网络层对正向输入encoderKey进行归一化操作的β偏移反向梯度值,当文本Query、Key进行带仿射LayerNorm归一化操作时输出,数据类型与参数gradQueryOutput保持一致,shape为[headDim]。 FLOAT32、FLOAT16、BFLOAT16 ND

约束说明

无。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_norm_rope_concat_backward.cpp 通过aclnnNormRopeConcatBackward接口方式调用NormRopeConcatGrad算子。