文件最后提交记录最后更新时间
修改MhcPostBackward aclnn example Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4879 merge mhc_4_27 into master 修改MhcPostBackward aclnn example Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2230 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了README.md 和 aclnnMhcPostBackward.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487922 天前
修改MhcPostBackward aclnn example Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4879 merge mhc_4_27 into master 修改MhcPostBackward aclnn example Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2230 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了README.md 和 aclnnMhcPostBackward.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487922 天前
mhc_post_backward整改arch32->arch22 Co-authored-by: fazhenyao123<fazhenyao@h-partners.com> # message auto-generated for no-merge-commit merge: !4944 merge 5_6 into master mhc_post_backward整改arch32->arch22 Created-by: fazhenyao123 Commit-by: fazhenyao123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> mhc_post_backward整改arch32->arch22 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/7673863/ae37a490-53b6-4565-8597-e7f9e41ccf29/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [x] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!494418 天前
MhcPostBackward matmul修改 Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !5931 merge mhc_5_22 into master MhcPostBackward matmul修改 Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 修改MhcPostBackward Matmul部分kernel实现 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2727 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!59311 天前
新增MhcPostBackward算子 Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4684 merge mhc_4_26 into master 新增MhcPostBackward算子 Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 MhcPostBackward支持ascend950训练场景,输出反向梯度 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#2080](https://gitcode.com/cann/ops-transformer/issues/2080) ## 测试 本地验证已通过白盒用例,门槛用例,精度均已通过 ## 文档更新 更新了op_api_list.md文件 更新了op_list.md文件 更新了mhc/mhc_post_backward/README.md文件 更新了aclnnMhcPostBackward.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!46841 个月前
新增MhcPostBackward算子 Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4684 merge mhc_4_26 into master 新增MhcPostBackward算子 Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 MhcPostBackward支持ascend950训练场景,输出反向梯度 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#2080](https://gitcode.com/cann/ops-transformer/issues/2080) ## 测试 本地验证已通过白盒用例,门槛用例,精度均已通过 ## 文档更新 更新了op_api_list.md文件 更新了op_list.md文件 更新了mhc/mhc_post_backward/README.md文件 更新了aclnnMhcPostBackward.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!46841 个月前
修改MhcPostBackward aclnn example Co-authored-by: qinqiuyue<qinqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4879 merge mhc_4_27 into master 修改MhcPostBackward aclnn example Created-by: gcw_2XKemcvz Commit-by: qinqiuyue Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2230 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了README.md 和 aclnnMhcPostBackward.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487922 天前
README.md

MhcPostBackward

产品支持情况

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

功能说明

  • 算子功能:mhc_post基于一系列计算对MHC(Manifold-Constrained Hyper-Connection)架构中上一层输出htouth_{t}^{out}进行Post Mapping,对上一层的输入xjx_j进行ResMapping,然后对二者进行残差连接,得到下一层的输入xl+1x_{l+1}。该算子实现前述过程的反向功能。

  • 计算公式:

    grad_x=Hlres×grad_ygrad_h_res=xl×grad_yTgrad\_x = H_{l}^{res} \times grad\_y\\ grad\_h\_res = x_{l} \times {grad\_y}^{T}

    grad_h_out=(grad_y∗(Hlpost.unsqueeze(−1))).sum(dim=−2)grad_h_post=(grad_y∗(hlout.unsqueeze(−2))).sum(dim=−1)grad\_h\_out=({grad\_y} * (H_{l}^{post}.unsqueeze(-1))).sum(dim=-2)\\ grad\_h\_post=({grad\_y} * (h_{l}^{out}.unsqueeze(-2))).sum(dim=-1)

参数说明

参数名 输入/输出 描述 数据类型 数据格式
grad_y 输入 待计算的数据,表示网络中MHC层的输入数据 FLOAT16、BFLOAT16 ND
x 输入 待计算的数据,表示网络中MHC层的输入数据 FLOAT16、BFLOAT16 ND
h_res 输入 mHC的h_res变换矩阵 FLOAT32 ND
h_out 输入 Atten/MLP层的输出 FLOAT16、BFLOAT16 ND
h_post 输入 MHC的h_post变换矩阵 FLOAT32 ND
grad_x 输出 网络中MHC层的输入数据x的梯度 FLOAT16、BFLOAT16 ND
grad_h_res 输出 网络中MHC层的输入数据h_res的梯度 FLOAT32 ND
grad_h_out 输出 网络中MHC层的输入数据h_out的梯度 FLOAT16、BFLOAT16 ND
grad_h_post 输出 网络中MHC层的输入数据h_post的梯度 FLOAT32 ND

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_mhc_post_backward 通过aclnnMhcpostBackward接口方式调用算子。