Ascend for PyTorch 的研发链中,初级开发者常遇到这些问题:

  • 上游 PyTorch 社区每周合入数百个 Pull Request(PR),哪些需要 NPU 适配?
  • 单个算子适配要修改 10+ 个文件,功能失败是哪一处不一致所致?
  • 图模式相关报错,从 Python 到 ACL 运行时四层架构,从哪查起?

它们不是难在代码本身,而是那条"先做什么、再做什么、出错往哪查"藏在资深工程师脑子里的路径地图。

我们将这套路径沉淀成了可复用的 Agent Skills 与 Bot 能力矩阵,贯穿四个环节:看懂 → 动手 → 守住 → 修复

能力矩阵总览

01 看懂:分析"如何开发、影响谁"

需求分析 Skill:自动感知与分析原生 PyTorch 特性

场景痛点

上游 PyTorch 社区每周合入上百个 PR,哪些会影响 NPU 兼容性?如何适配到 NPU?技术专家逐条分析变更内容、评估影响、制定适配方案,耗时长且容易遗漏关键特性。

解决方案

pytorch-pr-analysis Skill 自动拉取指定时段全部 PR,逐条分析变更与 TorchNPU 耦合关系,标注影响等级和适配建议,最终生成一份带超链接的 Excel 报告。

以往耗时耗力的人工分析,现在一条命令 10 分钟产出完整分析报告,每条结论都附带源码证据,大幅释放技术专家的方案设计时间。

效果展示

效果展示

TorchNPU Helper:在线智能机器人

场景痛点

开发者常常在问"这个模块的设计思路"、“这个报错日志怎么修复”。传统方式需要人工查找文档、阅读源码,层层定位修复,耗时耗力且容易遗漏关键信息。

解决方案

TorchNPU Helper 是一个满载 TorchNPU 知识与问题定位方案的在线机器人,部署在云 NPU 上,支持运行代码。开发者提问后,TorchNPU Helper 会结合源码、知识库、skills 直接给出可操作答案,从"反复翻文档"到"超 80% 准确率"的即问即答,充当开发者的外置大脑。

链接:https://ai.gitcode.com/ascend-model-ecosystem#mofix-agent

效果展示

TorchNPU Helper效果1
TorchNPU Helper效果2

02 动手:代码开发的全自动流水线

算子适配 Skill:一套适配方案的端到端落地

场景痛点

算子适配是 TorchNPU 开发中需求量大且持续、细节复杂多样的工作。单个算子的适配就涉及约 14 个 TorchNPU 文件修改:YAML 注册、C++ 实现、Meta 入图、autograd 反向等——任意一环的错漏,都会导致编译报错、调试失败或留下隐患。但传统方式依赖资深工程师经验,上手难度大,不同类型算子的适配流程和细节差异巨大。

解决方案

算子适配 Skill op-adaptation,实现"解析输入 → 确认参数 → 生成 YAML → 推导反向 → 编写 C++ → 生成 Meta → 验证 → 构建"的自动闭环。同时支持从 0 适配新算子,和为不同代际芯片修改适配逻辑。

其中自动调用两个子 Skills:

  • op-test 自动生成覆盖正例、负例和 FakeTensor 的单元测试。如果测试失败,它会区分是测试用例自身的问题、适配源码的 bug 还是测试环境扰动,给出明确处置建议。
  • op-apidoc 生成符合规范的 API 文档,确保开发者始终获得准确、最新的 API 参考信息。

新人从此一键上手,不仅可以快速完成适配,效率提升 10 倍,还能基于 Skills 快速跟随学习算子适配的逻辑原理与边界条件。

案例展示grouped_matmul 算子,依托 op-adaptation,可端到端完成适配到自验证全流程:

验证全流程

03 守住:让隐藏问题自动被及时拦截

门禁检查 Skill

场景痛点

某些 PR 可能影响大量测试用例,导致 TorchNPU 的 PR 门禁产生大量错误信息,全靠人工修复相当耗时。社区贡献者的 PR 容易因代码风格等细节规范问题被驳回,既拖慢合入进度,也影响社区贡献体验。

解决方案

