CANN/ops-transformer GQA算子测试框架
GQA算子测试框架【免费下载链接】ops-transformer本项目是CANN提供的transformer类大模型算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-transformer文件结构pytest/ ├── test.py # pytest泛化测试用例运行主程序 ├── testcases.py # 泛化测试用例入参配置 ├── check_valid_param.py # 入参检查及精度对比 ├── gqa_no_quant_bnsd_bsnd.py # CPU侧算子逻辑实现获取Goldennpu算子直调 ├── gqa_no_quant_bnsd_bsnd_ge.py # 图模式编译调用与单算子调用结果精度对比 ├── pytest.ini # 创建ci单算子和graph图模式的测试标记概述pytest框架作为一个轻量化精度对比的测试框架提供了简单化的验证方式及流程测试用例只需要执行一个test.py脚本简化执行流程并能够对测试用例进行泛化支持自定义生成的custom包适配可通过直接调用custom包验证无需交付件脚本内各功能分离易于特性验证及自定义修改Golden生成逻辑完善为先构建输入后进行运算环境配置较简单无依赖冲突仅需python环境及torchtorch_npu安装功能说明基于pytest测试框架实现GQA算子的功能验证CPU侧复现算子功能用以生成Golden数据NPU侧通过torch_npu进行算子直调获取实际数据 通过torchair组件入图精度对比进行CPU与NPU结果的精度对比验证算子功能主要特性实现逻辑在cpu测复现算子逻辑生成Golden脚本与调用算子的结果进行精度对比输出精度准确率及失败数据的下标和数据信息用例泛化通过pytest进行测试用例的泛化可以通过输入不同的参数在运行时自动交叉组合无需手动单个配置可同时验证大量用例场景支持支持GQA非量化PA场景Query输入格式支持BNSD/BSNDPA场景下的KV cache支持BBH和BNBD格式模式支持支持单算子模式及图模式调用实现tiling下沉功能参数配置支持支持在配置参数脚本testcases.py内修改配置自定义开发随机性测试基于测试随机性目标QKV矩阵通过torch.randn随机生成输入格式由参数定义KV的actual sequence length也为随机生成的列表长度为[batch size, 1~Skv]无需手动配置每一个用例参数限制数据格式FP16 / BF16in_layoutBSND /BNSDkvcache_layout: BNBD / BBHBSND格式仅支持BBH环境配置前置要求torch_npu安装包下载路径需及时更换为最新版本torch_npu安装教程完成环境安装和环境变量配置具体操作请参考ops-transformerCustom包调用支持custom包调用运行方式在pytest文件夹路径下执行单算子直调图模式python3 -m pytest -rA -s test.py单算子直调python3 -m pytest -rA -s test.py -v -m ci图模式python3 -m pytest -rA -s test.py -v -m graph【免费下载链接】ops-transformer本项目是CANN提供的transformer类大模型算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-transformer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考