APoT量化

1.核心原理

可加性2的N次幂(APoT)量化,感觉容易被量化二字迷惑,其实用离散化更好,就是之前连续的浮点数被固定的level的浮点数替代,并且间隔(interval)是非均匀(non-uniform)的。

非均匀量化的好处是因为weights和activations数值分部都是“钟形”曲线,越靠近mean值的地方数据越密越小,也需要更细粒度的表示,如下图:

均匀量化 vs 非均匀量化:

文中给出的PoT公式如下:

所以b=4,离散值为{ {0, pm2^{-7}, pm2^{-6}, pm2^{-5}, pm2^{-4}, pm2^{-3}, pm2^{-2}, pm2^{-1}, pm1} }。量化的意思是把weights和activations中的浮点值用这17个值替代,但还是浮点数。不过上面的浮点数比较特殊是2的N次幂,所以硬件上可以通过移位取代乘法来加速。

这个跟韩松当年用kmeans来聚类 2^{N} 个浮点数不一样。这些浮点数是根据的公式生成的。

2.优化思路

2.1 APoT

根据PoT的公式,bitwidth加大,只会增加零值附近的表示精度,很浪费。所以原文把数据表示成多个PoT的加法。公式如下:

如果b=4, k=2, n=2得到2个PoT,如下:

p0 in left{ {0, 2^{0}, 2^{-2}, 2^{-4}} right}, p1 in left{ {0, 2^{-1}, 2^{-3}, 2^{-5}} right}, gamma = 2alpha/3

所以得到16个离散值如下{0.0000, 0.3333, 0.6667, 0.0833, 0.0208, 1.0000, 0.7500, 0.6875, 0.1667,0.5000, 0.2500, 0.1875, 0.0417, 0.3750, 0.1250, 0.0625}。

如果按照之前的PoT公式,最细粒度的浮点数是 pm2^{-2^{4-1} + 1} = pm2^{-7}

2.2 RCF(重参数化的截断函数)

相较于直接把 w直接截断到[ -alpha,alpha ],利用下面的函数截断。

好处是不仅当|w| > alpha 有梯度,|w| <= alpha 也有梯度,具体如下:

2.3 权重归一化

weight跟clipping value alpha 联合训练比较困难,就是把weight先进行归一化处理,剪去均值除以标准差。

3.关于加速

所以非均匀量化,权重激活还是浮点值,计算时没有特殊的硬件支持是不会有加速的。

发表回复

相关推荐

故事我国又收回一块领土,被占70年,现在3560人全部加入中国籍!

在《辛丑条约》签订之后,清朝政府不得不在内外压力下接连退让。在这种近乎屈辱的割地赔款中,清政府付出了沉重的代价,包括 ...

· 3分钟前

孕吐吐血怎麼辦 | 妊娠劇吐視頻會診

沈女士,33歲,這次打算生二胎,此次是她第二次懷孕。第一次懷孕的時候她吐得非常嚴重!基本上一直吐到生。6年前她剖腹產生瞭...

· 6分钟前

河流、河口和三角洲

什么是河流、河口和三角洲? 陆地上通过降雨、降雪和地下水产生的绝大多数淡水最终到达海洋。这些水通过溪流和河流向下流动 ...

· 6分钟前

搬家祝福语大全,这几条真的有用

搬新家是一件非常值得庆祝的一件事,在亲友搬家的时候能够说几句吉祥话,既能拉近彼此的距离,搬新家的人心里也更开心。最近 ...

· 10分钟前

建筑单体设计与节能

一、建筑物体形与节能 1、体形系数定义:建筑物与室外大气接触的外表面积与其所包围的体积的比值。外表面积中,不包括地面和 ...

· 10分钟前