SuperAPI AI 工具集

external-cannbot-ops-pypto-precision-debug

编程与开发

查看项目

更新于 10-15 17:19

技能介绍

用途:该技能用于排查 PyPTO 算子精度问题,聚焦用户代码层面的语法逻辑检查与规避方法尝试。适用时机为算子精度验证失败、输出结果异常、计算错误、数值偏差等精度相关问题。职责范围包括用户代码语法逻辑检查、提供规避方法与工具、尝试可行方案;不负责底层框架代码分析、深层根因定位、框架 Bug 确认。若规避方法有效则提供解决方案,若无效则报告可能是底层框架层面问题。

主要能力与流程: 步骤 0(最高优先级)检查前端写法,确认使用 pypto.jit 还是 pypto.frontend.jit;旧前端 pypto.jit 已不再维护,建议切换为 @pypto.frontend.jit 并重新验证精度。 步骤 1 用户代码语法检查,关注数据类型、Shape 定义、valid_shape 配置是否正确。 步骤 2 按优先级逐项尝试规避方法:避免 view 后 reshape 使用 inplace=True,改用 inplace=False;循环展开导致精度异常时使用 unroll_list=[1];嵌套循环精度异常时在子循环使用 submit_before_loop=True;编译器优化导致精度异常时使用 result = compute(...) + 0.0;特定 shape 精度异常时调整 shape,避免尾轴为 1、避免非整除。 步骤 3 必要时用 pypto-precision-compare skill 做二分定位,查找具体问题 op。 步骤 4 作结论判断:规避方法有效则给出具体代码修改建议与注意事项;无效则说明已尝试的规避方法均无效,可能是底层框架层面的问题。

参考资料包括已知问题文档、循环开发指南及 pypto.loop、pypto.loop_unroll、pypto.tensor、pypto.reshape、pypto.view、valid_shape 等 API 与 Tensor 操作文档。

限制:该技能不进行底层框架代码分析与框架 Bug 确认;具体报错信息、版本要求、依赖安装方式资料暂未提供。