aliases:
- "LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale"
created_date: 2024-11-18
modified_date: 2024-11-19
Comments: 使用混合精度的量化方法
2024-11-18
大模型在学习过程中,参数大的情况下容易出现异常特征,在量化的过程里出现极端值,导致量化后丢失非异常值的信息。
于是,int8() 将输入的异常列和对应权重的一异常行提出来单独进行运算,将非异常的值进行量化后反量化,将异常值不进行量化计算,而是在 fp16 的精度下进行计算;
这里的量化是,对于激活输入,per-token 量化,对于权重,per-weight 量化
一些 int8() 算法的观察结果:
在 huggingface 的 Transformer 库有对应的 int8 优化方法,直接调用即可