본문 바로가기

논문리뷰

[ECCV2024] GenQ: Quantization in Low Data Regimes with Generative Synthetic Data

https://www.ecva.net/papers/eccv_2024/papers_ECCV/papers/02058.pdf ECCV 2024

 

Abstract

저 비트 양자화(Low-bit Quantization)에서 발생하는 오류를 줄이기 위해 훈련데이터를 통한 모델 재학습이 필요함.

하지만, 데이터 접근이 어려운 환경에서는 모델 재학습이 불가능함. 이를 개선하기 위해 GenQ라는 새로운 method를 제안하며, 이 방식을 통해 더 real 하고 고해상도의 합성데이터를 생성할 수 있음을 보여줌. 또한, 이 방식이 기존 방식들에 비해 대규모 데이터셋의 데이터를 구현하는데 보이는 한계를 극복함.

GenQ는 2가지의 필터링 메커니즘을 통해 합성데이터를 실제 훈련데이터와 밀접하게 일치되도록 함.

실험을 통해 GenQ는 데이터가 없는 환경(DFQ: Data-Free Quantization, 기존)과 데이터가 제한된 환경(Data-Scarce Quantization, 제안)으로 구분하여 새로운 벤치마크를 정의함. (DSQ는 class 당 1개의 이미지인 one-shot 환경임)

 

 

Contributions

1) Data-free 환경에서 최초로 text-image 기반의 데이터 합성기법 활용

2) Quantization 분야에서 Data-Scarce환경을 처음으로 제안하며, 해당 환경에서 learnable token embedding을 활용하여 향상된 quantization performance 달성

3) 제안하는 데이터 합성방식으로 PTQ(Post-Training Quantization)과 QAT(Quantzation-Aware Training)에서 모두 SOTA달성

 

 

Introduction

딥러닝 모델에서 Quantization(양자화)는 계산 efficiency를 크게 개선하는 기법이지만, quantization error를 완화하기 위해 훈련데이터가 필요함. 하지만, 데이터가 제한되거나 전혀 없는 상황에서는 quantization을 좋은 성능으로 수행하지 못함.(성능하락 문제 발생)

 

이를 해결하기 위한 기존 접근으로는 GAN과 BNS(Batch Normalization Statistics)를 활용하는데, GAN은 discriminator와 generator가 적대적으로 학습하는 구조를 갖기 때문에 특정모델에만 종속되고 재사용이 불가능함. 또한, ImageNet과 같이 큰 데이터셋을 모방하는데 한계를 가짐.

 

본 논문에서 제안하는 GenQ는 Stable Diffusion 기반으로 이 연구분야에서 처음으로 text-to-Image 생성 모델을 도입하며, 실제와 같은 고해상도의 합성데이터를 생성할 수 있음. 또한, Energy score와 BN Sensitivity라는 2가지 filtering mechanism을 도입해 합성 데이터의 품질을 보장함. 이러한 접근을 통해 데이터가 없는 환경(DFQ)에서 SOTA를 달성함. 또한, 데이터가 극히 제한적인 환경인 DSQ(Data-Scare Quantization) 환경도 제시해 좋은 성능을 보임.

 

 

Figure 1을 보면, 논문에서 제안하는 GenQ가 Data Free PTQ or QAT환경에서 모두 가장 좋은 accuracy를 보이며, 데이터생성속도도 가장 빠른 것을 확인할 수 있음.

 

 

Related Work

(이 부분은 쉬운 이해를 위해 논문 외 개념을 추가하여 설명하였음)

 

Quantzation Method

Quantization 방식은 PTQ(Post-Training Quantization)과 QAT(Quantization-Aware Training)으로 구분함.

이는 quantization시점에 따라 구분되는데 PTQ는 training이 완료된 모델에 quantization을 진행하고, QAT는 모델 training 중 quantization을 동시에 진행함.
(당연히 QAT가 성능보존에 유리하며, vision 분야의 PTQ는 성능하락을 막기 위해 추가적인 재학습을 하는 경우가 많음)

 

Data in Quantization

기존의 접근은 데이터를 합성하기 위해 원본 모델(FP: full-precision)의 정보를 활용하는 방식을 활용함.

FP model의 정보를 추출하는 방식은 CNN layer의 BN layer에서 BN(Batch Normalization) 정보를 추출하는 방식을 주로 활용함. 이렇게 추출된 정보를 통해 (1) gradient 기반의 synthetic (2) GAN 기반의 synthetic 등으로 data를 합성하는 방식을 사용함. 하지만, 이러한 방식은 다음과 같은 한계를 가짐
1) 계산 효율성이 매우 떨어짐 (연산량이 매우 많음)
2) BN layer가 없는 모델(ex. ViT)은 활용할 수 없는 방식임.

 

