已关闭
DS V4 使用msprobe工具dump,显存膨胀异常 #338
wangchao285创建于  5月29日关闭于  6月24日
wangchao285成员
5月29日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:

  • API 令牌或密钥
  • 密码或身份验证凭证
  • 私有网址或接口地址
  • 个人或机密数据
  • ...

在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用 <TOKEN> 等占位符替代原有内容。

环境信息

A3
deepseek V4 pro

🐛 问题描述

dump配置:
{
"task": "statistics",
"dump_path": "/home/data_dump",
"rank": [],
"step": [],
"level": "L0",
"async_dump": false,

"statistics": {
"scope": [],
"list": [],
"tensor_list": [],
"data_mode": ["all"],
"summary_mode": "statistics"

}
}

异常现象:
image.png

规避措施:
L0,不对权重挂hook,采集tensor、statistic级别数据,可以成功

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
Wwangchao285成员
5月29日 添加了label:bug
捡到宝。
捡到宝。成员
5月29日 评论:

👋 您好,欢迎向 MindStudio Probe 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉

📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:

📖 MindStudio Probe官方文档
📝 贡献者指南

请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!

likedislike
捡到宝。捡到宝。成员
5月29日 添加了label:triage-review
wangchao285成员
5月30日 评论:

问题2:采集L1级别真实数据模式:
服务侧,repeat直接报错,怀疑工具影响了原始repeat入参
image.png
image.png

