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

简介: 本指南详细介绍小模型推理方案,涵盖从模型转换到推理的全流程。包括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报错
    比对结果输出路径要先创建出来
相关文章
|
API Python
飞桨x昇腾生态适配方案:13_API离线推理
ais_bench 提供了基于昇腾硬件的 Python API,用于离线模型(.om模型)推理。支持静态与动态API场景,如单个或多个OM模型推理。通过 `InferSession` 类加载模型并执行推理,可灵活处理输入输出形状转换。示例代码涵盖图片读取、形状调整、多模型串联推理及资源释放等操作,满足多样化推理需求。
909 26
|
8月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
2586 7
|
2月前
|
人工智能 弹性计算 JavaScript
【AI拆单提效实战】一张CAD图纸10秒出BOM,工厂拆单神器已上线阿里云!
【AI拆单提效实战】专为道具厂、定制家具厂打造的智能拆单工具,支持PDF/CAD上传,10秒自动识别板件与五金、修正错误、导出结构化BOM Excel,阿里云在线免费试用!
711 3
|
9月前
|
机器学习/深度学习 存储 自然语言处理
语义检索翻车?可能是你的Embedding模型没选对!
本文深入解析Embedding模型在RAG系统中的核心作用,涵盖其原理、类型、选型策略及实战建议。选对模型可显著提升语义检索准确性与效率,避免成本浪费。干货满满,值得收藏!
3436 52
|
8月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
2913 18
构建AI智能体:一、初识AI大模型与API调用
|
人工智能 物联网 开发者
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
Oumi 是一个完全开源的 AI 平台,支持从 1000 万到 4050 亿参数的模型训练,涵盖文本和多模态模型,提供零样板代码开发体验。
1688 43
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
|
编解码 人工智能 JSON
飞桨x昇腾生态适配方案:10_ONNX转OM
本章节主要介绍如何将ONNX模型转化为昇腾AI处理器支持的OM模型,并进行离线推理。通过昇腾张量编译器(ATC),可实现静态OM、动态BatchSize、动态分辨率、动态维度及动态shape等多种模型转换。文中详细说明了ATC工具的使用方法、参数配置、命令格式以及常见问题解决方法,同时提供了具体示例和可视化工具辅助输入参数确认,帮助用户高效完成模型转换与部署。
3425 0
|
人工智能 测试技术 API
飞桨x昇腾生态适配方案:11_静态OM推理
昇腾AI推理工具`ais_bench`基于ACL开发,支持命令行快速推理与性能测试(吞吐率、时延等),并提供相关API。用户需下载适配环境的`aclruntime`和`ais_bench`的whl包后通过pip安装。设置环境变量后,可通过多种场景使用工具:纯推理(默认输入全0数据)、调试模式(获取详细参数与耗时信息)、文件/文件夹输入(指定Numpy文件或目录)、以及多Device并行推理。例如,BERT模型需按顺序传入三个文件夹对应其输入参数。工具输出包括吞吐率、耗时等关键指标,助力高效模型性能评估。
1956 0