PTQ4ViT: Post-Training Quantization for Vision Transformers with Twin Uniform Quantization
PTQ4ViT에 대한 내용

Abstract.
Softmax, GeLU 이후 activation의 distribution
≠ gaussian distribution
+
MSE, cosine distance를 통한, optimal SF 결정은 정확 X
⇒
Twin uniform Q
+
Hessian guided metric을 통한, SF optimizing
1 Introduction
생소했던 개념들
- Self-attention module은 global information을 포착
- PTQ는 label 없는 calibraion images를 사용
문제1. 특수 분포 activation
- Softmax:
Softmax를 거친 값들은 [0, 1] 범위에서 매우 unbalanced된 distribution을 갖음.
대부분 값이 0에 매우 가까움.
+
큰 값의 수는 매우 적지만, 이 값들은 두 patch 간 높은 연관성(attention)을 의미. ⇒ 매우 중요한 값
⇒ 이 큰 값을 Q 범위에 포함시키기 위해, 큰 SF 要
⇒ 大多數의 작은 값들이 0으로 Q됨
⇒ Q Error ↑
- GeLU:
GeLU를 거친 값들은 asymmetrical한 distribution 갖음.
양수 값들은 분포가 넓음.
+
음수 값들은 skewed됨.
⇒ 이런 특수 distribution을 해결하기 위해, Twin uniform Q
이는 값들은 두 범위로 분리하여 각각 Q.
문제2. SF를 결정하는 지표 정확 X
MSE, Cosine distance, Pearson correlation coefficient등이 있었음.
⇒ local information만 사용
⇒ suboptimal
⇒ Hessian guided metric

생략
2.2 QuantizationFang, J., Shafiee, A., Abdel-Aziz, H., Thorsley, D., Georgiadis, G., Hassoun, J.: Post-training piecewise linear quantization for deep neural networks. In: ECCV (2020)

3 Method
생략
- Softmax 후 활성화 분포: 활성화 분포가 매우 불균형하며(unbalanced), 대부분의 값이 0에 매우 가깝고 소수의 값만이 1에 가깝습니다.
- GELU 후 활성화 분포: GELU 함수를 거친 값들은 높은 비대칭 분포(highly asymmetric distribution)를 가지며, 무한정한 양수 값들은 범위가 큰 반면 음수 값들은 분포 범위가 매우 작습니다.

⇒ Twin uniform Q
Twin uniform Q는 2개의 Q 범위 R1,R2를 갖음.
각각은 다른 SF ΔR1과 ΔR2에 의해 제어됨.
⇒

-
Softmax 後 값에 대한 범위 설정
작은 ΔR1softmax를 사용하여, R1=[0,2k−1ΔR1softmax)를 잘게 Q.
+
상대적으로 큰 ΔR2softmax=2k−11로 고정하여, R2=[0,1]을 크게 크게 Q. ∵ calibration 영향을 피하기 위해.
-
GeLU 後 값에 대한 범위 설정
작은 ΔR1GeLU=2k−10.170로 고정하여, R1=[−2k−1ΔR1GeLU,0]를 잘게 Q. ∵ 음수 전체 범위 [GeLUmin,0]를 포괄하려고.
+
상대적으로 큰 ΔR2g를 사용하여, R2=[0,2k−1ΔR2GeLU]를 크게 크게 Q.
⇒ 이제 optimal ΔR1softmax,ΔR2GeLU만 찾으면 됨.
⇒

그림4에서, optimal 빨간색 범위만 찾으면 됨!!!
3.3 Hessian Guided Metric
Optimal SF를 찾기위해, 여러 metric(MSE, Cosine, Pearson, ...)으로 layer-wise + greedy하게 했었음

물론 Q 前/後 마지막 layer output 간의 distance (L=CE(y^,y))를 사용하는 것이 PTQ에서 가장 정확.
But,
forward 너무 많이 해야됨.
⇒ Hessian Guided Metric
weight W를 변수로 취급할 때, Loss의 expectation은 E[L(W)]
Q는 weight에 작은 perturbation ϵ을 갖게 함.
⇒ W^=W+ϵ
⇒ Taylor series expansion을 통해, Q가 Loss에 미치는영향을 분석 可能
⇒

optimal SF를 찾아야 함!!!
⇒ minΔ(E[L(W^)]−E[L(W)])을 layer-wise하게 구성해야함.
⇒

∵ gˉ(W)는 잘 training된 model에서 0을 갖고, ϵ=(Ol^−Ol)이어서.
3.4 PTQ4ViT Framework

1단계: Output(y) 및 gradient 수집
1 ~ 6 line
2단계: Optimal SF찾기
7 ~ 14 line
문제점
10 ~ 13 line에서 특정 layer를 Q하면,
ϵ=(O^l−Ol)이 바뀌는데,
그럼 Hˉ(W)=diag((∂O1l∂L)2,...,(∂O∣Ol∣l∂L)2) 도 매번 새로 계산해야 되는데, 그렇게 안함...
∵ GPU 메모리 줄이려고...
4 Experiments
4.1 Experiment Settings
- Softmax 後: ΔR1softmax의 탐색 공간은 [2k1,2k+11,...,2k+101]
- α,beta, # Round
- BasePTQ
- α=0.5,beta=1.2, # Round = 1
- PTQ4ViT
- α=0,beta=1.2, # Round = 3
- ImageNet
- Calibration 32개
4.2 Results on ImageNet Classification Task


4.3 Ablation Study

Conclusion
생략