工具errorlog,npu_group_matmul 保存tensor报错
[2026-05-30 10:43:23 +0800] [ERROR] forward_input_data_collect failed: name=NPU.npu_grouped_matmul.114.forward, pid=2519695
Traceback (most recent call last):
File "/usr/local/python3.11.10/lib/python3.11/site-packages/msprobe/pytorch/common/utils.py", line 352, in save_pt
torch.save(tensor, filepath)
File "/usr/local/python3.11.10/lib/python3.11/site-packages/torch_npu/utils/serialization.py", line 440, in save
return torch.serialization.save(obj, f, pickle_module, pickle_protocol, _use_new_zipfile_serialization, _disable_byteorder_record)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/python3.11.10/lib/python3.11/site-packages/torch_npu/profiler/_add_mstx_patch.py", line 50, in save_wrapper
out = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/python3.11.10/lib/python3.11/site-packages/torch/serialization.py", line 977, in save
_save(
File "/usr/local/python3.11.10/lib/python3.11/site-packages/torch_npu/utils/serialization.py", line 421, in _npu_save
storage = storage.cpu()
^^^^^^^^^^^^^
File "/usr/local/python3.11.10/lib/python3.11/site-packages/torch_npu/utils/storage.py", line 48, in _cpu
return fake_tensor.cpu().untyped_storage()
^^^^^^^^^^^^^^^^^
RuntimeError: The Inner error is reported as above. The process exits for this inner error, and the current working operator name is Identity.
Since the operator is called asynchronously, the stacktrace may be inaccurate. If you want to get the accurate stacktrace, please set the environment variable ASCEND_LAUNCH_BLOCKING=1.
Note: ASCEND_LAUNCH_BLOCKING=1 will force ops to run in synchronous mode, resulting in performance degradation. Please unset ASCEND_LAUNCH_BLOCKING in time after debugging.
[ERROR] 2026-05-30-10:43:23 (PID:2519695, Device:0, RankID:-1) ERR00100 PTA call acl api failed.
EZ9999: Inner Error!
EZ9999[PID: 2519695] 2026-05-30-10:43:23.277.001 (EZ9999): ChooseCompileInfo Failed[FUNC:Classify][FILE:transdata_dsl.cc][LINE:704]
TraceBack (most recent call last):
Autotiling func failed[FUNC:AutoTilingRun][FILE:auto_tiling_rt2.cc][LINE:109]
op[trans_TransData_5], call DoTiling failed[FUNC:TransDataDSLTiling][FILE:trans_data.cc][LINE:878]
op[trans_TransData_5], call DoTiling failed[FUNC:Tiling4TransData][FILE:trans_data.cc][LINE:977]
[Exec][Op]Execute op failed. op type = Identity, ge result = 4294967295[FUNC:ReportCallError][FILE:log_inner.cpp][LINE:148]

likedislike
wangchao285成员
5月30日 评论:

问题3:部分数据采集失败,怀疑tensor format原因
image.png

likedislike
wangchao285成员
6月1日 评论:

问题3:部分数据采集失败,怀疑tensor format原因
image.png

@wangchao285

手动修改代码,增加format转换解决

likedislike
Wwangchao285成员
6月2日 修改了issue 的描述
wangchao285成员
6月2日 评论:

问题4:目前工具最新包,采集mix级别数据,数据量很小,例如npu_group_matmul没采到。所以没报错

likedislike
Kkun_8成员
6月3日 将 jianchaoj 设为负责人
jiangchao成员
6月13日 评论:

前提:
MOE层的专家权重为NZ私有格式,对该权重调用float、max、clone等API进行统计量计算或落盘时,会先尝试申请一块较大内存Tw,再自动调用TransData算子尝试将其转换为float等API支持的数据格式,但因为某种原因TransData会抛出tiling异常。

OOM报错原因:
(1)Tw大于Free Memory。
(2)当Tw小于Free Memory,且TransData Tiling异常被工具捕获,未中断推理时,异步模式(ASCEND_LAUNCH_BLOCKING=0)下,TransData算子执行失败过程中的脏内存会传递到下游,发生内存踩踏。如果repeat_interleave的入参被污染为非常大的值,则会申请一块异常大的内容。

Tensor维度为负数的原因:
当Tw小于Free Memory,且TransData Tiling异常被工具捕获,未中断推理时,异步模式(ASCEND_LAUNCH_BLOCKING=0)下,TransData算子执行失败过程中的脏内存会传递到下游,发生内存踩踏。如果repeat_interleave的入参被污染为负数,则会产生Tensor维度为负数的异常报错。
(将ASCEND_LAUNCH_BLOCKING设为1后,推理过程也能正常完成)

解决方案:
不采集NZ格式数据。

likedislike
Jjiangchao成员
6月15日 关联了pull request:Avoid tensors with NZ format
jiangchao成员
6月16日 评论:

/label add resolved

likedislike
ascend-robotascend-robot成员
6月16日 添加了label:resolved
jiangchao成员
6月16日 评论:

前提:
MOE层的专家权重为NZ私有格式,对该权重调用float、max、clone等API进行统计量计算或落盘时,会先尝试申请一块较大内存Tw,再自动调用TransData算子尝试将其转换为float等API支持的数据格式,但因为某种原因TransData会抛出tiling异常。

OOM报错原因:
(1)Tw大于Free Memory。
(2)当Tw大于Free Memory,且TransData Tiling异常被工具捕获,未中断推理时,异步模式(ASCEND_LAUNCH_BLOCKING=0)下,TransData算子执行失败过程中的脏内存会传递到下游,发生内存踩踏。如果repeat_interleave的入参被污染为非常大的值,则会申请一块异常大的内容。

Tensor维度为负数的原因:
当Tw大于Free Memory,且TransData Tiling异常被工具捕获,未中断推理时,异步模式(ASCEND_LAUNCH_BLOCKING=0)下,TransData算子执行失败过程中的脏内存会传递到下游,发生内存踩踏。如果repeat_interleave的入参被污染为负数,则会产生Tensor维度为负数的异常报错。
(将ASCEND_LAUNCH_BLOCKING设为1后,推理过程也能正常完成)

解决方案:
不采集NZ格式数据。

@jianchaoj

fixed by #795

likedislike
ascend-robot
ascend-robot成员
6月23日 评论:

您好,当前Issue标记为resolved且有一段时间未进一步更新,因此我们将其标记为'stale'(闲置)状态。若您认为这是误操作,可通过添加任意评论来去除'stale'标签。标记为stale的Issue在4天内无更新活动将自动关闭。

likedislike
ascend-robotascend-robot成员
6月23日 添加了label:stale
捡到宝。捡到宝。成员
6月24日 issue状态由 TODO 改变为 DONE
捡到宝。捡到宝。成员
6月24日 关闭了 issue