前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >北航提出 PTQ4SAM | 一种高效的分割任何模型训练后量化框架,实现了无损精度,速度提高了3.9 倍 !

北航提出 PTQ4SAM | 一种高效的分割任何模型训练后量化框架,实现了无损精度,速度提高了3.9 倍 !

作者头像
AIGC 先锋科技
发布2024-07-08 13:16:34
2000
发布2024-07-08 13:16:34
举报
文章被收录于专栏:AIGC 先锋科技

分割任何模型(SAM)在许多计算机视觉任务中取得了令人印象深刻的性能。然而,作为一个大规模模型,巨大的内存和计算成本阻碍了其实际部署。在本文中,作者提出了一个针对分割任何模型的训练后量化(PTQ)框架,即PTQ4SAM。 首先,作者研究了由于后关键线性激活中的双峰分布导致的SAM量化内在瓶颈。作者从每张量和每通道的视角分析了其特性,并提出了一种双峰融合策略,该策略利用数学上等价的符号操作将双峰分布离线转换为相对容易量化的正态分布。 其次,SAM包含了多样的注意力机制(即自注意力和双向交叉注意力),导致后Softmax分布出现大量变化。 因此,作者通过搜索最优的2的幂基数,引入了Softmax的自适应粒度量化,这对硬件友好。在各种视觉任务(实例分割、语义分割和目标检测)、数据集和模型变体上的大量实验结果证明了PTQ4SAM的优越性。 例如,当将SAM-L量化到6位时,作者在实例分割上实现了无损精度,理论上速度提高了3.9倍,而精度下降了大约0.5%。 代码可在https://github.com/chengtao-lv/PTQ4SAM获取。

1 Introduction

具有卓越的零样本能力和用户友好的灵活提示技术,Segment Anything Model(SAM)最近已成为一系列通用视觉应用中的新型基础模型,包括图像分割、目标检测、跟踪和其他下游任务。然而,SAM中的 Transformer 架构需要密集的计算和内存占用,这阻碍了在资源受限的边缘设备上的实际部署。

为了解决这个问题,提出了几种量化方法,将权重和激活从浮点数转换为低位数。

量化方法分为两类:

1)量化感知训练(QAT)和2)后训练量化(PTQ)。

QAT通过使用整个标记的训练数据集重新训练模型,但由于相应的大量数据集(SA-1B),这将耗时。另一方面,PTQ更有前景,因为它只需要少量 未标注 样本来校准预训练的网络。在本文中,作者专注于设计PTQ方法,因为它在实际使用中更有效。

尽管之前的PTQ方法在各种场景中展示了显著的成就,包括卷积神经网络(CNN),视觉 Transformer (ViTs)以及大型语言模型(LLMs),但直接将这些方法应用于“分割任何模型”(Segment Anything Models)将引发两个独特的挑战,这需要重新审视传统的PTQ方案:

  1. 作者观察到在Key-Linear激活后出现了双峰分布,即图1a所示的关键线性输出激活。两个峰值及其中央的空白间隔极大地扩大了整个分布的范围,这负面影响了量化性能。
  2. 由于注意机制的多样性,与ViTs相比,SAMs显示出更复杂的后Softmax分布,如图1(b)所示。统计上,约72.5%的图像到标记的后Softmax激活大于0.01,而在标记到图像中只有0.4%。先前的工作没有充分解决这种差异,而是将它们同等对待,这可能导致固有信息的潜在损失。因此,为SAM中的后Softmax分布设计专门的组件是可取的。

基于上述观察,在本文中,作者提出了一种名为PTQ4SAM的新型后训练框架,专门为Segment Anything Model量化而设计。

首先,作者提出了一种双模态融合(BIG)策略来明显消除双模态分布。具体来说,作者从每张量(per-tensor)和每通道(per-channel)的角度深入分析了双模态分布,发现双模态分布是SAM量化的关键障碍。

