MindStudio Probe
📢 最新消息
[2026.03.20]:上线大模型训练精度定位指南、大模型推理精度定位指南及常用框架工具使能指南
[2025.12.31]:MindStudio Probe精度调试工具全面开源。
📌 简介
MindStudio Probe(MindStudio精度调试工具,msProbe)是针对昇腾提供的全场景精度工具链,专为模型开发的精度调试环节设计,可显著提升用户定位模型精度问题的效率。
🔍 目录结构
关键目录如下,详细介绍参见项目目录。
MindStudio-probe
├── csrc # C/C++源码目录
├── cmake # 存放解析C化部分cmake文件
├── docs # 文档目录
├── examples # 工具配置样例存放目录
├── output # 交付件生成目录
├── plugins # 插件类代码总入口
├── python # Python源码目录
├── scripts # 存放安装卸载升级脚本
├── test # 测试代码目录
├── setup.py # 端到端打包构建脚本
├── README.md # 整体仓代码说明
└── LICENSE # LICENSE文件
📝 版本说明
版本 |
支持PyTorch版本 |
支持MindSpore版本 |
支持Python版本 |
支持CANN版本 |
|---|---|---|---|---|
26.0.0(在研版本) |
2.1/2.2/2.5/2.6/2.7/2.8/2.9 |
2.4.0/2.5.0/2.6.0/2.7.1 |
3.8-3.12 |
大于等于 CANN 8.3.RC1 |
26.0.0-alpha.2 |
2.1/2.2/2.5/2.6/2.7/2.8/2.9 |
2.4.0/2.5.0/2.6.0/2.7.1 |
3.8-3.12 |
大于等于 CANN 8.3.RC1 |
26.0.0-alpha.1 |
2.1/2.2/2.5/2.6/2.7/2.8 |
2.4.0/2.5.0/2.6.0/2.7.1 |
3.8-3.11 |
大于等于 CANN 8.3.RC1 |
🛠️ 环境部署
安装msProbe工具,具体请参见《msProbe工具安装指南》。
🚀 快速入门
msProbe工具快速入门当前提供在PyTorch和MindSpore训练场景中,通过一个可执行样例,串联msProbe工具的训练前配置检查、精度数据采集、精度预检、训练状态监测及精度比对功能,帮助用户快速上手。详细快速入门可参见《PyTorch场景msTT工具快速入门》中的“模型精度调试”或《MindSpore场景msTT工具快速入门》中的“模型精度调试”。
📖 功能介绍
使用场景 |
子模式/细分场景 |
功能项 |
功能说明 |
参考文档 |
|---|---|---|---|---|
vLLM推理 |
eager模式 |
数据采集 |
完成msProbe精度数据采集操作 |
|
数据比对 |
将msProbe工具dump的精度数据进行精度比对,进而定位精度问题 |
|||
aclgraph图模式 |
数据采集 |
通过acl_save接口完成精度数据采集操作 |
||
torchair图模式 |
数据采集 |
通过set_ge_dump_config接口完成精度数据采集操作 |
||
精度比对 |
将msProbe工具dump的精度数据进行精度比对,进而定位精度问题 |
|||
SGLang推理 |
eager模式 |
数据采集 |
完成msProbe精度数据采集操作 |
|
数据比对 |
将msProbe工具dump的精度数据进行精度比对,进而定位精度问题 |
|||
ATB推理 |
- |
数据采集 |
通过在ATB模型运行前,加载ATB dump模块的方式,实现对ATB模型运行过程中的精度数据的采集 |
|
精度比对 |
将ATB dump的精度数据进行精度比对,进而定位精度问题 |
|||
数据转换 |
将ATB dump的精度数据转换为numpy(.npy)或PyTorch tensor(.pt)格式文件 |
|||
离线模型推理 |
- |
数据采集 |
完成msProbe精度数据采集操作 |
|
精度比对 |
提供一键式离线模型比对功能,仅需输入模型即可完成比对,无需提前采集数据,快速输出结果 |
|||
离线模型数据精度比对 |
提供离线模型数据比对功能,输入离线模型的dump数据进行精度比对 |
|||
数据转换 |
将离线模型的dump数据转换为numpy(.npy)或PyTorch tensor(.pt)格式文件 |
|||
PyTorch训练 |
- |
训练前配置检查 |
训练前或精度比对前,对比两个环境下可能影响训练精度的配置差异 |
|
数据采集 |
通过config.json配置,完成msProbe精度数据采集操作 |
|||
精度预检 |
在昇腾NPU上扫描训练模型中的所有API,给出精度情况的诊断和分析 |
|||
分级可视化构图比对 |
将msProbe工具dump的精度数据进行解析,还原模型图结构,实现模型各个层级的精度数据比对 |
|||
精度比对 |
将msProbe工具dump的精度数据进行精度比对,进而定位精度问题 |
|||
训练状态监测 |
收集和聚合模型训练过程中的网络层,优化器,通信算子的中间值,帮助诊断模型训练过程中计算,通信,优化器各部分出现的异常情况 |
|||
checkpoint比对 |
训练过程中或结束后,比较两个不同的checkpoint,评估模型相似度 |
|||
整网首个溢出节点分析 |
多rank场景下通过dump数据找到首个出现Nan或Inf的节点 |
|||
趋势可视化 |
将msProbe工具数据采集或训练状态监测的统计量数据从迭代步数、节点rank和张量目标三个维度进行趋势可视化 |
|||
MindSpore训练 |
- |
训练前配置检查 |
训练前或精度比对前,对比两个环境下可能影响训练精度的配置差异 |
|
数据采集 |
通过config.json配置,完成msProbe精度数据采集操作 |
|||
精度预检 |
在昇腾NPU上扫描训练模型中的所有API,给出精度情况的诊断和分析 |
|||
分级可视化构图比对 |
将msProbe工具dump的精度数据进行解析,还原模型图结构,实现模型各个层级的精度数据比对 |
|||
精度比对 |
将msProbe工具dump的精度数据进行精度比对,进而定位精度问题 |
|||
训练状态监测 |
收集和聚合模型训练过程中的网络层,优化器,通信算子的中间值,帮助诊断模型训练过程中计算,通信,优化器各部分出现的异常情况 |
|||
溢出检测与解析 |
溢出检测用于采集溢出API或模块的精度数据,而溢出解析则是通过对溢出数据的分析,进一步判断是否为正常溢出 |
|||
checkpoint比对 |
训练过程中或结束后,比较两个不同的checkpoint,评估模型相似度 |
|||
趋势可视化 |
将msProbe工具数据采集或训练状态监测的统计量数据从迭代步数、节点rank和张量目标三个维度进行趋势可视化 |
|||
MSAdapter场景 |
- |
数据采集 |
通过config.json配置,完成msProbe精度数据采集操作 |
|
checkpoint比对 |
训练过程中或结束后,比较两个不同的checkpoint,评估模型相似度 |
📚 补充材料
💬 FAQ
FAQ汇总了在使用msProbe工具过程中可能遇到的问题,具体请参见FAQ。
📝 相关说明
《贡献指南》
💬 建议与交流
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交Issues,我们会尽快回复。感谢您的支持。
联系我们
🤝 致谢
msProbe由华为公司的下列部门联合贡献:
昇腾计算MindStudio开发部
分布式并行计算实验室
感谢来自社区的每一个PR,欢迎贡献msProbe!