离线推理性能问题分析

举报
yd_294961020 发表于 2025/06/23 14:51:19 2025/06/23
【摘要】 传统模型迁移到昇腾设备上出现了性能问题,介绍性能问题的定位方法和解决方案,重点介绍了性能问题的定位定界方法。

概述

PTA性能调优参考指导:链接

性能问题背景

模型从GPU设备迁移到昇腾设备上进行推理时,模型的开箱性能差。

推理e2e耗时

infer_e2e_time = 数据加载时间 + 模型前向时间 + 模型后处理时间 + 通信时间 + 调度时间

  • 数据加载时间:模型在加载自身所需要的数据(如图片、视频和文本等)的时间,包括将数据从硬件存储设备读取到CPU(Central Processing Unit)中、CPU中数据的预处理(编解码等操作)、CPU数据放到Device上的时间。对于一些需要切分在若干张卡上的模型,数据加载还包括从数据加载卡广播到其他卡上的时间。
  • 模型前反向时间:深度学习模型Forward所需的时间。
  • 模型后处理时间:包括数据的后处理、数据同步等。
  • 通信时间:单节点时卡之间和多节点时节点之间的通信时间。由于PyTorch的特殊机制,在通信和计算可以并行的情况下,表示未被计算掩盖的通信时间。
  • 调度时间:模型从CPU的指令到调用NPU侧的核(Kernel)所需要的时间。

性能优化目标

  • 计算:算子性能优化、融合算子、AICPU转AICore等
  • 通信:通信占比是否合理
  • 调度:free占比尽可能小、计算掩盖调度时间等

性能分析

性能调优流程:性能数据采集-》算子层优化-》调度策略调整-》通信机制-》模型编译下发等

性能数据采集

python -m ais_bench --model ./resnet50_bs1.om --output `pwd`/performance_test --profiler 1

  • 方式2:使用msprof工具采集
msprof --output=./msprof_out --application="python3 om_infer.py"

性能数据文件分析

各性能文件解析说明:链接

使用msprof-analyze工具分析性能数据

参考指导:链接

pip3 install msprof-analyze

msprof-analyze advisor all -d ./msprof_out/

使用MindStudio Insight可视化工具分析性能

参考指导:链接

优化方案

参考文档:性能优化

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。