作者利用其每张量的特性来确定一个分布是否为双模态,并使用其每通道的特性将这种双模态分布通过同时将符号因子吸收到 Query 线性(query linear)和键线性(key linear)离线中,等价地转换为正态分布。这种转换在数学上是等价的,并且显著缩小了分布范围,以获得更好的量化性能。

其次,作者提出了一种名为自适应粒度量化(AGQ)的方法,专门针对不同的后Softmax分布,为较低和较高的注意力分数提供了适当的粒度权衡。作者通过搜索最优的2的幂基数,为硬件上的效率提供了理论证明。作者不是最小化注意力分数的量化误差,而是通过注意力分数与值的矩阵乘法输出设计目标,这更加稳健且对最终性能更有利。

作者在基础任务和不同的模型变体上进行了广泛的实验,以证明PTQ4SAM的通用性。作者的PTQ4SAM可以无缝地融入到基于统计和学习型的后训练量化方法中,在6位SAM-L和SAM-H上实现了3.9

\times

FLOPs和4.9

\times

存储节省,同时保持了无损性能。作者的主要贡献总结如下:

  • 据作者所知,作者的工作是第一个针对Segment Anything Model量身定制的后训练量化解决方案,称为PTQ4SAM。
  • 作者观察到了量化中具有挑战性的双模态分布,并分析了其特性。为了克服它,作者提出了双模态融合(BIG)策略,它自动检测并等价地将双模态分布转换为正态分布。
  • 作者提出了自适应粒度量化(AGQ),它以适当的粒度准确地表示不同的后Softmax分布。
  • 在各种任务、变体和位宽上进行的综合实验表明,作者的PTQ4SAM是一个即插即用的方法,并且显著优于之前的最先进的后训练量化方案。

2 Related Work

Segment Anything

近期,Meta AI研究部门革命性地提出了一种通用的、可提示的分割任何模型(SAM)。在基于网络规模的数据库(SA-1B)上进行预训练,SAM展示了在多样化的下游任务中泛化的能力。HQ-SAM设计了可学习的标记和全局-局部融合方案以获得高质量的面罩。SEEM将参照图像扩展到提示类型,并整合了联合视觉-语义空间。在医学研究领域,MedSAM[36]和SAM-Med2D[3]通过大规模医学图像数据集对SAM进行微调。结合一系列视觉-语言模型,Anything-3D和SA3D[1]将SAM应用于单视图3D重建任务,而Seal[34]应用于3D点云分割任务。由于计算需求巨大,一些高效的SAMs相继被提出,包括MobileSAM,FastSAM和TinySAM。然而,SAM仍然遭受着不可持续的资源密集型消耗。对其实时处理能力的期待已经广泛传播。

Post-Training Quantization

作为一种主流的压缩方法,主流的后训练量化(PTQ)方法可以大致分为两类:基于统计的PTQ和基于学习的PTQ。基于统计的PTQ方法仅寻求最优量化参数以最小化量化误差,而基于学习的PTQ方法则对权重和量化参数进行微调。作者的方法对这两种方法都是开箱即用的。

2.2.1 Statistic-Based PTQ

众多基于经典统计的量化方法已被证明主要在卷积神经网络中实现了最小的精度损失。然而,随着具有新颖架构的网络普及,研究行人引入了专门为这些网络设计的量化方案。在量化ViTs时,提出了双均匀量化[68],Log-Int-Softmax[30],比例再参数化[27]和保持马太效应的量化[7]来处理软最大输出分布的问题。LLM量化技术包括仅权重量化,权重和激活量化,旨在解决激活中的异常值问题。PTQ4DM,Q-Diffusion[25]在扩散过程中的多个去噪步骤中发现了激活的变化,并设计了专门的校准策略。然而,这些独特的分布与SAMs之间存在显著差距,作者是首次探索量化SAMs以实现高效推理。

2.2.2 Learning-Based PTQ

