作者:付思瀚 刘西伦

随着人工智能模型规模的不断扩大及应用场景的日益复杂,在昇腾AI基础软硬件平台上进行训练和部署时,面临着Host-Device协同效率不高、重要算子性能下滑、通信延迟增大、模型下发效率低等诸多挑战。因此,深度学习系统的性能提升不仅需要计算能力提升,还需要对硬件平台、软件栈、通信机制以及模型结构之间的协同效率进行全面优化。

Image

模型执行过程

过去,MindStudio提供了性能调优工具msProf,集群分析工具msprof-analyze,精度调优工具msProbe,内存调优工具msMemScope,可视化工具msInsight等一系列工具来帮助客户提高算子性能、设备性能、集群性能,同时MindStudio也沉淀了计算(算子调优),通信(快慢卡),下发(Host下发慢),IO瓶颈以及服务化等一系列的调试调优方法论。

Image

MindStudio工具链全景图

依托成套工具链完成调优方法论的体系化沉淀,能够支撑调优专家高效、精准定位大模型全链路系统问题。但大模型性能调优本身工程复杂度高、上手门槛高,如何降低使用门槛、自动化挖掘最优调优路径,是兼具技术挑战与业务价值的核心工程难题。

而智能Agent技术的出现,为破解这一痛点提供了关键抓手:它可将高度专业化的专家调优经验封装标准化能力,让零基础普通用户也能便捷开展大模型调优工作。基于这一思路,我们将整套成熟调优方法论统一集成落地至MindStudio Agent。

MindStudio Agent介绍

MindStudio Agent是连接“大模型大脑”与“MindStudio工具生态”的桥梁,不同于其他Agent,MindStudio Agent深度集成了昇腾算力底座的能力,将MindStudio的强大调试、分析与推理优化能力转化为大模型可以直接调用的“技能包”。核心设计理念可以用一句话概括:“发现瓶颈 → 定位根因 → 给出建议”的证据驱动分析闭环。详细设计可见代码仓

https://gitcode.com/Ascend/msagent。

安装与使用方法

参考msAgent安装指南

(https://gitcode.com/Ascend/msagent/blob/master/docs/zh/getting_started/install_guide.md)完成安装。

启动msAgent:

Bash
msagent

进入交互式会话后,将提前采集好的性能Profiling数据路径和需要解决的问题发送给MindStudio Agent分析即可。更多安装方式和配置项,可以参考项目README。

内置Agent与能力分工

msAgent内置六大专业领域SubAgent,全面覆盖性能调优、精度调优、模型量化、仿真建模、算子调优、文档体验与代码审查全场景,可按需选用对应Agent 完成昇腾NPU调试调优工作,开源社区链接:

https://gitcode.com/Ascend/msagent

实战案例

为了更直观的演示MindStudio Agent的能力,下面提供了真实调优过程中的一些案例,包括性能诊断、开发效率提升等。

案例 1:集群快慢卡诊断

场景:集群训练出现性能抖动,性能未达预期,怀疑存在快慢卡问题。

提示词:

Plain Text
请分析 /path/to/cluster_profiling/ 中是否存在快慢卡问题,定位异常 rank,并给出可能原因。

诊断报告如下:

Image

MindStudio Agent做了什么:

自动识别为多卡/集群场景

加载cluster-fast-slow-rank-detector Skill

调用msprof-mcp进行全局诊断,对比各Rank的计算和通信耗时

定位出异常Rank,分析是计算瓶颈还是通信瓶颈

给出具体的优化建议和验证方法

案例 2:DB数据自定义导出

场景:需要从Profiling数据库中提取特定维度的数据。

提示词:

Plain Text
基于 ascend_pytorch_profiler_0.db,帮我提取各个算子类型的总耗时并按降序输出到 csv。

过程如下:

Image

MindStudio Agent做了什么:

通过msprof-mcp连接 .db文件

构造SQL查询,按算子类型聚合耗时

排序后导出为CSV文件

输出结果摘要和文件路径

案例 3:Profiling数据完整性检查

场景:采集了一份性能数据,不确定是否采集完整。

提示词:

Plain Text
请分析 /path/to/xxx_ascend_pt/ 数据是否采集正常。

过程如下:

Image

MindStudio Agent做了什么:

加载mindstudio_profiler_data_check Skill

检查目录结构是否完整、关键文件是否存在

验证profiler配置信息、采集级别

给出数据完整性报告,指出缺失项和可能原因

案例 4:MFU计算

场景:你有一份kernel_details.csv,想快速计算matmul算子在昇腾910上的 MFU(最大浮点利用率)。

提示词:

Plain Text
请基于/path/to/kernel_details.csv 计算matmul 的MFU(昇腾910,并说明各项计算依据。

过程如下:

Image

MindStudio Agent做了什么:

自动识别场景,加载op-mfu-calculator Skill

通过工具读取CSV文件,提取matmul算子的执行时间和shape信息

从官网获取昇腾910的算力规格,套用MFU公式逐步计算

输出结果,包含详细的计算过程和每一项数据来源

不再需要手动翻文档查算力参数、手动写计算脚本——一句话搞定。

案例 5:工具使用咨询

场景:不熟悉msProf 的编译流程。

提示词:

Plain Text
msProf 怎么编译出 run 包?

过程如下:

Image

MindStudio Agent做了什么:

通过github-raw-fetch Skill从msProf的GitHub仓库获取相关文档

整理出完整的编译步骤和注意事项

直接给出可执行的命令序列

案例 6:文档上手体验审查

场景:根据某个仓库的README检查是否能跑通

提示词:

Plain Text
请帮我体验并审查这个仓库的文档上手体验:https://gitcode.com/Ascend/msmonitor 。

本机环境:
- Ubuntu 20.04
- CANN 已安装,环境脚本:`/usr/local/Ascend/ascend-toolkit/set_env.sh`
- conda 虚拟环境已准备好,请优先使用:`msmonitor_ux_review`

请输出详细的中文 HTML 报告到 `/home/msmonitor`,重点说明在上述环境下,新用户能否按文档完成安装并进入可运行状态。

结果如下:

MindStudio Agent做了什么:

自动识别任务属于“文档上手体验审查”场景,加载document-ux-review Skill。

从README开始,自动识别直接关联的安装、快速开始和运行文档,而不是只做静态阅读。

结合用户提供的环境信息,优先复用已有基础环境,例如已准备好的conda环境和已安装的CANN,而不是重复安装。

按文档中的真实步骤逐步执行,检查命令、依赖、路径、配置和启动流程是否真的能走通。

如果遇到缺步骤、错误命令、隐含前提、平台差异,或者必须额外去翻脚本、源码、CI、Dockerfile才能继续,都会被记录为文档完整性问题。

最后输出一份结构化报告,说明哪些步骤成功、哪些步骤阻塞、问题出现在什么位置,以及对应的改进建议;示例文档里还说明可输出中文HTML报告,并给出msmonitor-review-run.html作为参考产物。

未来规划

接下来我们的重点方向是:

  • 更多内置 Tools:例如精度,内存等工具,让调优的覆盖面更广,数据来源更多,调优定位更准,扩展Agent的能力边界。

  • 集成更多专家 Skills:覆盖更多典型调优场景,例如内存分析、算子调优建议、训练吞吐优化等,提升大家的开发效率。

如果你对MindStudio Agent感兴趣,欢迎来项目里看看,Star一下,一起让模型调优更高效。

  • https://gitcode.com/Ascend/msagent

Logo

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

更多推荐