nh1

基于CANN的NPU模型推理优化Skill开源:实现小时级端到端优化适配

栏目:行业   作者:先轸    发布时间:2026-04-24 11:34   阅读量:15782   会员投稿

 随着近期Agent能力进化与应用场景爆发,通用Agent已经能够较好完成代码生成和资料检索,但在模型推理优化这类任务中,仍然很难稳定推进完整流程。对开发者来说,利用Agent进行模型推理优化的痛点主要在于流程复杂且依赖强,并高度依赖实践经验。并行化、KVCache、融合算子、图模式这些环节前后相关,很多时候一个阶段的方案选错,后续的改造性能收益就会一起受影响。仅靠文档检索,Agent往往难以完整获取分散在代码样例、最佳实践和开发者经验中的关键知识,流程中很容易出现反复试错或中途停滞。

为了解决这些通用Agent遇到的问题,CANN开源社区近期面向昇腾NPU推理优化场景发布了一套Agent Skill体系。该体系基于CANN提供的原子化优化能力,并结合cann-recipes-infer推理优化仓库中长期积累的模型优化实践,将模型优化中的各个阶段串联成一条可执行流程。

这套Skill体系将关键步骤组织成一条工作流之后,Agent的重复试错的成本明显减少。其核心价值主要体现在开发效率极大提升。从已有验证看,简单模型通常在2小时内完成一轮完整优化,复杂模型也能在6-8小时内完成基础优化闭环,比起传统人工团队需要的周级工作量,节省了数倍的时间。

另一项变化体现在门槛显著降低上,因为模型优化各个阶段差异比较大,即使是熟练的专家也很难精通全部流程;而这套工作流体系可以集合大量经过验证的最佳实践与专家经验,让初次接触相关场景的使用者,也可以在Agent辅助下完成端到端全流程优化。

在实际使用中,开发者只需要输入类似“帮我完成XX模型的NPU适配和推理优化”,系统就会进入主流程编排。在收集完用户需求和模型分析后,按照当前模型适合的优化路径进入具体优化阶段,每阶段依照流程实施并验证优化改造,最后给用户提供一份详细的总结报告。很多原本需要反复查阅仓库案例、算子文档和功能说明的工作,可以直接利用Skill提供的领域知识完成,整体试错成本会低很多。用户无需频繁干预或手动拼接流程,仅在关键节点Agent抛出选项时,对方案进行确认即可,后续阶段即可按预设流程继续推进。

实测效果

该Skill体系已在多个不同架构的模型上完成端到端验证,覆盖Qwen3.5-0.8B、LongCat-Flash-Lite、LongCat-Next、Deepseek-OCR、Nemotron、Gemma-4等,包含单卡和多卡场景。

以Qwen3.5-0.8B为例,在相同硬件、相同基线下,对比Agent是否加载Skill:

从这组结果可以看到,差距主要集中在图模式阶段。加载Skill后,Agent完成了图中断的逐项排查和修复,图模式得以顺利使能;未加载Skill的流程则在判断该架构与图模式不兼容后直接跳过。融合算子也在加载Skill后覆盖率和替换成功率均明显更高。

从已有的模型端到端验证来看,Skill显著提升了选型质量和调试效率,让Agent更早收敛到合理方案。对于复杂架构模型,Skill的逐阶段合理编排决定了完整优化链路能最终走通,尤其是在图模式改造这类依赖前置阶段质量的关键步骤上。

Skill体系概览

为了实现整个流程的合理编排,主流程将完整优化分为6个阶段:模型分析与基线建立、并行化改造、KVCache与FA改造、融合算子替换、图模式适配与优化总结。阶段间串行推进,完成精度和性能验证后才进入下一步。

整体采用主Agent加SubAgent的协作方式。主Agent只负责编排和阶段验收,具体工作拆分给三个角色:Analyzer负责分析和方案设计,Implementer负责代码改造和调试,Reviewer负责独立的精度和性能审查。

为了提升长链路任务中的稳定性,体系中还加入了分层上下文加载、状态共享文件、失败驱动的执行约束以及Hook代码级门禁等Harness约束,用于限制优化流程中的常见问题,例如未验证就返回结果、实施过程过度简化,或者对异常结果编造解释等。

从使用者角度看,这套体系覆盖的能力主要集中在三个方面:首先是流程编排,即把长链路优化任务拆成清晰的阶段,并明确阶段之间的依赖关系;其次是帮助Agent判断哪些方案适合当前模型结构,哪些配置区间更值得优先尝试;最后是调试经验,当精度或性能不符预期时提供系统化的排查路径。

使用方式

当前这套模型推理优化Skills已通过GitCode CANN开源社区开放获取。相关使用与贡献以仓库LICENSE、贡献指南和社区规则为准,并遵循CANN 2.0协议。

CANN开源社区的模型推理优化Agent Skill提供两种使用方式:

1、使用模型推理优化开源仓cann-recipes-infer:该仓库作为Skill经验的核心来源,已内置Skill工作流,拉取仓库后在根目录启动Agent服务即可使用。

2、使用CANNBot安装到已有项目:CANNBot是CANN社区的综合性Agent工具集,包含模型优化、算子开发等各领域的Skill与工作流。通过初始化脚本可以将所需Skill集成到项目中。

安装完成,启动Agent服务后,通过自然语言描述例如“帮我完成XX模型NPU适配及优化”即可自动调用Skill启动优化流程,支持完整的端到端优化适配,也可以单独调用某个阶段的Skill。

后续规划

当前开源的版本主要覆盖基础优化闭环,已经围绕并行化改造、融合算子、图模式等核心阶段建立起一条可运行的主流程。后续除在更多部署场景中完成验证与迭代外,还会逐步加入更完整的模型分析优化能力,比如完成Profiling分析、性能瓶颈定位和定向优化的闭环,并逐步扩展到新融合算子的自动设计与生成以及量化方案的适配。配套的测试框架、自反馈知识库和社区贡献流程也将持续完善,进一步优化Skill体系迭代提升效率。

欢迎开发者试用并参与贡献,提交issue反馈问题,补充优化经验和模型适配案例,共建更加完善的NPU推理优化Skill体系!

ad