基于统计的PTQ方法,还提出了几种基于学习的PTQ方案。AdaRound [42] 在量化权重时优化取整操作,以最小化模型的总体损失。随后,基于AdaRound提出了许多方法。BRECQ [26] 提出了一种块重建算法来优化量化模型。QDrop [57] 在重建过程中引入了丢弃操作,以提高优化模型的平坦度。PD-Quant [32] 在优化量化参数时引入全局信息。MRECG [37] 关注PTQ中的振荡问题,而FlexRound [22] 首次针对大型语言模型提出了一种新的可学习权重取整方案。不幸的是,这些技术主要基于CNN架构模型进行。像SAM这样的Transformer架构模型尚未被探索。

3 Method

在本节中,作者将详细介绍作者的PTQ4SAM。首先,在3.1节中,作者介绍了均匀量化与对数量化。随后,在3.2节中,作者提出了一种双峰融合(BIG)策略以消除双峰分布。最后,在3.3节中,作者分析了不同后softmax分布的分歧,并提出了自适应粒度量化(AGQ)。

Preliminaries

基本符号. 作者使用

\mathbf{X}

来表示矩阵,而向量用

\mathbf{x}

标记。算子

\odot

用于表示矩阵或向量之间的逐元素乘法,算子

\cdot

表示标量乘法。此外,作者使用

\mathbf{X}\mathbf{W}

来表示矩阵乘法。

训练后量化. 训练后量化是一种压缩预训练神经网络的普遍方法。在本文中,作者仅研究硬件高效的量化方法。对于统一量化,量化与反量化操作可以定义为:

x_{q}=\texttt{clamp}(\lfloor\frac{x}{s}\rceil+z,0,2^{k}-1), \tag{1}
\hat{x}=s\cdot(x_{q}-z)\approx x, \tag{2}

其中

s

z

分别表示缩放因子和零点。

\lfloor\cdot\rceil

是四舍五入到最近的运算符。

x

\hat{x}

是浮点数和反量化值,

x_{q}

是映射的整数。clamp 函数裁剪超出

k

位整数范围的值。

鉴于快速的位移操作,Log2 量化已成为一种替代的面向硬件的量化方法。由于 Log2 量化仅在后 Softmax 激活上使用,因此可以简单地表述为:

x_{q}=\texttt{clamp}(\lfloor-\log_{2}\frac{x}{s}\rceil,0,2^{k}-1), \tag{3}
\hat{x}=s\cdot 2^{-x_{q}}\approx x. \tag{4}

Bimodal Integration

直观地说,双峰分布对量化提出了重大挑战。两个峰值及其中心的空白区间或稀疏间隔显著扩大了分布范围,实验中与正态分布相比,量化误差超过5倍。因此,作者首先从两个角度深入分析了SAM中的双峰分布:1) 从每张量的角度来看:分布包含两个对称的峰值,例如图1(a)中的-8和8。2) 从每通道的角度来看:每个通道的激活只在一个固定的峰值上持续,表明一个通道内部存在明显的非对称性。如图3所示,例如,第0个通道的激活对应于负峰值(即-8),而第1个通道的激活属于正峰值(即8)。总的来说,大约一半的通道(例如,SAM-B中的46.1%)聚集在正峰值上,其余的通道聚集在负峰值上。

最近,一些方法被提出来通过等价地调整LayerNorm和后续线性的权重来克服这种通道式的非对称性。然而,作者观察到双峰分布在后LayerNorm激活中并不存在,而是显著集中在后Key-Linear激活中(图2),使得上述方法不适用。为了精确估计双峰分布的影响,以下

\mathbf{Q}

\mathbf{K}

之间的矩阵乘法可以表示为

\mathbf{Q}\mathbf{K}^{\top}=\underbrace{(\mathbf{X}_{q}\mathbf{W}_{q}+\mathbf{b}_{q})}_{\text{ 正态分布}}(\underbrace{\mathbf{X}_{k}\mathbf{W}_{k}+\mathbf{b}_{k})^{\top}}_{\text{ 双峰分布}}, \tag{5}

其中

