什么是量化?
随着语言模型规模的不断增大,其训练的难度和成本已成为共识。而随着用户数量的增加,模型推理的成本也在不断攀升,甚至可能成为限制模型部署的首要因素。因此,我们需要对模型进行压缩以加速推理过程,而模型量化是其中一种有效的方法。
大语言模型的参数通常以高精度浮点数存储,这导致模型推理需要大量计算资源。量化技术通过将高精度数据类型存储的参数转换为低精度数据类型存储,可以在不改变模型参数量和架构的前提下加速推理过程。这种方法使得模型的部署更加经济高效,也更具可行性。
浮点数一般由3部分组成:符号位、指数位和尾数位。指数位越大,可表示的数字范围越大。尾数位越大、数字的精度越高。量化可以根据何时量化分为:后训练量化和训练感知量化,也可以根据量化参数的确定方式分为:静态量化和动态量化。
PTQ
后训练量化(PTQ, Post-Training Quantization)一般是指在模型预训练完成后,基于校准数据集(calibration dataset)确定量化参数进而对模型进行量化。
GPTQ
GPTQ(Group-wise Precision Tuning Quantization)是一种静态的后训练量化技术。"静态"指的是预训练模型一旦确定,经过量化后量化参数不