따라서, 본 논문에서는 이를 해결하기 위한 새로운 접근을 제안함

 

Synthetic Data in Deep learning

기존에는 GAN과 같은 접근이 주요했지만, 최근에는 text-to-image 모델을 통해 고품질의 데이터 생성이 가능해짐. 특히, GLIDE나 CLIP과 같은 방식들이 최신 기법으로 사용되며, GAN보다 Diffusion 기반의 접근이 강세를 보이고 있음.

 

 

Preliminaries

(이 부분은 쉬운 이해를 위해 논문 외 개념을 추가하여 설명하였음)

 

Quantzation

Quantization(양자화)는 FP model의 weight나 activation 값들을 fixed-point number로 변환하는 방식임.

논문에서는 학습데이터의 접근이 불가능한 상황을 고려하기 때문에 weight만 quantization 함.
(activation은 input data에 따른 변동값이기 때문)

Quantization 과정

 

 

w가 weight라고 할 때 scaling factor인 s를 통해 rounding 연산을 진행함. 그 후 z라는 zero-point vector를 더함.
n과 p는 각각 lower, upper bound임.
(z를 더하는 이유는 최솟값을 조정하여 음수로 나오지 않게 하기 위함임)

 

 

최종적으로 사용되는 $w^{q}$는 앞서 더한 zero-point의 영향을 다시 제거하여 최종 quantized weight의 값을 얻음.

 

Quantzation-Aware Training (QAT)

Gradient descent에서 Step size s와 weight s를 활용하는 quantization 방식으로, Straight-Through Estimator(STE)로 gradient값으로 step size를 계산할 수 있음. 이 과정을 통해 모델을 fine-tuning 하는 과정은 많은 양의 데이터와 GPU자원이 필요함

 

Post-Training Quantization (PTQ)

PTQ환경은 이미 모델의 학습이 완료된 상황이기 때문에 step size를 파악하기 어려워 QAT보다 훨씬 training data에 접근하기 어려움. 따라서, 원하는 step size를 얻기 위해 보통 weight rounding을 할 때 layer-wise quantization을 활용함. 이 방식은 성능을 향상할 수 있음을 기존연구들을 통해 입증된 방식임

 

Stable Diffusion Data Generation

Stable Diffusion은 Denoising Diffusion Probabilistic Model(DDPM)을 training과 inference 시 사용함. DDPM은 text encoder와 image decoder, denoising U-Net으로 구성되어 있음.

Inference(추론) 단계에서는 랜덤한 노이즈의 image latent가 가우시안분포(정규분포) 형태로 만들어지며, text prompt와 image embedding을 denoising U-Net을 통해 융합함. Denoising의 timestep에 따라 noise가 포함된 image latent는 image decoder를 통해 고해상도의 이미지를 생성함

Training(학습) 단계에서는 denoising U-Net은 markov chain 과정을 통해 image를 encoding 하는 과정을 먼저 거침. 이 과정에서 perturbation은 hyper-parameter로 조정할 수 있으며, time step에 따라 진행됨. 그 후 denoising U-Net은 reverse과정을 통해 noise를 삽입하기 전 이미지와 matching 시키는 방향으로 학습됨

 

 

Methodology

이 장에서는 DFQ와 DSQ 두 가지 환경의 quantization scenario에서 제안방식을 논의하며, stable diffusion 기반으로 training data를 생성하는 제안방식 GenQ를 설명함.

 

Data-Free GenQ

본 논문의 저자들은 학습데이터의 접근 없이 label만을 prompt에 활용하는 방식을 제안함. 

 

여기서 {D}는 "nice, dark, small"과 같은 형용사를 의미함. 여기서 사용되는 형용사 템플릿은 ImageNet 기반의 CLIP 템플릿을 사용하였다고 함. {C}는 랜덤하게 선택되는 클래스 label명임, 따라서, C부분은 예를 들면, '햄스터'가 될 수 있고, D부분은 'small'이 될 수 있음. 이러한 prompt를 통해 stable diffusion에 바로 삽입함으로써 data를 synthesize 할 수 있음.

 

method의 overview는 다음과 같음,

 

 

Stable Difussion을 통해 나온 image는 Figure의 ①에 해당함, 이 iamge는 original data의 분포를 제대로 반영하지 못할 수 있기 때문에 quantization에서 더 좋은 성능을 내기 위해서는 추가적인 과정이 필요함.

 

이를 위해 본 논문의 저자들은 FP모델의 지식을 효과적으로 활용하기 위한 model-dependent selection을 제안함.

이 과정은 이미지를 모델에 의존하여 selection 하고 filtering 하는 과정에 해당하는데  기존에 사용되던 OOD(Out-Of-Distribution)의 문제를 해결할 수 있다고 주장함.