\mathbf{W}\in\mathbb{R}^{m\times n}

\mathbf{b}\in\mathbb{R}^{n}

分别是线性层的权重和偏置(即全连接层)。

m

n

是输入和输出特征维度。下标

q

k

分别表示 Query 和键线性。请注意,

\mathbf{Q}

\mathbf{K}

的矩阵乘法本质上代表了正态分布和双峰分布的矩阵乘法。受到以上分析的启发,作者采用一个通道方向的符号因子

\mathbf{\gamma}\in\mathbb{R}^{n}

将双峰分布转换为正态分布。作者假设

\mathbf{\gamma}

可以从每个通道的平均值计算得出,考虑到第

j

个通道的符号因子:

其中

\mathbf{K}_{\cdot,j}

表示第

j

个通道的后关键线性激活。作者通过其均值符号来计算

\mathbf{\gamma}_{j}

。具体来说,如果第

j

个通道是负峰值,

\mathbf{\gamma}_{j}

将为 -1。然后作者同时将其乘以 Query 线性和对应的键线性通道,以保持等价性。之后,

\mathbf{K}_{\cdot,j}

将被转换为正值。反之,如果一个通道是正峰值,它将保持不变,因为其符号因子为 1。如图2 所示,在使用作者的 BIG 策略之后,

\mathbf{K}

中的负峰值已被合并到正峰值中,从而将双峰分布转换为正态分布。另一方面,

\mathbf{Q}

仍然保持正态分布:

\mathbf{Q}\mathbf{K}^{\top} =((\mathbf{X}_{q}\mathbf{W}_{q}+\mathbf{b}_{q})\odot\mathbf{\gamma})((\mathbf{X}_{k} \mathbf{W}_{k}+\mathbf{b}_{k})^{\top}\odot\mathbf{\gamma}^{\top})
=\underbrace{(\mathbf{X}_{q}\mathbf{W}_{q}^{{}^{\prime}}+\mathbf{b}_{q}^{{}^ {\prime}})}_{\text{正态分布}}\underbrace{(\mathbf{X}_{k}\mathbf{W}_{k}^{{}^{ \prime}}+\mathbf{b}_{k}^{{}^{\prime}})^{\top}}_{\text{正态分布}}. \tag{7}

注意,符号因子

\mathbf{\gamma}

可以轻松地在前面的 Query 线性与键线性的离线过程中被吸收,而不会产生任何计算开销,即

\mathbf{W}^{{}^{\prime}}=\mathbf{W}\odot\mathbf{\gamma}

\mathbf{b}^{{}^{\prime}}=\mathbf{b}\odot\mathbf{\gamma}

双峰发现:然而,SAM 中并不是所有的后关键线性激活都是双峰分布。为了区分双峰分布,作者首先采用高斯核密度估计来计算整个张量的概率密度函数(PDF)。基于连续和平滑的函数,作者定量地将峰描述为局部极大值。为了避免将两个小凸起识别为两个峰值,作者对峰值高度以及两个峰值之间的距离进行了限制。更多的实施细节在补充材料中描述。

总之,作者的_Binodal Integration_(BIG)策略包括三个步骤:双模态发现,计算

\mathbf{\gamma}

以及等价转换。由于强烈的非对称性,只需一个样本就足以计算符号因子

\mathbf{\gamma}

,如算法1中所述。因此,作者的BIG是高效的,额外的计算负担可以忽略不计。

Adaptive Granularity Quantization

在Transformer架构中,softmax函数被用来将注意力得分转换为概率,确保得分是归一化的并且在0到1之间。识别了极度不平衡的幂律分布是量化困难的原因,并设计了一个专门的量化器来解决这个问题。

然而,上述方法主要针对自注意力机制中的softmax。SAM还包含了两个方向的交叉注意力,即 Token 到图像和图像到 Token 的交叉注意力,这放大了图1b中后softmax分布之间的显著差异。例如,在 Token 到图像中存在更多的超低值,在对数尺度下呈现一个平滑的分布。相反,图像到 Token 和自注意力的分布具有更高的峰度,并且存在更多的高值。

