离线推理性能问题分析

简介: 传统模型迁移到昇腾设备上出现了性能问题,介绍性能问题的定位方法和解决方案,重点介绍了性能问题的定位定界方法。

概述

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

性能问题背景

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

推理e2e耗时

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

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

性能优化目标

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

性能分析

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

性能数据采集

  • 方式1:使用ais_bench采集profiling
    python -m ais_bench --model ./resnet50_bs1.om --output `pwd`/performance_test --profiler 1
    
    1749719128767_image.png
  • 方式2:使用msprof工具采集
    msprof --output=./msprof_out --application="python3 om_infer.py"
    
    1749719466828_image.png

性能数据文件分析

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

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

参考指导:链接

pip3 install msprof-analyze

msprof-analyze advisor all -d ./msprof_out/

1749720271282_image.png

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

参考指导:链接

优化方案

参考文档:性能优化

相关文章
|
4月前
|
缓存 PyTorch 算法框架/工具
离线推理精度问题分析
传统模型迁移到昇腾设备上出现了精度问题,介绍精度问题的定位方法和解决方案,重点介绍了精度问题的定位定界方法。
离线推理精度问题分析
|
人工智能 自然语言处理 数据库
AI - RAG架构
AI-RAG架构
591 0
|
4月前
|
前端开发 开发工具 C++
离线推理全流程&模型调优
本指南详细介绍小模型推理方案,涵盖从模型转换到推理的全流程。包括ATC架构转换、ModelZoo-PyTorch指导文档、ONNX导出与优化、离线及在线推理等环节。特别针对Chinese_CLIP模型,提供上机操作指导,如模型支持度分析、onnx-sim简化、msit surgeon优化、AOE自动调优和模型压缩等步骤。
离线推理全流程&模型调优
|
4月前
|
物联网 容器
基于llama-factory的昇腾实战
基于llama-factory的昇腾全流程实践,包括环境的安装、推理部署、微调、动态Lora和对话。
基于llama-factory的昇腾实战
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek vs. ChatGPT:大语言模型的技术分野与应用边界全解析
DeepSeek更适合中文环境下对语言理解和生成准确性要求高、专业领域内容生成需求大,以及对成本敏感、实时性要求高和硬件资源有限的场景。ChatGPT则更适合需要处理多种语言,尤其是以英文等西方语言为主,以及对创意写作、开放域对话有需求,对成本和实时性要求不高且有强大硬件支持的场景。两款模型各有侧重,用户可根据具体需求选择最适合的工具。
|
4月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
|
4月前
|
文字识别 监控 Java
顺丰同城抢单辅助脚本,顺丰骑士抢单辅助免封号,自动抢单神器【java版开源】
这是一套OCR实时检测订单列表并自动右滑的完整代码方案,适用于学习研究。代码包含四个主要模块:OCR处理(文字识别)、价格分析
|
5月前
|
人工智能 测试技术 API
飞桨x昇腾生态适配方案:11_静态OM推理
昇腾AI推理工具`ais_bench`基于ACL开发,支持命令行快速推理与性能测试(吞吐率、时延等),并提供相关API。用户需下载适配环境的`aclruntime`和`ais_bench`的whl包后通过pip安装。设置环境变量后,可通过多种场景使用工具:纯推理(默认输入全0数据)、调试模式(获取详细参数与耗时信息)、文件/文件夹输入(指定Numpy文件或目录)、以及多Device并行推理。例如,BERT模型需按顺序传入三个文件夹对应其输入参数。工具输出包括吞吐率、耗时等关键指标,助力高效模型性能评估。
253 0
|
10月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
310 3
|
Linux Docker 容器
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
841 0