기존의 OOD는 out of distribution(이상 분포) 데이터를 제거하는 데 중점을 두는 반면, 이 논문에서는 반대로 이상적인 데이터를 selection(선별)하는 과정에서 차이점이 있음

 

OOD를 하는 방식은 주로 Energy Score를 기반으로 filtering 함. 

 

Energy Filtering
Energy Score는 다음과 같이 연산됨
$f_{i}(x)$ 는 각 순서에 따른 output logit이며, C와 $\alpha$는 각각 이미지 클래스와 temperature를 의미함. temperature는 smoothing을 하는 hyper-parameter로 활용됨. Energy Score는 지수함수를 활용하기 때문에 잘 학습이 되는 경우 energy값은 감소하게 됨. 따라서, 분포를 따르지 않는 이상 데이터는 상대적으로 높은 energy 값을 갖게 됨.

이 논문에서는 특정 threshold값보다 아래의 score를 갖는 image만을 selection 하여 활용함. threshold는 experiment에서 자세히 기술함

 

 

위처럼 Energy score를 기반으로 첫 번째 filtering 과정을 거침. 여기서 그치지 않고, 논문에서는 BN sensitivity라는 지표를 제안하여 이 지표로 추가적인 두 번째 filtering을 거침. 이 과정을 통해 energy filtering을 통해 미처 거르지 못한 image들을 한번 더 거름.

 

BatchNorm Distribution Filtering
기존에 활용되던 BN distance는 다음과 같이 계산됨.

running mean, varience는 $\mu l$, $\sigma l$에 해당하며 $\mu^{s}_{l}$과 $\sigma^{s}_{l}$는 current mean과 current varience에 해당함. 이 방식은 데이터를 생성하는 데 있어 널리 활용되는 평가지표이며, 큰 값일수록 안 좋은 품질을 의미해 해당 데이터를 배제하는 방식으로 사용됨.

하지만, 기존의 이러한 방식은 batch단위의 input data 통계값이기 때문에 단일 이미지나 적은 개수의 데이터를 사용하는 경우 수치가 매우 편향(bias)되는 문제가 존재함. 따라서, 데이터가 적은 환경에서는 해당 평가지표는 데이터 품질을 적절히 평가하지 못한다고 저자들은 주장함,

이를 해결하기 위해 저자들은 아래와 같은 BN sensitivity라는 새로운 평가지표를 제안함.

이 방식은 기존 BN distance에서 특정한 한 데이터의 BN을 뺌으로써 batch 내 하나의 특정 이미지가 전체 값에 얼마나 큰 영향을 미치는지 파악할 수 있음. 따라서, 이 차가 클수록 전체 분포에 악영향을 미치는 안 좋은 데이터임을 확인할 수 있음

 

 

이러한 방식으로 DFQ환경에서 filtering을 효과적으로 수행할 수 있음,

하지만 BN 기반의 방식은 Convolution Network에서만 가능하며, BN layer를 사용하지 않는 경우 이러한 방식을 활용할 수 없다는 한계가 존재함. 이러한 한계를 개선하기 위해 BN layer가 없는 경우 (ex. ViT)는 Patch Similarity Filtering 방식을 활용한다고 함.

 

Patch Similarity Filtering for ViT
ViT 환경에서는 patch를 활용하여 아래와 같이 similarity를 구할 수 있음.

여기서 $O_{i}$는 $i$번째 feature map patch에 해당함. 위와 같은 식으로 간단하게 patch 간 cosine similarity를 구할 수 있음. Patch simailarity의 diversity(다양성)을 측정하기 위해 아래와 같이 differential entropy를 계산할 수 있음,

이와 같이 entropy를 구함으로써 낮은 entropy는 다양성 분포가 적은 것임을 확인할 수 있음. 반대로, H가 높을수록 다양성이 풍부하다는 의미이기 때문에, H가 높은 데이터를 select 한다면 높은 다양성의 데이터를 선정할 수 있음.
(하지만, 무조건 다양성이 풍부하다고 좋은 데이터임을 의미하는 건 아니기 때문에, 적절한 threshold를 선정하여 select 하는 것이 중요함, experiment part에서 더 자세히 설명)

 

 

Data-ScarceS GenQ

이 환경은 클래스 당 1개의 이미지가 주어졌다고 가정함. 이미지가 있다는 것은 데이터셋의 특성을 prompt에 반영할 수 있다는 의미이기 때문에 아래와 같이 prompt를 작성할 수 있음.

 

 

여기서 {S}는 데이터의 특성을 의미함.

간단하게 이런 식으로 prompt 정보를 추가하고, Figure 2의 ③처럼 하나의 데이터를 삽입한다면 DSQ에서 좋은 성능을 보일 수 있음

 

 

Quantization with Synthetic Data from GenQ