为了解决这种差异,作者重新审视了对数量化器,并提出了一个带有自适应参数

\tau

的_Adaptive Granularity Quantization_(AGQ)来调整基数。如图2所示,较小的

\tau

可以表示更低的注意力得分。随着

\tau

的增加,更高的注意力得分变得更加细致。作者的AGQ,配备了合适的

\tau

,可以在不同的后Softmax场景和不同的位宽下,灵活地在低值和高值的粒度之间进行权衡。对于注意力得分

a

(为了简单起见,注意力图中的一个元素)的AGQ相应的量化和反量化操作可以重写为:

a_{q}=\texttt{clamp}(\lfloor-\log_{2\frac{1}{\tau}}\frac{a}{s} \rceil,0,2^{k}-1), \tag{8}
\hat{a}=s_{a}\cdot 2^{-\frac{a_{q}}{\tau}}. \tag{9}

在作者的实现中,作者使用

\tau\in\{2^{0},2^{1},\ldots,2^{n}\}

以提高硬件效率,这将在后面进行演示。执行位移操作的前提是确保指数项是一个整数。遗憾的是,

\frac{a_{q}}{\tau}

不一定是整数。因此,作者首先将其分解为整数和分数部分:

\hat{a}=s_{a}\cdot 2^{\lfloor-\frac{a_{q}}{\tau}\rfloor}\cdot 2^{\frac{(-a_{q}) \%\tau}{\tau}}, \tag{10}

其中

\%

表示模运算符,

\lfloor\cdot\rfloor

表示地板函数。随后,量化的注意力得分

\hat{a}

与值

\hat{v}

的乘法可以写成:

其中

\hat{a}\cdot\hat{v} =s_{a}\cdot s_{v}\cdot 2^{\frac{(-a_{q})\%\tau}{\tau}}\cdot 2^{ \lfloor-\frac{a_{q}}{\tau}\rfloor}\cdot v_{q} \tag{11}
=s_{a}\cdot s_{v}\cdot 2^{\frac{(-a_{q})\%\tau}{\tau}}_{(12-1)} \cdot v_{q}>>\lceil\frac{a_{q}}{\tau}\rceil, \tag{12}

其中

>>

表示位移操作。如上分析,项 (12-1) 是一个不确定的浮点值,它限制了硬件中高效的整数算术。然而,项 (12-1) 只具有

\tau

个离散值,因此可以使用一个小的查找表来避免它:

\hat{a}\cdot\hat{v}=s_{a}\cdot s_{v}\cdot LUT((-a_{q})\%\tau,v_{q}>>\lceil \frac{a_{q}}{\tau}\rceil), \tag{13}

其中

LUT

表示小型查找表,它可在各种神经网络加速器上使用,例如在FPGA上。查找表中的条目仅由

(-a_{q})\%\tau

v_{q}>>\lceil\frac{a_{q}}{\tau}\rceil

确定。第一个项可以用一个

n

-位数字表示,第二个项用一个

k

-位(激活位宽)表示。值得注意的是,由于

\tau\in\{2^{0},2^{1},\ldots,2^{n-1}\}

的查找表可以整合到

\tau=2^{n}

的查找表中,整个网络只需要一个查找表。考虑到一个具有8位激活和集合中最大

\tau

(为实现而取

2^{2}

)的场景,查找表的大小计算为

2^{8+2}\times

4 字节 = 4KB,与量化 SAMs 相比可以忽略不计。

在理论验证确立之后,作者的目标是定义一个目标以选择最优的

\tau

。为此,一个自然的选择是直接最小化注意力图

\mathbf{A}

的局部量化误差。然而,作者发现这与它相关的注意力块的量化误差不一致,这会引起全局量化性能的不稳定,特别是在低比特时(更多细节请见补充材料)。因此,为了减轻这种不一致,作者设计了目标函数来衡量注意力图

