| 训推归一-flash_attn
Co-authored-by: Yuanfeng_HW<yuanfeng24@huawei.com>
# message auto-generated for no-merge-commit merge:
!5014 merge 5/7-se into master
训推归一-flash_attn
Created-by: Yuanfeng_HW
Commit-by: Yuanfeng_HW
Merged-by: cann-robot
Description: ## 描述
<!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->
需求:新增新接口算子flash_attn,该算子支持非量化场景下FA训练正向与推理功能
具体支持功能:
1、基础端到端功能,tiling + kernel + interface (继承 + 新开发)
1.1 基础layout
layout_q: BSND dtype_q BF16/FP16
layout_kv: BSND dtype_kv BF16/FP16
layout_out: BSND dtype_out BF16/FP16
1.2 使用aicpu MetaData 输入进行负载均衡调度
1.3 Metadata参数支持不传
1.4 PTA接口放Transformer仓
2、支持 seqused_q, seqused_kv (继承 + int32 适配)
3、 layout 泛化支持(含PageAttention)(继承 + cu_seqlens_q、cu_seqlens_kv shape dtype 适配 )
4、mask 支持 mode 1 , 3
5、支持行无效 (继承)
6、softmax_scale 支持None输入(新开发)
7、支持softmaxLse 输出,支持全量layout (继承功能)
## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->
<!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。-->
https://gitcode.com/cann/ops-transformer/issues/2336
## 测试
<!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->
## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->
## 类型标签
<!-- [x] 表示选中 -->
- [ ] 🐛 Bug 修复
- [ ] ✨ 新特性
- [ ] ⚡ 性能优化
- [ ] ♻️ 重构
- [ ] 🧪 测试
- [ ] 📦 构建/CI
- [ ] 🔧 配置变更
- [ ] 📝 文档更新
- [ ] ⬆️ 依赖升级
- [ ] 🔒 安全修复
- [ ] 🧹 代码清理
- [ ] ❓ 其他,请描述:
See merge request: cann/ops-transformer!5014 | 21 天前 |