ci-static-errors-fix Skill 针对每次修改合入的代码执行处理,按白名单规则执行安全修复,每条自主修复都记录改动理由,确保行为不变。这层防护让"格式问题"不再阻塞合入,也通过可控的修复边界避免误改引入新缺陷。同时会输出完整的执行命令、残留问题与修复明细清单,所有改动可追溯、可审查。

04 修复:一条全自动的从报错到修复的流水线

API 一致性问题修复 Skill

场景痛点

PyTorch API 是模型稳定可靠的基石,API 的能力一致性是关键的一环。当某个 API 在 NPU 上的行为和 CPU 不一致,或在功能、确定性、精度、显存上出了问题,需要快速定位根因。

解决方案

api-consistency Skill 通过"三出口分流 + 两遍规则"端到端解决一致性问题:

三出口分流

面对不同的芯片版本,也会自动分流处理。复现、定位、修复三步走完,证据以日志和数值对比为准。批量问题也能统一调度,共用前置环境,每个问题独立诊断。端到端解决成功率超过 60%。同时会将排障中的判断依据沉淀到分析报告中,大幅降低了技术问题排查的经验门槛。

案例展示torch_npu.npu_mrope 精度异常问题定位

问题:fp16 场景下 NPU 输出出现 inf/nan,CPU 正常

Skill 工作流

  1. 智能路由 → 识别为 ATK 分支
  2. 精准定位 → 锁定问题算子为 aclnnRopeWithSinCosCacheV2
  3. 产出报告 → 自动生成 分析结论.md复现记录.md

运行明细、xlsx 摘要与关键判读
运行明细、xlsx摘要与关键判读
复现时间线与交付产物
在这里插入图片描述

社区用例修复 Skill

场景痛点

上游 PyTorch 的测试用例需要在 NPU 中验证并修复可能的问题。失败用例的修复需走环境搭建 → 复现 → 诊断 → 验证 → 交付完整流程。人工排查耗时长,易陷入循环,缺乏标准化流程。

解决方案

两套 Skills 按问题类型智能分流:

  • torch-npu-issue-pipeline-core Skills:处理 TorchNPU Core 组件相关的失败用例,自动管理 PyTorch、TorchNPU、OpPlugin 三仓库,完成从诊断到 PR 创建的完整交付。
  • torch-npu-issue-pipeline-distributed Skills:处理分布式/图模式组件的失败用例,专注于 HCCL 通信、图模式、Triton codegen 等复杂场景。

图模式诊断 Skill:四层架构精准定位

场景痛点

模型层面的复杂图模式问题,定位修复调用链跨越四层:Python API → C++ 核心 → OpPlugin 算子 → ACL 运行。任一层报错都需要跨栈追踪,定位门槛非常高。

解决方案

npu-graph-skill 套件按"知识问答 → 报错诊断 → 性能剖析 → 日志分析"智能路由,5 个子技能统一入口自动分发。

诊断采用逐层下沉策略(从上层用户代码向下层框架深入),输出结构化结论:用户代码问题 / 框架 Bug(已定位/待定位) / OpPlugin 算子问题 / ACL 运行时问题 / 环境/配置问题。

从"经验驱动"到"能力沉淀"

这套 Ascend for PyTorch 的 Agent Skills 与 Bot 能力的价值不在于替代人写代码、解决问题,而是将资深工程师脑中的"路径地图"转化为可复用、可调用的标准流程。

对于 TorchNPU 初学者,大幅降低上手成本,不必吃透各类隐性问题就能开展代码贡献;工具本身会持续动态更新指引内容,操作步骤与问题排查方向一目了然、有据可查。

性能提升不仅发生在模型层,也发生在研发过程本身——当"看懂、动手、守住、修复"每个环节都有 Agent 护航,工程师才能将更多精力留给那些没有标准答案的创新问题。

Agent Skills 可在昇腾官方 Skill 仓获取,点击进入并查看使用说明:https://gitcode.com/Ascend/agent-skills/tree/master/official/PyTorch

后续将上线 Ascend for PyTorch Agent 能力的系列直播课,赋能与答疑如何使用这套 Agent 能力,更好更快地完成 Ascend for PyTorch 相关的研发全链路。欢迎进群交流讨论。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