\mathbf{A}

与值

\mathbf{V}

矩阵乘法输出的量化误差:

\arg\min_{\tau}\mathbb{E}\big{[}\|\mathbf{AV}-\widehat{\mathbf{A}}_{\tau}\mathbf{V}\|_{F} ^{2}\big{]}, \tag{14}

其中

\widehat{\mathbf{A}}_{\tau}

表示通过作者的AGQ方法以基数

2^{\frac{1}{\tau}}

生成的量化注意力图,而

\|\cdot\|_{F}^{2}

表示用于测量差异的弗罗贝尼乌斯范数。如算法1中所详述,作者在校准集中对每个

\tau

的总量化误差进行排序,然后在校准后选择最优的

\tau

4 Experiments

Experimental Setup

任务、数据集和评价指标。 作者在三个主流视觉任务上进行了实验。对于实例分割任务,作者使用检测器生成的预测框作为SAM的框提示,以获得准确的二值 Mask ,并在MS-COCO [29]数据集上使用平均精度(mAP)作为评价指标来评估其有效性。对于语义分割任务,整体框架包含两个分支,作者利用SAM生成的细粒度 Mask 来细化原始分割器生成的模糊和不精确的 Mask 边界。作者使用ADE20K [74]数据集上的平均交并比(mIOU)作为性能评价指标来评估其有效性。对于定向目标检测任务,作者通过在SAM生成的 Mask 上执行最小外接矩形操作来获得最终的旋转RBoxes。作者在DOTA-v1.0 [61]数据集上使用mAP来评估其有效性。

实现细节。 作者选择了基于CNN的Faster R-CNN [45],YOLOX [9],FCOS [52]以及基于 Transformer 的H-Deformable-DETR [18],DINO [70]作为检测器,并使用先进的SegFormer [63]作为分割器。自适应参数

\tau

从集合

\{2^{0},2^{1},2^{2}\}

中进行搜索。对于基于CNN的检测器,作者将框阈值设置为0.05,并为基于 Transformer 的检测器附加一组100个自适应 Anchor 点。作者随机抽样32张训练图像作为校准集,并且仅使用第一个样本来确定双峰分布。为了公平比较,作者采用了权重上的每通道非对称量化以及激活上的每张量非对称量化[32, 57]。遵循常见设置[57, 68],第一层和最后一层/块不进行量化。为了验证PTQ4SAM在两种PTQ方法中的有效性,作者将作者的方法整合到基于统计的OMSE [5]和基于学习的QDrop [57]中,分别称为PTQ4SAM-S和PTQ4SAM-L。对于基于学习的方法,作者采用MinMax校准策略,并为块级重建设计注意力和MLP块,迭代20000次。

Instance Segmentation Results

作者比较了作者的PTQ4SAM方法与基于统计的方法,如MinMax ,Percentile ,OMSE ,以及基于学习的方法,如AdaRound ,BRECQ ,QDrop 。表1列出了所有方法的性能。作者的方法在不同检测器中一致地大幅优于其他方法。作者的4位PTQ4SAM-S取得了可比较的结果,并且在SAM-L上超过基准OMSE超过10%的mAP(例如,从5.4%提升到18.1%,配合Faster R-CNN),在SAM-H上大约20%的mAP(例如,从8.3%提升到30.5%,配合DINO),恢复到可用水平。作者的PTQ4SAM-S甚至在W6A6的SAM-L上显著超过了最先进的学习方法QDrop。

同时,作者的PTQ4SAM-L令人鼓舞地实现了无损精度。例如,在W6A6设置下,应用YOLOX和H-Deformable-DETR在SAM-L上的PTQ4SAM-L分别达到了40.3%和41.2%,与全精度模型相比,性能仅下降了0.1%和0.3%。当量化到更具挑战性的W4A4情况时,AdaRound和BRECQ变得不可行,而作者的方法在YOLOX上的SAM-B上超过了QDrop 5.1%,在H-Deformable-DETR上的SAM-L上超过了6.3%。与SAM-B和SAM-L相比,SAM-H在引入量化噪声时表现出更大的鲁棒性,但作者的PTQ4SAM-L在W4A4上仍然提供了大约2%的改进。应用最先进的检测器DINO ,作者的6位PTQ4SAM-L在SAM-B上产生了40.4%的mAP,在SAM-L和SAM-H上接近50%的mAP。

