一句话定义
激活值量化(Activation Quantization) 指把神经网络每一层实际输出的数值(激活值)也压成低位整数,而不只是压缩静态的权重。
很多「模型量化」的讨论只讲权重,但真正决定一个模型能不能跑到 4 位甚至更低精度的,往往是激活值这一侧。
为什么它更难
| 权重 | 激活值 | |
|---|---|---|
| 数值范围 | 训练完就固定,可以离线统计 | 随输入变化,只能估计 |
| 是否依赖数据 | 不依赖 | 强烈依赖 |
| 离群值 | 少 | 常见,一个离群值能把整层范围撑大 |
关键难点是离群值:某一层的激活值里偶尔冒出一个很大的数,为了不把它截断,整层的取值范围被迫放大,结果是绝大多数正常数值都被挤到很粗的格子里,精度就掉了。
常见做法
- 分组量化:把激活值切成小组,每组用自己的缩放系数。小组内数值分布更集中,离群值影响被限制在小范围内。
- 按通道 / 按张量:粒度越粗越省,越细越准。
- 混合精度:敏感层保高精度,其余压低。
一个容易被忽略的约束
分组越细,精度通常越好,但硬件不一定跑得更快。 很多端侧推理后端对「每组一个缩放系数」这类做法没有高效算子支持,实际落地时反而变慢或算不了。所以论文里的「硬件友好」是个真实门槛,不是修辞。
参考
低比特量化在具体模型上的进展可参考 arXiv 论文 Hardware-Friendly Token-Group Activation Quantization for Low-Bit Mamba Super-Resolution(编号 2610.16261),讨论的正是激活值分组与硬件友好性。
相关词条
火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。