跳到主内容
快讯直播
AI智模界
AI 词典

激活离群值:少数通道为何拖垮量化

一句话定义:激活离群值(Outlier Features)是指在神经网络某一层的激活向量(activation vector)里,少数几个维度上的数值远大于其余维度,并且这些维度在几乎所有输入上都稳定偏大。

原理:班里那个"异常考生"

Transformer 每层输出的激活是一个几千维的向量,维度数等于隐藏层宽度(hidden size)。理想情况下各维度数值比较均匀,但实际总有那么几个维度,取值比邻居高出几十倍甚至上百倍。打个比方:全班五十个学生分数都在 60 到 90 之间,突然有一位考了 900 分。他不是出错,而是模型在预训练中学会了用这几个"专用通道"承载通用信号,比如强烈的语义标记、高频连接词、全局上下文强度。它是模型学到的结构,不是随机噪声。

为什么它让量化掉点

量化(AI 词典:Quantization">Quantization)把浮点数压成低位宽整数,需要先定一个缩放因子(scale)。最朴素的做法,是让张量里的最大值映射到整数能表示的最大值。问题就出在这里:最大值被离群值撑到 900,正常的 60 到 90 就被挤进整数格子最底下几格,分辨率被吃光——相当于拿一台量程 1 吨的地磅去称几克盐,读数只剩个"零"。

LLM.int8() 的处理思路

LLM.int8() 的办法是分而治之:把矩阵乘法拆成两路。超过经验阈值的离群维度用 FP16 单独计算,其余绝大多数普通维度走 INT8,最后把两路结果相加。因为离群特征只集中在极少数固定通道上,单独照顾它们的开销很小,却换回了几乎无损的精度。这就是混合精度分解(mixed-precision decomposition)的经典用法。

概念特点常见处理
激活离群值运行时动态产生,集中在少数固定通道拆分出来走高精度
权重离群值静态,可离线统计per-channel scale、裁剪
激活尖峰个别 token 上的偶发极大值逐 token 动态量化
长尾分布整体分布形态偏斜用校准数据集调优

对不同人的意义

做量化和推理部署的工程师:动手前先看激活的直方图和逐通道最大值,别只盯平均误差,保留少数通道的高精度往往是性价比最高的一步。研究模型结构的人:离群通道的位置与注意力头、层归一化的关系,是理解模型内部表征的一个切口。普通使用者:模型能不能压得更小、跑在更便宜的硬件上,很大程度上取决于这类"少数派"问题处理得好不好。各框架的具体支持方式和参数,以官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。