Semantic Segmentation Results

在这一部分,作者验证了基于学习型的PTQ方法在语义分割任务上的性能。原始的语义分割器在ADE20K数据集上达到31.78%,而SAMs调整了分割器的初步结果,即分别为全精度SAM-B、SAM-L和SAM-H带来了1.37%、1.83%、1.85%的提升。如表2所示,量化的SAMs通常仍然有助于最终的 Mask 。作者的方法最大程度地保留了SAM的能力。特别是,作者惊讶地发现,6位PTQ4SAM-L甚至在SAM-L和SAM-H上的性能超过了全精度模型。在W4A4设置下,作者的方法在SAM-L上提供了1.04%的准确率提升,比QDrop高出0.15%。

Object Detection Results

为了进一步展示PTQ4SAM-L在其它任务上的多功能性,作者在面向目标的检测任务中对其进行了测试。值得注意的是,正如表3所示,作者的方法在基于学习的PTQ方法中一致表现出色。例如,当将网络量化为W6A6时,实验表明,与全精度模型相比,PTQ4SAM-L在SAM-L和SAM-H上的性能仅轻微下降了约0.3%。在最具挑战性的W4A4位宽下,AdaRound和BRECQ遭受了不可忽视的性能下降。相比之下,作者的方法仍能获得满意的表现。在SAM-B和SAM-L上,作者分别获得了超过44%和56%的准确率,超过了 Baseline QDrop 2.2%和6.2%。

Ablation Studies

组件消融研究:表4列出了不同组件的结果。作者证明,每个组件都对PTQ4SAM有贡献,而当两个组件共同应用时,可以达到最佳性能。特别是,在相对较高的位宽设置下,如W6A6,BIG和AGQ策略都能带来性能提升,使量化模型可与全精度模型相媲美。当将SAM量化到更低位宽时,即W4A4,BIG可以显著提高性能,比 Baseline 高3.4%,因为它可以最小化更严重的量化扰动。

不同量化器的消融研究:作者还报告了表5中不同量化器的结果。值得注意的是,简单地为注意力分数采用Log2量化器[41]在不同设置下是不稳定的(,在W6A6设置下,SAM-B与统一量化器相比结果较低)。相比之下,作者的AGQ在不同情况下都超过了统一量化器和Log2量化器,使4位SAM-L提升了3.5%。除了令人鼓舞的性能外,作者的AGQ可在各种硬件上使用,确保有效执行。

Storage Saving and Speedup

作者分别计算了图3(a)中的计算复杂度和图3(b)中的内存使用情况。遵循的方法,作者使用FLOPs来衡量理论上的加速效果,它等于32位浮点乘法的数量加上{4,6}-位乘法数量的

\{\frac{1}{8},\frac{6}{32}\}

令人惊讶的是,作者的6位SAM-B (2.96

\times

)在保持接近性能的同时,比FastSAM (1.98

\times

)实现了更好的加速。在W4A4上,作者的方法将计算FLOPs减少了70%以上,存储空间减少了85%以上。随着模型的规模扩大,加速比和内存节省变得更加显著,而性能下降则变得更少。

Qualitative Results

为了展示作者的PTQ4SAM的优越性,尤其是在低比特量化(W4A4)方面,作者在图5中可视化了与其他现有SOTA方法在COCO数据集上的实例分割结果对比。作者可以看出,大多数方法未能产生清晰的边界,并且遗漏了中心显著像素。例如,其他方法未能区分复杂的边缘,甚至错误地将天空归类为前景(第1行的火车)。此外,这些方案无法在复杂背景下检测到物体(第3行的冲浪板)。更进一步,作者的方法在其他方法上,确保了物体的完整性(第2行和第4行的马桶和人)。

