大模型量化2

https://arxiv.org/pdf/2208.07339.pdf

论文题目: LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

第二章: 基础知识:

  2.1  8bit的数据和量化

  绝对值量化:

   我们直接看公式. 就是很平凡的一个矩阵, 除以最大值然后乘以127. 让范围到[-127,127]. 后面两个等号也就是等价表述. 无穷范数的定义就是max

   零点量化:

   大概意思就是放射变换, 但是感觉他公式有问题.

 3. int8乘法:

 向量外积:

  https://baike.baidu.com/item/%E5%A4%96%E7%A7%AF/4743897?fr=aladdin

 

   这里面论文里面公式又写错了, 到处错误居然还发表了.神奇.

  $C_x$属于$R^b$才是对的, 这里根本就没有s这个变量.

  总结一下这个.就是两个矩阵AB相乘等于A行量化, B列量化. 再乘.

 3.2 混合精度分解: int8算法的核心.

  可能这里才是算法核心吧. 所以其他地方笔误非常多.

  首先概念是outlier 和inner. 绝对值大于一个阈值的叫outlier. 否则叫inner. 

 核心算法就是这个公式了.  8这个公式是忽略了交叉项. 这里面的说法是: outliers的分布是对称的对于s和h. 所以两个矩阵交叉项的乘机非常小.

爱因斯坦求和记号比较常用.就是sigama符号里面的进行求和而已.

参考: https://huggingface.co/blog/hf-bitsandbytes-integration

上面一块是8bit乘法, 下面是普通矩阵乘法. 结果再相加即可.

 

 

原始矩阵右边是

-1  0

2   0

0   -2

3  -2

-1  2

原始矩阵左是这个. 按照列找 2,4 列太大.抽出来之后

右边矩阵也抽出2,4 行. 

之后就变成上面的图片里面的2个矩阵部分了.

 

 

 

 

 

 

 

 

 下一篇我们读:

https://huggingface.co/blog/4bit-transformers-bitsandbytes

这篇博客比较新. 开始读这个. 看不了的童鞋FQ试试.

 

posted on 2023-10-02 17:24  张博的博客  阅读(60)  评论(0编辑  收藏  举报

导航