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

量化分组大小:同样 4-bit,模型为什么有的聪明有的变笨

一句话定义:量化分组大小(Group Size)指的是在做模型量化时,把多少个权重划成一组,让这一组共用同一套缩放参数(scale,有时还包括零点 zero-point)。

为什么需要“分组”

量化会把原本用 16 位浮点(fp16)存放的权重,压成 4 位整数(int4)这类低精度格式。但整数值本身没有意义,必须再配一个 scale,把它“放大”回接近真实的数值。问题在于:一个 scale 能覆盖的范围是有限的,一旦组里出现数值特别大的权重,也就是离群值(outlier),scale 就会被撑大,组内其他正常权重的分辨率随之被压扁。

打个比方:给一个班量身高,全班共用一把刻度很粗的尺子。因为班里有位两米多的篮球特长生,量程被拉到最大,一米六二和一米六八的两个人,读出来都是“一米六”。如果把全班拆成几个小组,每组单独配一把尺子,刻度就能细很多。分组大小,就是“一组几个人”。

代价在哪

尺子不是白送的,每组都要额外存一份 scale。用 fp16 存一个 scale 占 16 位,摊到 32 个权重上,相当于每个权重多花 0.5 位,实际变成 4.5 位;摊到 128 个权重上只多 0.125 位。所以组不是越小越好,而是在“精度”和“额外开销”之间换。

和相邻概念的区别

概念管的是什么直观理解
位宽(bit width)每个权重占几位总共多少预算
分组大小(group size)多少权重共用一套 scale几个人合用一把尺子
每通道(per-channel)每个通道一套 scale细分到“每条流水线”
每张量(per-tensor)整个权重矩阵一套 scale全公司共用一把尺子

分组本质上是 per-tensor 和 per-channel 之间的折中:比 per-tensor 精细得多,又不像 per-channel 那样在通道数很多时开销失控。

对从业者的实际意义

第一,看到“4-bit”别默认都一样。同为 4-bit,分组 32 和分组 128 是两个质量档位,小模型和数值敏感的任务上差距会更明显。

第二,显存占用几乎不受影响,因为 scale 摊薄后只占几个百分点,但推理速度可能受影响:组越细,反量化(dequantize)的计算和访存越碎,某些推理框架对特定分组大小支持更好。

第三,挑模型文件或做量化配置时,先看模型卡里写的量化方案(位宽 + 分组大小 + 是否只量化部分层),再决定要不要为了省一点显存去换质量。具体支持哪些组合,以所用工具链和模型的官方页面为准。

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