5 Conclusion

图4:(a)理论加速率(100个提示)与所有SAM模型的对比。(b)准确度与存储。

在本文中,作者首先提出了一个新颖的后训练量化框架PTQ4SAM,用于Segment Anything Model。起初,作者观察到显著的瓶颈在于双峰分布,并探索了其出现的位置。作者引入了双峰融合策略以消除由这种双峰分布引起的量化负面效果。作者还提出了自适应粒度量化,它可以通过搜索硬件友好的基础来适应不同的后Softmax分布。大量实验证明,作者的方法在多种任务上均能一致地产生令人满意的结果。然而,SAM中双峰分布的原因尚不清楚。这个方向将成为作者未来研究的潜在途径。## 附录F 关于BIG的更多细节

Bimodal Discovery

正如作者在主论文中提到的,作者使用连续概率密度函数来表征峰值。然而,仅仅使用简单的局部最大值会导致过度检测问题。作者将这个问题总结为两种情况:

  1. 一个峰值中的两个相邻凸起被识别为两个峰值(图S6(a))。
  2. 错误地将小凸起视为一个峰值(图S6(b))。为了解决这个问题,作者在图S6(c)中施加了约束,规定峰值高度和两个峰值之间的距离都必须超过预设的阈值。首先移除较小的峰值,直到对所有剩余的峰值满足条件。

Effect of Sign Operation

为了验证作者BIG策略的有效性,作者展示了在符号操作前后 Query 和键激活的真实分布的代表性地示例。如图S7所示,经过符号操作后,双峰后键-线性分布将被转换为正态分布,将范围从-13

\sim

14缩小到3

\sim

14(第1行)。同时, Query 激活保持了正态分布的不变性,略微将范围从-843

\sim

848减少到-848

\sim

296(第2行)。直观地说,作者的BIG对量化有益,符号操作可以提前执行。

Appendix G Quantitative Studies of AGQ

作者完成了关于不同场景下适宜粒度(最优

\tau

)的讨论。如第3.3节所述,较小的

\tau

可以更好地量化较低的注意力得分。相反,随着

\tau

的增加,较高注意力得分可以以更细粒度的方式进行量化。为了简化,作者在W4A4上对各种Softmax分布后的最优

\tau

进行了统计分析。如图S8所示,在token到图像的场景中,作者的AGQ普遍偏好选择

\tau

=1,因为低注意力得分更多(参见主论文中的图1)。在图像到token的场景中,

\tau

=2被显著选择以准确量化更多的高分。在自注意力场景中,

\tau

=1和

\tau

=2共存,以结合高低注意力得分。

因此,作者的AGQ针对不同注意力机制下的Softmax分布采用了适宜粒度的解决方案。此外,作者将方程式14(第2行)与注意力图

\mathbf{A}

的局部量化误差(第1行)进行了比较。表S6表明,方程式14解决了不一致的问题,并在低比特率下尤其实现了稳定性能。

参考

[1].PTQ4SAM: Post-Training Quantization for Segment Anything.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIGC 先锋科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Work
    • Segment Anything
      • Post-Training Quantization
        • 2.2.1 Statistic-Based PTQ
          • 2.2.2 Learning-Based PTQ
          • 3 Method
            • Preliminaries
              • Bimodal Integration
                • Adaptive Granularity Quantization
                • 4 Experiments
                  • Experimental Setup
                    • Instance Segmentation Results
                      • Semantic Segmentation Results
                        • Object Detection Results
                          • Ablation Studies
                            • Storage Saving and Speedup
                              • Qualitative Results
                              • 5 Conclusion
                                • Bimodal Discovery
                                  • Effect of Sign Operation
                                    • Appendix G Quantitative Studies of AGQ
                                    • 参考
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档