离线推理全流程&模型调优

简介: 本指南详细介绍小模型推理方案,涵盖从模型转换到推理的全流程。包括ATC架构转换、ModelZoo-PyTorch指导文档、ONNX导出与优化、离线及在线推理等环节。特别针对Chinese_CLIP模型,提供上机操作指导,如模型支持度分析、onnx-sim简化、msit surgeon优化、AOE自动调优和模型压缩等步骤。

整体概述

小模型推理方案:

ATC转换架构图:

ModelZoo-PyTorch指导文档:https://gitee.com/ascend/ModelZoo-PyTorch/blob/master/ACL_PyTorch/docs/README.md

模型推理

离线推理

导出Onnx

参考链接:ONNX的导出

Onnx转om

参考链接1:Onnx转Om
参考链接2:ATC工具介绍

离线推理

参考链接:离线推理

Chinese_CLIP上机操作

Chinese_CLIP模型介绍

参考链接

传统模型基于昇腾迁移适配全流程

模型支持度分析

msit analyze

使用onnx-sim对onnx模型进行简化

export bs=24
onnxsim models/vit-b-16.txt.fp32.onnx models/vit-b-16.txt.fp32.bs${bs}.sim.onnx --overwrite-input-shape "text:${bs},512"


Simplifying...
Finish! Here is the difference:
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃             ┃ Original Model ┃ Simplified Model ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ Add                │ 122            │ 122              │
│ Cast               │ 4              │ 1                │
│ Concat             │ 48             │ 0                │
│ Constant           │ 532            │ 207              │
│ ConstantOfShape    │ 1              │ 0                │
│ Div                │ 24             │ 24               │
│ Equal              │ 1              │ 1                │
│ Erf                │ 12             │ 12               │
│ Expand             │ 1              │ 0                │
│ Gather             │ 101            │ 2                │
│ LayerNormalization │ 25             │ 25               │
│ MatMul             │ 97             │ 97               │
│ Mul                │ 25             │ 25               │
│ Not                │ 1              │ 1                │
│ Range              │ 1              │ 0                │
│ Reshape            │ 48             │ 48               │
│ Shape              │ 99             │ 0                │
│ Softmax            │ 12             │ 12               │
│ Sub                │ 1              │ 1                │
│ Transpose          │ 48             │ 48               │
│ Unsqueeze          │ 99             │ 1                │
│ Model Size         │ 392.3MiB       │ 461.4MiB         │
└────────────────────┴────────────────┴──────────────────┘

使用msit surgeon使能onnx模型基于昇腾芯片的优化(onnx->onnx)

msit surgeon功能指导:链接

  • msit surgeon安装
    # 安装
    msit install surgeon 
    # 检查安装是否成功
    msit surgeon check
    
  • 了解什么是知识库:链接

  • 各个命令的使用示例

模型转换(onnx->om)

atc工具使用指导:链接

AOE自动调优(onnx->om)

使用指导:链接

模型压缩:

官方指导文档:链接

离线推理

Chinese_CLIP模型推理指导

ais_bench使用安装:链接

推理执行:

在线推理

  • torch_npu单算子推理:
    开源样例 vs torch_npu适配版本
执行在线推理:
![](https://img2024.cnblogs.com/blog/3579592/202506/3579592-20250620160735927-758105881.png)


**跑了一把cpu版本和npu版本,发现最后返回logits有差异,需要进一步做精度对齐分析。**
  • torchair图模式推理:
    参考modelzoo适配:链接

    开源样例 vs torchair适配版本

执行推理:
![](https://img2024.cnblogs.com/blog/3579592/202506/3579592-20250620160905376-95291339.png)

报错整理

  • git clone 报错
    解决方案:export GIT_SSL_NO_VERIFY=1

```

  • No module named 'auto_optimizer'
    auto_optimizer是昇腾基于onnx的改图工具,需要安装msit install surgeon即可。
  • 执行msit debug compare报错
    比对结果输出路径要先创建出来
相关文章
|
9月前
|
编解码 人工智能 JSON
飞桨x昇腾生态适配方案:10_ONNX转OM
本章节主要介绍如何将ONNX模型转化为昇腾AI处理器支持的OM模型,并进行离线推理。通过昇腾张量编译器(ATC),可实现静态OM、动态BatchSize、动态分辨率、动态维度及动态shape等多种模型转换。文中详细说明了ATC工具的使用方法、参数配置、命令格式以及常见问题解决方法,同时提供了具体示例和可视化工具辅助输入参数确认,帮助用户高效完成模型转换与部署。
1956 0
|
7月前
|
消息中间件 存储 Java
第15课: Spring Boot中集成ActiveMQ
第15课: Spring Boot中集成ActiveMQ
565 0
|
12月前
|
机器学习/深度学习 文字识别 自然语言处理
分析对比大模型OCR、传统OCR和深度学习OCR
OCR技术近年来迅速普及,广泛应用于文件扫描、快递单号识别、车牌识别及日常翻译等场景,极大提升了便利性。其发展历程从传统方法(基于模板匹配和手工特征设计)到深度学习(采用CNN、LSTM等自动学习高级语义特征),再到大模型OCR(基于Transformer架构,支持跨场景泛化和少样本学习)。每种技术在特定场景下各有优劣:传统OCR适合实时场景,深度学习OCR精度高但依赖大量数据,大模型OCR泛化能力强但训练成本高。未来,大模型OCR将结合多模态预训练,向通用文字理解方向发展,与深度学习OCR形成互补生态,最大化平衡成本与性能。
|
8月前
|
缓存 PyTorch 算法框架/工具
离线推理精度问题分析
传统模型迁移到昇腾设备上出现了精度问题,介绍精度问题的定位方法和解决方案,重点介绍了精度问题的定位定界方法。
离线推理精度问题分析
|
7月前
|
存储 人工智能 Java
Springboot集成AI Springboot3 集成阿里云百炼大模型CosyVoice2 实现Ai克隆语音(未持久化存储)
本项目基于Spring Boot 3.5.3与Java 17,集成阿里云百炼大模型CosyVoice2实现音色克隆与语音合成。内容涵盖项目搭建、音色创建、音频合成、音色管理等功能,适用于希望快速掌握Spring Boot集成语音AI技术的开发者。需提前注册阿里云并获取API Key。
|
8月前
|
atlas 开发者 容器
搞定昇腾软件版本配套问题
开发者拿到一个裸机环境,如800I A2/800T A2, 或Atlas 800 3000推理服务器(里面插了Iduo卡),需要用户根据OS版本去安装配套的固件驱动、Mind系列软件等。
搞定昇腾软件版本配套问题
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
700 5
|
分布式计算 监控 大数据
如何处理 Spark 中的倾斜数据?
【8月更文挑战第13天】
830 4