Note_ Ternary Quantization: A Survey

Dan Liu , Xue Liu
2023
arXiv

这篇文章主要从映射函数(projection function)和优化函数(optimization function)的角度对现有的三元量化技术进行梳理总结:

  • projection:如何定义三元量化的形式
  • optimization:如何对上述定义中的参数进行优化求解,并进行模型权重更新

三元神经网络可以定义为:
y = ϕ ( w ^ T x ) , \mathbf{y}=\phi(\mathbf{\hat{w}}^T\mathbf{x}), y=ϕ(w^Tx),其中, w ^ \mathbf{\hat{w}} w^ 表示三元权重,定义为:
w ^ = Q ( w ) = { 1 : w > Δ 0 : ∣ w ∣ ≤ Δ − 1 : w < − Δ s . t .   w ^ ∈ w ^ , w ∈ w . \hat{w}=Q(w)=\begin{cases} 1&:w>\Delta\\ 0&:|w|\leq \Delta\\ -1&:w<-\Delta \end{cases}\\ s.t.~ \hat{w}\in\mathbf{\hat{w}},w\in\mathbf{w}. w^=Q(w)= 101:w>Δ:wΔ:w<Δs.t. w^w^,ww.其优化目标定义为:
argmin w , α J ( w ) = ∥ w − α w ^ ∥ 2 . \text{argmin}_{\mathbf{w},\alpha}J(\mathbf{w})=\|\mathbf{w}-\alpha\mathbf{\hat{w}}\|_2. argminw,αJ(w)=wαw^2.

一、Projection Function

和之前根据“deterministic/stochastic”不同,本文根据向前传播中权重的状态进行分类(本质是量化函数是否可微)。

1. Direct projection

需要考虑的关键问题是:

  1. 梯度如何计算;
  2. 相关参数, α , Δ \alpha,\Delta α,Δ 如何求解

相比于 indirect projection,优劣势如下:

  • 优势:直接映射实现简单
  • 劣势:non-differentiability不可微性

1.1 Direct projecting

最初的映射函数定义,即TWN等。

1.2 Weight Grouping

本质思想:最初对部分(portion)权重进行量化,然后逐步增大量化比例。

优劣势:
优势:这种方式可以减少三元权重和全精度权重之间的误差,增加梯度计算的精度;
劣势:压缩不彻底

这种误差与全精度和普通三元量化的关系表示为:
∥ y − x T w ∥ 2 2 ≤ ∥ y − x T ( r w + ( 1 − r ) Q ( w ) ) ∥ 2 2 ≤ ∥ y − x T Q ( w ) ∥ 2 2 , \|\mathbf{y}-\mathbf{x}^T\mathbf{w}\|_2^2\leq\|\mathbf{y}-\mathbf{x}^T\left(r\mathbf{w}+(1-r)Q(\mathbf{w})\right)\|_2^2\leq\|\mathbf{y}-\mathbf{x}^TQ(\mathbf{w})\|_2^2, yxTw22yxT(rw+(1r)Q(w))22yxTQ(w)22,其中, r r r 控制着量化比例。

可参考文献:[4,5,8,12,23,24,26,34,42,54,64]。

1.3 Weight Enlarging

本质思想:通过复制层权重或者增加层的宽度(添加冗余信息)的方式,来改善由量化引起的模型能力下降。

优劣势:
优势:改善由于量化引起的模型能力下降;
劣势:冗余信息的加入,增加了计算量和空间使用量

可参考文献 ;[7,19,20,51,59,62]

1.4 Stochastic Rounding

本质思想:在映射时添加随机项(均匀分布、伯努利分布、正态分布等),来减缓或消除模型 “unbiased discrete projection” 。

优劣势:
优势:可以减缓或消除模型 “unbiased discrete projection” ;
劣势:增加了随机采样过程,增加运行时间。

可参考文献:[1,18,20,23,32,36,63]

2. Indirect Projection

Indirect Projection 旨在尽可能地模型的量化过程在一个连续的空间中进行,这样可以绕过“Direct Projection”中存在的“不可微问题”。因此其优劣势可以概括为:

  • 优势:解决了“不可微问题”,使得模型向后传播过程中更加合理和准确;
  • 劣势:运行效率低

分类:

  • gradual discrete projection
  • stochastic discrete projection

2.1 Temperature Adjusting(gradual)

本质思想:在映射函数中引入 “temperature parameter”,例如 tanh ⁡ ( ⋅ ) , Sigmoid ( ⋅ ) \tanh(\cdot),\text{Sigmoid}(\cdot) tanh(),Sigmoid() 等。越高的 temperature,就会越接近阶梯函数。

优劣势:
优势:精度高;
劣势:训练十分耗时

可参考文献:[9,19,23,44,58]

2.2 Stochastic Sampling

本质思想:1)通过添加噪声使得离散空间再次连续化,从而促进优化;2)将stochastic projection从连续空间逐步转化为离散空间(??)。

