算子精度预检
当定位到可能存在精度问题的算子后,可以使用msit llm opcheck工具对算子的精度进行预检,判断加速库算子精度是否达标。msit llm opcheck工具的使用方法和可选参数内容请参见opcheck单算子精度预检功能使用指南。
- 对LinearOperation算子做精度预检。
示例如下,其中CHECK_PATH是预检结果数据保存路径。
msit llm opcheck -i {GOLDEN_DUMP_ALL_PATH}/msit_dump_{TIMESTAMP}/tensors/{device_id}_{PID}/{TID}/ -ids 50_2_4_0 -opname LinearOperation -o {CHECK_PATH}
其中ids为指定预检的tensor索引,取其父目录的前缀,如果tensor路径为:
{GOLDEN_DUMP_ALL_PATH}/msit_dump_{TIMESTAMP}/tensors/{device_id}_{PID}/3/50_Decoder_layer/2_MlpGateUpWeightPack/4_LinearNoQuant/0_LinearOperation/after/outtensor0.bin,那么其ids为50_2_4_0。
- 检测结果如图1所示。
- 确认算子精度是否达标,算子精度标准请参见精度标准。
- 如果算子精度达标,表明是标杆与NPU算子输入差异导致的误差,可以通过修改模型推理计算时的数据类型,提高模型的数据精度。
- 如果算子精度不达标
父主题: 采用msit工具定位