RepQ-ViT: Scale Reparameterization for Post-Training Quantization of Vision Transformers

문상준·2025년 10월 29일

논문 리뷰

목록 보기
18/32

RepQ-ViT: Scale Reparameterization for Post-Training Quantization of Vision Transformers


RepQ-ViT에 대한 내용

Abstract

P1. post-LayerNorm activation의 inter-channel variation
S1.
Channel-wise Q @ quantization step.
Layer-wise Q @ inference step.

P2. Power-law distribution을 가진 post-Softmax activation
S2.
log2log_{\sqrt{2}} Q @ quantization step.
log2log_2 Q @ inference step.

1. Introduction

전통적인 'Q-infernece 종속' paradigm은 유일한 선택일까?
⇒ Q, infernece step을 decoupling

P1. post-LayerNorm activation의 inter-channel variation
S1.
Channel-wise Q @ quantization step.
Layer-wise Q @ inference step.
⇒
Q step에서 channel-wise Q하고,
I step에서 layer-wise로 reparameterization하여,
LayerNorm의 affine factoer, 다음 layer의 weight를 조정해서 acc ↑

P2. Power-law distribution을 가진 post-Softmax activation
S2.
log2log_{\sqrt{2}} Q @ quantization step.
log2log_2 Q @ inference step.

생략

3. Methodology

3.1 Preliminaries

Hardware-friendly quantizers

Uniform Q

log2log_2 Q

3.2 Scale Reparam for LayerNorm Activations

⇒ 단순히 통일된 Q SF를 적용하는 layer-wise Q는 위와 같은 큰 inter-channel variation에서 acc ↓

⇒
Q step:
channe-wise Q ⇒ s∈RDs \in \R^D, z∈ZDz \in \Z^D를 얻음

I step:
s,zs, z를 s~∈R1,z~∈Z1\tilde{s} \in \R^1, \tilde{z} \in \Z^1로 reparam.

이때, s~,z~\tilde{s}, \tilde{z}k는 당연히 미리 계산됨(PTQ니까...)

s~=E[s],z~=E[z]\tilde{s} = E[s], \tilde{z} = E[z]


라고 하면,


이고,
이러한 연산은 Layernorm의 affine factor를 다음과 같이 조정함으로써 달성 ㄱㄴ.

위에처럼 하면, s,zs, z를 reparam하지만, activation 분포를
이렇게 이동시킴.

⇒

이런 식으로 뒤에 layer의 weight에 오차를 보상하게 함.

3.3 Scale Reparam for Softmax Activations

FQ-ViT의 log2log_2 Q는 중요한 소수의 attention 값이 큰 부분에 적은 bin을 할당.

⇒ acc ↓

⇒ log2log_{\sqrt{2}} Q

But
HW frendly X (∵ log2log_2 Q처럼 bit-shifting 연산 X)

⇒
Q step: log2log_{\sqrt{2}} Q
I step: log2log_2 Q

⇒

s와 비교할 때, reparam된 s~\tilde{s}는 I step에서 dequant 절차 또한 효율적인 bit-shift로 할 수 있게함!
// 물론 A(Z)A^{(\Z)}가 홀수일 때, s~=s⋅[2]\tilde{s}=s \cdot [\sqrt{2}] 여서,
// A^=2\hat{A}=2를 ⌊−A(Z)2⌋\lfloor -\frac{A^{(\Z)}}{2}\rfloor 만큼 shift하고, s~\tilde{s}를 곱하긴 함.

// 짝수일 떄도, ss가 FP32이면, fp연산을 하긴 함...

4. Experiments

4.2. Quantization Results on ImageNet Dataset

4.3. Quantization Results on COCO Dataset

4.4 Ablation Studies

4.5 Efficiency Analysis

0개의 댓글