当前位置: 首页 > news >正文

支持AVX2指令的计算机,ONNX推理量化模型比推理浮点模型慢?

在 AVX2 平台上,ONNX Runtime 对模型进行 INT8 量化推理时反而比原始的 FP32 推理更慢,主要归因于以下几方面的原因:

概览
虽然 INT8 量化能显著减少模型体积和内存带宽需求,但是在 AVX2 这种不支持专用 8 位乘法指令、量化算子实现尚不成熟的架构上,却会因为额外的量化/反量化(Q/DQ)开销、缺乏指令级加速以及算子融合不到位等原因,导致整体吞吐量低于高度优化的 FP32 路径。下面逐项展开分析。

1. 量化/反量化(Q/DQ)开销

  • QDQ 格式与 Operator 格式
    ONNX Runtime 的静态量化常用两种表示格式:Tensor-Oriented(QDQ)和 Operator-Oriented(QOperator)。前者会在每个算子前后插入 QuantizeLinear/DequantizeLinear 节点,导致每次运算都要做一次数据类型转换;后者虽然算子本身有量化版本,但并未对所有算子都提供高效实现 。
  • 动态量化参数计算
    动态量化会在推理过程中实时调用 ComputeQuantizationParametersÿ

相关文章:

  • 基于javaweb的SSM教材征订与发放管理系统设计与实现(源码+文档+部署讲解)
  • 携程-酒旅-数据研发面经【附答案】
  • go语言中defer使用指南
  • 逻辑思维:从混沌到秩序的理性推演在软件开发中的应用
  • 使用Nacos 打造微服务配置中心
  • Go语言之sync包 WaitGroup的使用和底层实现
  • 文件操作函数
  • 基于cubeMX的hal库STM32实现硬件IIC通信控制OLED屏
  • 汽车VIN码识别:解锁汽车行业的智能密码
  • Spark-SQL 项目
  • 爬虫(requests库,logging库)
  • react 父子组件通信 子 直接到父, 父 forwardref子
  • window上 elasticsearch v9.0 与 jmeter5.6.3版本 冲突,造成es 启动失败
  • 关于在Springboot中设置时间格式问题
  • Git -> Git 所有提交阶段的回滚操作
  • 测试-时间规模化定律可以改进世界基础模型吗?
  • [Java · 铢积寸累] 数据结构 — 二维数组 - 概念引入
  • 【YOLOv8-pose部署至RK3588】模型训练→转换RKNN→开发板部署
  • docker保存镜像到本地
  • AutoJs相关学习
  • 广西北海市人大常委会副主任李安洪已兼任合浦县委书记
  • 中美正在就关税问题谈判甚至会达成协议?外交部:都是假消息
  • 2025年超长期特别国债24日首次发行
  • 舞剧《百合花》7月绽放,王安忆:这是送给母亲的一份礼物
  • 特朗普激发加拿大爱国热情之下:大选提前投票人数创纪录,魁北克分离情绪被冲淡
  • 这场宣介会,重庆市委书记和中联部部长同台为外宾答疑解惑