Visual Prompting Upgrades Neural Network Sparsification: A Data-Model Perspective
- 论文链接:https://openreview.net/pdf?id=96nX9xIIx2
- 源码链接:https://github.com/UNITES-Lab/VPNs
简介
为了建立经济且轻量化的网络替代方案,模型压缩是一种工具,越来越受到欢迎。在压缩的大量研究中,模型剪枝是主要方法之一,目标是在不影响模型性能的情况下剪枝最不显著的权重。它通常在训练的收敛之后、训练过程中甚至在训练开始之前应用。由此产生的稀疏性范围从单个权重等细粒度元素到神经元、块和注意力头等粗粒度结构。大多数传统剪枝算法以模型为中心方式产生稀疏神经网络–分析架构拓扑,并通过学习参数化权重掩码或基于训练动态、架构属性计算代理启发式等捕获关键子集。
得益于大型语言模型的近期近战,以数据为中心的AI重新获得人们关注焦点。上下文学习和提示等技术构建设计良好的提示或输入模板,以增强LLM能力,并在各种任务中获得令人印象深刻的表现。它证明了这种以数据为中心的设计有效地提取和组合了学习模型中的知识,这可能是定位关键模型拓扑的一个很好的助手。然而以数据为中心的方法对网络稀疏化影响研究较少。据本文所致,只有一项研究Compress, then prompt: Improving accuracy-efficiency trade-off of llm inference with transferable prompt探索了学习剪枝后提示以恢复LLM可能性。本文关注另一个目标:
如何从数据模型角度利用提示更新视觉模型稀疏性。
请注意,视觉提示对稀疏视觉模型的影响仍然很神秘。此外与语言提示相比,视觉提示天生更难理解,通常在设计和学习方面都会带来更大的挑战。
为了回答上述研究问题,本文首先对稀疏视觉模型上现有的后剪枝提示进行了系统的初步研究。将剪枝后提示直接插入稀疏视觉模型并不一定能带来性能提升。为了释放稀疏视觉模型中视觉提示的能力,本文提出了一种数据模型协同设计范式,该范式在稀疏化过程中联合优化输入和稀疏模型。具体地,本文提出了VPN(视觉提示升级网络稀疏),它与参数化权重掩码共同训练视觉提示,探索高级子网络。
初步研究
动机
剪枝应该是一个更以模型为中心还是以数据为中心的过程,这个问题在该领域仍在争论。某些支持者认为剪枝是以模型为中心的过程,SynFlow等方法支持他们断言,尽管不适用任何真实数据传递,但提供了类似于密集网络的性能。然而,相当多的研究与此矛盾,强调了训练后剪枝技术优于先剪枝技术,从而阐明了剪枝对数据的依赖性。更为复杂的是,LLM兴起凸显了数据在NLP演化的核心作用。目标在提高LLM特定任务表现得新策略,如上下文学习和提示学习已经崭露头角。然而以数据为中心的设计在稀疏化中的确切作用仍然是一个探索不足的领域,值得进一步关注。
据本文所致,Compress, then prompt是唯一一项同时研究利用提示恢复压缩LLM的潜力的研究。这项研究阐明了剪枝后提示在提高压缩LLM性能方面的功效,包括手动设计和学习软提示。然而,VP对视觉模型稀疏化的影响是个谜,因为VP本质上更复杂,并且相当于文本对应在设计和学习方面提出了明显的挑战。为了揭开它的神秘面纱,本文首先研究了稀疏视觉模型上的剪枝后提示。实验在ImageNet-1k预训练的ResNet-18和CIFAR100上进行。实验中采用5中剪枝方法(Random、OMP、SNIP、SynFlow和HYDRA),以分析剪枝后提示在不同稀疏级别上性能。为了进行全面研究,本文将剪枝后提示应用于子网络微调和不微调的稀疏模型。如图1所示,本文发现,后剪枝提示只会在微调之前升级子网络,并通过微调给子网络带来边际收益。原因可能是,经过微调后,稀疏模型足够强大,为提示增强其性能留下空间较小。这两种设置都没有持续超过标准的无提示方法,即剪枝和微调。
本文方法
本节中提供了有关VPN的详细信息,其中包括1. 设计适当的视觉提示,2. 结合VPN以数据模型联合优化的方式升级视觉模型的稀疏训练。
设计合适的视觉提示
视觉提示提出用于解决在不修改任何特定任务的模型情况下将预训练的模型适应下游任务的问题。VP通过注入少量可学习参数修改输入图像。定义
D
=
{
(
x
1
,
y
1
)
,
…
,
(
x
n
,
y
n
)
}
\mathcal{D}=\{(x_{1},y_{1}),\ldots,(x_{n},y_{n})\}
D={(x1,y1),…,(xn,yn)}是普通的下游图像数据集。输入提示的一般形式是:
x
′
(
δ
)
=
h
(
x
,
δ
)
,
x
∈
D
=
{
(
x
1
,
y
1
)
,
…
,
(
x
n
,
y
n
)
}
x^{\prime}(\delta)=h(x,\delta),x\in \mathcal{D}=\{(x_{1},y_{1}),\ldots,(x_{n},y_{n})\}
x′(δ)=h(x,δ),x∈D={(x1,y1),…,(xn,yn)}
h
(
⋅
,
⋅
)
h(\cdot,\cdot)
h(⋅,⋅)是将
x
x
x和可学习扰动
δ
\delta
δ的融合。
x
′
x^{\prime}
x′是提示后的调整数据。
本文的VP设计首先将原始图像
x
x
x大小调整为特定输入大小
i
×
i
i\times i
i×i,并且0值将其填充到224x224。本文将该过程标记为
r
i
(
x
)
r^{i}(x)
ri(x),i是目标尺寸。随后,将
δ
\delta
δ的扰动参数初始化为224x224矩阵,并掩码其中一部分。可以通过屏蔽不同形状、位置和大小的参数来制作不同的视觉提示。在本文情况下,固定掩码是一个正方形矩阵,左四个外围分割可以调整。这种扰动设计与Exploring visual prompts for adapting large-scale models中pad prompt设计类似,标记为p的每个外围边宽度称为pad尺寸。最后VPN输入提示操作描述如下:
x
′
(
δ
)
=
h
(
x
,
δ
)
=
r
i
(
x
)
+
δ
p
x^{\prime}(\delta)=h(x,\delta)=r^{i}(x)+\delta^{p}
x′(δ)=h(x,δ)=ri(x)+δp
通常i+2p大于输入样本大小(如224),以重复跟利用所有样本像素。
用视觉提示升级网络稀疏化
给定输入提示公式,VP试图通过可调整
p
p
p来提高预训练源模型
f
θ
p
r
e
f_{\theta_{pre}}
fθpre的下游任务性能。这里
θ
p
r
e
\theta_{pre}
θpre是在这个阶段固定的预训练权重。它提出了一个提示优化问题,如下所示:
min
δ
E
(
x
,
y
)
∈
D
L
(
f
θ
p
r
e
(
x
′
(
δ
)
)
,
y
)
\min_{\delta} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta_{pre}}(x^{\prime}(\delta)),y)
δminE(x,y)∈DL(fθpre(x′(δ)),y)
至于网络稀疏化,将其重新定义为关于可学习参数化掩码的经验风险最小化,并且可以冻结相应的模型权重。
min
m
E
(
x
,
y
)
∈
D
L
(
f
θ
p
r
e
⊙
m
(
x
)
,
y
)
s
.
t
.
∣
∣
m
∣
∣
0
≤
(
1
−
s
)
∣
θ
p
r
e
∣
\min_{m} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta_{pre}\odot m}(x),y)\quad s.t.\quad ||m||_{0}\leq (1-s)|\theta_{pre}|
mminE(x,y)∈DL(fθpre⊙m(x),y)s.t.∣∣m∣∣0≤(1−s)∣θpre∣
本文提出的VPN利用视觉提示,通过无缝集成上述两个优化。提示
δ
\delta
δ和
m
m
m优化可以描述为:
min
m
,
δ
E
(
x
,
y
)
∈
D
L
(
f
θ
⊙
m
(
x
′
(
δ
)
)
,
y
)
,
s
.
t
.
m
=
m
s
\min_{m,\delta} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta\odot m}(x^{\prime}(\delta)),y),\quad s.t. \quad m=m_{s}
m,δminE(x,y)∈DL(fθ⊙m(x′(δ)),y),s.t.m=ms
θ
\theta
θ是初始化为
θ
p
r
e
\theta_{pre}
θpre的模型参数。
m
s
m_{s}
ms表示由
min
m
E
(
x
,
y
)
∈
D
L
(
f
θ
p
r
e
⊙
m
(
x
)
,
y
)
s
.
t
.
∣
∣
m
∣
∣
0
≤
(
1
−
s
)
∣
θ
p
r
e
∣
\min_{m} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta_{pre}\odot m}(x),y)\quad s.t.\quad ||m||_{0}\leq (1-s)|\theta_{pre}|
minmE(x,y)∈DL(fθpre⊙m(x),y)s.t.∣∣m∣∣0≤(1−s)∣θpre∣优化获得的掩码,在此阶段固定。
VPN全部流程
本文VPN首先遵循 x ′ ( δ ) = h ( x , δ ) = r i ( x ) + δ p x^{\prime}(\delta)=h(x,\delta)=r^{i}(x)+\delta^{p} x′(δ)=h(x,δ)=ri(x)+δp建立视觉提示。之后为了定位VPN稀疏子网,VP和参数化掩码根据 min m , δ E ( x , y ) ∈ D L ( f θ ⊙ m ( x ′ ( δ ) ) , y ) , s . t . m = m s \min_{m,\delta} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta\odot m}(x^{\prime}(\delta)),y),\quad s.t. \quad m=m_{s} minm,δE(x,y)∈DL(fθ⊙m(x′(δ)),y),s.t.m=ms联合优化。在这一步骤,使用缩放初始化对 m m m进行初始化。 δ \delta δ采用0初始化, θ \theta θ使用保持冻结的 θ p r e \theta_{pre} θpre进行初始化。最后由 min m , δ E ( x , y ) ∈ D L ( f θ ⊙ m ( x ′ ( δ ) ) , y ) , s . t . m = m s \min_{m,\delta} \mathbb{E}_{(x,y)\in \mathcal{D}}\mathcal{L}(f_{\theta\odot m}(x^{\prime}(\delta)),y),\quad s.t. \quad m=m_{s} minm,δE(x,y)∈DL(fθ⊙m(x′(δ)),y),s.t.m=ms将所找到的稀疏子网络权重与VP一起进行微调。在这一步骤中, θ \theta θ用 θ p r e \theta_{pre} θpre初始化,视觉提示 δ \delta δ和掩码 m m m分别继承前一阶段的 δ s \delta_{s} δs和 m s m_{s} ms。这里 m m m保持冻结。值得一提的是,这种数据模型协同设计VPN在搜索所需的高质量子网络方面表现出了极大的提升效率。例如,与以前的以模型为中心的方法相比,VPN只需要HYDRA和OMP的一半时间,同时实现更好的精度。