aiwiki icon indicating copy to clipboard operation
aiwiki copied to clipboard

MO Quantization

Open junxnone opened this issue 6 years ago • 0 comments

量化

  • Quantization - 量化
    • 嵌入式设备/移动设备 - 低计算能力/低内存/低存储空间/低功耗/...
    • 压缩参数/提升速度/降低内存占用/低计算单元占用面积
    • 精度损失
  • 浮点运算 --> 整型运算: float32 --> int8
  • 线性量化/非线性量化
  • 逐层/组/通道量化
  • 在线/离线量化
  • 比特量化
  • 权重/权重激活量化
  • OpenVINO INT8 Model

线性量化

  • $r = Round(S(q-Z))$
    • $q$: 原始 float32 值
    • $Z$: float32 数值的偏移量 Zero Point
    • $S$: float32 缩放因子 Scale
    • $Round$: 四舍五入或向上向下取整
    • $r$: 量化后的整数值
  • 对称量化/非对称量化

对称量化

  • 输入数据的 最大值/最小值 映射到 [-128, 127]
  • 输入数据,对应量化后的

image

非对称量化

  • 输入数据的 最大值/最小值 映射到 [0, 255]

image

非线性量化

Pipeline

  • 统计输入数据 Max/Min
  • 选择量化方法 int8/uint8 ...
  • 计算 Zero Point/Scale
  • 根据Data对模型进行量化
  • 验证量化模型性能, 若模型性能不好,则尝试不同的 Z/S 重复量化

Reference

junxnone avatar Oct 16 '18 02:10 junxnone