| the framework of MegaMoe
Co-authored-by: OblivionZHU<zhujun116@huawei.com>
# message auto-generated for no-merge-commit merge:
!4396 merge master into master
the framework of MegaMoe
Created-by: OblivionZHU
Commit-by: OblivionZHU
Merged-by: cann-robot
Description: ## 描述
MoeDispatchFFNCombine 算子将MoE Feed-Forward Network (FFN) 的完整计算流程融合为一个单一的算子:
1. PermuteQuant:对输入token执行本地重排操作,进行量化预处理,统计各专家的token分配情况,为后续专家并行计算准备数据布局。
2. Dispatch:通过ToAllV通信将token及对应scale值分发至目标专家卡,实现专家行计算的数据分布。
3. Groupmul1:执行分组矩阵乘计算(Gate/Up投影),采用硬件优化的分组矩阵实现。
4. SwiGLUQuant:对GroupMatmul1的输出执行SwiGLU激活计算,实现激活结果的量化压缩。
5. GroupMatmul2:对量化后的激活结果执行Down投影,完成专家特征变换的最后阶段。
6. Combine:对GroupMatmul2输出进行量化处理,通过AllToAllV通信将结果发送回原卡,保持输出数据与输入数据的对应关系。
7. Unpermute:对本地token执行加权求和,恢复原始数据排列,将最终结果写入输出地址。
## 关联的Issue
[Requirement|需求建议]: 单一算子实现MoE Feed-Forward Network (FFN) 的完整计算流程
## 测试
本地编译、线上编译、二级冒烟等
## 文档更新
## 类型标签
<!-- [x] 表示选中 -->
- [ ] 🐛 Bug 修复
- [x] ✨ 新特性
- [ ] ⚡ 性能优化
- [ ] ♻️ 重构
- [ ] 🧪 测试
- [ ] 📦 构建/CI
- [ ] 🔧 配置变更
- [ ] 📝 文档更新
- [ ] ⬆️ 依赖升级
- [ ] 🔒 安全修复
- [ ] 🧹 代码清理
- [ ] ❓ 其他,请描述:
See merge request: cann/ops-transformer!4396 | 1 个月前 |