优劣势:
优势:精度良好(??)
劣势:采样效率低,导致运行时间长

可参考文献:[9,21,38]

二、Optimization Methods

分类:

  • optimization-based
  • estimation-based,
  • greedy-search-based

另外,也可以利用知识蒸馏、添加损失项等方式来帮助优化过程。

Straight-Through Estimator(STE):
三元量化中,使用STE方式进行优化的过程可以概括为:
{ w ^ t : = P Q ( x ) = argmin ⁡ α , x ∈ Q ( x ) ∥ w − α x ∥ 2 , w t + 1 = w t − η t ∇ L ( w ^ t ) \begin{cases} \hat{w}_t:=P_Q(x)=\operatorname{argmin}_{\alpha,x\in Q(x)}\|w-\alpha x\|_2,\\ w_{t+1}=w_t-\eta_t\nabla L(\hat{w}_t) \end{cases} {w^t:=PQ(x)=argminα,xQ(x)wαx2,wt+1=wtηtL(w^t)

1. Direct Projection

Direct Projection 的量化过程通常包括参数 α , Δ \alpha,\Delta α,Δ,因此优化过程就是如何获得这两个参数的值。

优劣势:

  • 优势:计算直观、方便;
  • 劣势:没有解释参数 α , Δ , w \alpha,\Delta,\mathbf{w} α,Δ,w 之间的关系,同时对模型精度没有大的提升。

1.1 Estimation Based Methods

Estimation Based Methods根据优化全精度权重和三元梯度之间的欧式距离获得相应的参数。给定一个固定的 Δ \Delta Δ 值,可以得到 α \alpha α 的解析解。

优劣势:
优势:计算简单,一旦得到 Δ \Delta Δ 就可以得到 α \alpha α
劣势: Δ \Delta Δ 的值很难确定,导致 α \alpha α 的值计算不准确。

可参考文献:[10,30,45,51,58,62]

1.2 Optimization Based Methods

利用优化的技术,逐步得到 α , Δ \alpha,\Delta α,Δ 的值,例如TTQ[8]中 α \alpha α可以通过如下优化过程得到:
∂ J ∂ α ± = ∑ i = 1 n ± ∂ J ∂ w i ± . \frac{\partial J}{\partial \alpha^{\pm}}=\sum_{i=1}^{n^\pm}\frac{\partial J}{\partial w_i^{\pm}}. α±J=i=1n±wi±J.

优劣势:
优势:可以解决 α , Δ \alpha,\Delta α,Δ 计算不准确的问题;
劣势:增加了计算量(??)

可参考文献:[7,8(TTQ),23,24,33,43,45,59]

1.3 Greedy Search Based Methods

利用贪心策略在指定范围内搜索 α , Δ \alpha,\Delta α,Δ 的最优值。

可参考文献:[12,17,18,30,31,34,35,53,54,56]

2. Indirect Projection

Indirect Projection可以解决Direct Projection的劣势。

可参考文献:[6,15,25,32,36,38,49]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值