文件最后提交记录最后更新时间
修复agent扫描文档问题 Co-authored-by: qzzzy1<qiziyu2@huawei.com> # message auto-generated for no-merge-commit merge: !4405 merge master into master 修复agent扫描文档问题 Created-by: qzzzy1 Commit-by: qzzzy1 Merged-by: cann-robot Description: ## 描述 修复agent扫描出来的文档问题 ## 关联的Issue 关联issue1958 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!44051 个月前
Update AttentionToFFN/FFNToAttention License Co-authored-by: z1017i<zengzhe4@huawei.com> # message auto-generated for no-merge-commit merge: !943 merge master_0122 into master Update AttentionToFFN/FFNToAttention License Created-by: z1017i Commit-by: z1017i Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!9434 个月前
【MC2】修改mc2的aclnninner调用方式 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !3660 merge master_inner into master 【MC2】修改mc2的aclnninner调用方式 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 【MC2】修改mc2的aclnninner调用方式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!36601 个月前
将mc2下的算子中gen_task包含3-8包编译部分的内容删除 Co-authored-by: hid81635372<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !2793 merge gen_task into master 将mc2下的算子中gen_task包含3-8包编译部分的内容删除 Created-by: hid81635372 Commit-by: hid81635372 Merged-by: cann-robot Description: ## 描述 将gen_task中废弃的3-8包编译部分内容删除 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1477 ## 测试 回黄编译transformer包通过,编译legacy包通过,产物检查无异常,MC2的A2、A3、A5二级冒烟已过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!27932 个月前
[MC2] tiling代码芯片隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !2878 merge tiling_soc_iso into master [MC2] tiling代码芯片隔离 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 对MC2的tiling编译进行芯片隔离,减少编译时间。在编包时先根据soc找到对应的arch,然后编译对应arch文件夹下面的cpp,其他arch文件夹不会编译 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1692 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!28781 个月前
mc2算子op_kernel代码文件代际隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1830 merge agmv2_csv into master mc2算子op_kernel代码文件代际隔离 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!183010 天前
修改mc2目录下的arch32为arch22 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !4314 merge change_A2A3_arch into master 修改mc2目录下的arch32为arch22 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 修改mc2目录下的arch32为arch22 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!43141 个月前
Update AttentionToFFN/FFNToAttention License Co-authored-by: z1017i<zengzhe4@huawei.com> # message auto-generated for no-merge-commit merge: !943 merge master_0122 into master Update AttentionToFFN/FFNToAttention License Created-by: z1017i Commit-by: z1017i Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!9434 个月前
doc Tools扫描问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !3415 merge master into master doc Tools扫描问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描问题修改 See merge request: cann/ops-transformer!34152 个月前
README.md

AttentionToFFN

产品支持情况

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

功能说明

  • 算子功能:将Attention节点上数据发往FFN节点。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 本卡发送的token数据,3D Tensor,shape为 (X, Bs, H)。 FLOAT16、BFLOAT16 ND
sessionId 输入 表示当前Attention Worker节点的Id,1D Tensor,shape为 (X, )。 INT32 ND
microBatchId 输入 表示当前microBatch的Id,1D Tensor,shape为 (X, )。 INT32 ND
layerId 输入 表示当前模型层数的Id,1D Tensor,shape为 (X, )。 INT32 ND
expertIds 输入 每个micro batch组中每个token的topK个专家索引,3D Tensor,shape为 (X, Bs, K),expertIds取值区间为[0, moeExpertNum)。 INT32 ND
expertRankTable 输入 每个micro batch组中专家Id到FFN卡专家部署的映射表(外部需保证值正确),3D Tensor,shape为 (L, moeExpertNum + sharedExpertNum, M)。 INT32 ND
scalesOptional 输入 可选参数,表示每个专家的量化平滑参数,3D Tensor,shape为 (L, moeExpertNum + sharedExpertNum, H)。 FLOAT32 ND
activeMaskOptional 输入 可选参数,表示token是否参与通信,可传有效数据或空指针,2D Tensor,shape为 (X, Bs)。 BOOL ND
group 属性 通信域名称(专家并行),字符串长度[1, 128)。 STRING -
worldSize 属性 通信域大小,取值区间[2, 768]。 INT64 -
ffnTokenInfoTableShape 属性 表示FFN节点上token信息表格shape大小的列表,长度为3。 INT32 -
ffnTokenDataShape 属性 表示FFN节点上token数据表格shape大小的列表,长度为5。 INT32 -
attnTokenInfoTableShape 属性 表示Attention节点上token信息表格shape大小的列表,长度为3。 INT32 -
moeExpertNum 属性 MoE专家数量,取值范围(0, 1024]。 INT64 -
quantMode 属性 表示量化模式,支持0(非量化)、2(动态量化)。 INT64 -
syncFlag 属性 表示FFN节点同步模式,支持0(同步)、1(异步)。 INT64 -
ffnStartrankId 属性 表示FFN节点的起始Id。 INT64 -

约束说明

  • 调用算子过程中使用的groupworldSizetokenInfoTableShapetokenDataShape参数及HCCL_BUFFSIZE取值所有卡需保持一致,网络中不同层中也需保持一致。

  • 参数说明里shape格式说明:

    • X:表示micro batch sequence size(token组数),当前版本只支持X = 1。
    • BS:表示batch sequence size(本卡最终输出的token数量)取值范围为0 < BS ≤ 512。
    • K:表示选取topK个专家,,取值范围为0 < K ≤ 16且满足0 < K ≤ moeExpertNum。
    • H:表示hidden size(隐藏层大小),取值范围为1024 ≤ H ≤ 8192。
    • L:表示模型层数,当前版本只支持L = 1。
    • M:表示expertRankTable最后一维的长度,具体体现为部署在FFN节点上数量最多的专家部署信息列表的长度。
    • moeExpertNum:表示MoE专家数量,取值范围为0 < moeExpertNum ≤ 1024。
  • 通信域使用约束:

    • AttentionToFFN算子的通信域中不允许有其他算子。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_attention_to_ffn.cpp 通过 aclnnAttentionToFFN 接口方式调用AttentionToFFN算子。