Quantization은 아래 수식과 같이 진행함

 

여기서는 sgn(v)를 통해 적절한 rounding을 할 수 있으며, w, v, u는 모두 freeze 된 상태에서 진행됨. 

 

 

 

 

Experiments

생성 데이터의 visualization은 다음과 같음

 

기존 기법들에 비해 보다 명확하고 고해상도의 이미지가 생성된 것을 정성적으로 확인가능함.

데이터 synthesis cost 측면의 분석에서는 아래와 같이 제안방식인 GenQ가 매우 독보적인 성능을 보이기 때문에 많은 양의 데이터를 생성할 수 있다고 주장함.

 

 

GenQ보다 좋은 latency를 보이는 TexQ는 GAN기반 synthesis이기 때문에 범용적으로 활용할 수 없다는 한계가 존재함. 따라서, 제안방식이 reusable 해 더 좋은 방식임을 주장함.

 

데이터 quality 측면의 분석에서는 아래 표와 같이 분석함.

 

 

ResNet-50과 MobileNet-V2 기반의 평가에서도 GenQ는 real training data와의 비교에서의 gap을 줄였음을 확인함.

 

 

성능평가도 위와 같이 DFQ와 DSQ환경으로 구분하였으며, 메인 실험결과인 DFQ환경은 PTQ환경과 QAT환경으로 구분하여 평가함. 실험결과는 아래 표와 같음.

 

 

위 3개의 표를 보면 GenQ는 PTQ 및 QAT환경에서 모두 SOTA를 달성하였음을 확인 가능함.
특히, Table 4의 경우 DFQ환경에서의 ViT에서 real data를 활용했을 때보다 높은 성능을 보임.

 

Data Transferability Evaluation

 

기존 데이터 합성 방식들은 Table5 (a)와 같이 생성된 데이터가 다른 모델로 전이(transferability)될 때 낮은 성능을 보이는 것이 입증됨. GenQ는 상대적으로 높은 전이성을 보이며, 이를 검증하기 위해 A모델에서 생성된 모델을 B모델에 활용함으로써 전이성 평가를 진행하였음. 해당결과는 Table 5의 (b)에 해당함. 검증결과를 보면 GenQ는 기존 방식들에 비해 CNN모델들(ResNet-18, MobileNet-V2)과 ViT 모두 기존방식보다 월등한 성능을 보임.

 

 

 

 

 

DSQ

DSQ는 ViT환경에서 Patch Similarity를 기반으로 평가하였으며, synthetic data 수에 대한 accuracy 영향을 아래와 같이 평가하였음.

 

Figure 5를 보면 많은 양의 데이터를 증식하여 활용할수록 높은 성능을 보이며, GenQ는 데이터 생성에 드는 비용이 매우 적기 때문에 많은 양의 데이터를 활용할 수 있다고 주장함.

 

 

 

 

Ablation Study

Filtering강도 (threshold)에 대해 저자들은 ablation study를 진행함.

 

Figure 6의 왼쪽그림을 보면 filtering 비율을 높게 하면 할수록 정확도는 좋은 성능을 보임. 이는 Energy score가 accuracy와 비례하는 관계임을 알 수 있음.

하지만, 데이터의 diversity(다양성)을 측정하는 BN sensitivity의 경우 0.5의 값을 활용할 때 가장 좋은 accuracy를 보여 다양성 측면의 filtering은 성능과 비례 관계가 아니라 0.5가 최적의 값임을 실험으로 증명함.

 

 

 

 

 

Conclusion

본 논문에서는 GenQ라는 text-t-image 증식기법을 data-scarce quantization에서 제안함. GenQ방식은 data free 환경과 data scarce환경에 모두 활용가능하며, filtering mechanism을 통해 image를 refine 시킬 수 있음을 주장함. 실험결과를 통해 GenQ는 PTQ환경과 QAT환경에서 새로운 SOTA를 달성함.

 

 

 

 

Review (Limitation)

  1. 기존 DFQ환경에서의 Quantization연구에서는 ViT를 제대로 활용할 수 없다는 것이 매우 큰 limitation이었음.
    따라서, GenQ는 DFQ환경에서 ViT의 성능을 크게 개선한 점이 개인적으로 매우 중요한 contribution이라고 생각함. 하지만, 논문에서는 이 부분을 강조해서 contribution으로 작성하지 않은 것이 아쉬움.

  2. CNN 기반 모델에서 Transformer 모델로 Transferability를 검증하지 않은 부분이 아쉬움

  3. BN Sensitivity는 저자들이 제안하는 지표로, 다양성을 측정하는 새로운 평가지표임. 따라서 이 지표가 효과적인지 확인하기 위해서는 transferability와의 영향을 검증하는 것이 필요한데 이 부분에 대한 검증이 부족함.