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)=⎩
⎨
⎧10−1:w>Δ:∣w∣≤Δ:w<−Δs.t. w^∈w^,w∈w.其优化目标定义为:
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
需要考虑的关键问题是:
- 梯度如何计算;
- 相关参数, α , Δ \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,
∥y−xTw∥22≤∥y−xT(rw+(1−r)Q(w))∥22≤∥y−xTQ(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α,x∈Q(x)∥w−αx∥2,wt+1=wt−ηt∇L(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=1∑n±∂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]