QAT(Quantization Aware Training)
학습 단계에서 미리 inference에 quantization을 적용하는 방식
Training with Quantization noise for Extreme Model Compression
학습 시에 fake quantization node를 추가하여 quantization 시뮬레이션을 통해 weight에 반영
학습을 진행하는 동시에 fine-tuning을 같이 진행하는 느낌
quantization 전후의 모델 성능 하락폭을 최소화할 수 있음
사전 학습된 모델에 해당 방식으로 학습을 할 경우에는, 당시에 활용한 dataset을 그대로 가져와야하는 단점이 존재함
PTQ(Post Training Quantization)
Local Quantization Reconstruction
DetPTQ & ODOL(Object Detection Output Loss)
각각 서로 다른 layer의 Lp metric에서 p 값을 변화시킴에 따라 성능이 달라지는 것을 확인
다양한 feature에 대한 최적의 p 값을 결정하기 위해 DetPTQ를 제안하여 가장 낮은 성능 하락을 보이는 p 값을 선택
quantization할 때 loss 변화를 나타낼 수 있는 Object Detection Output Loss (ODOL)를 제안
DetPTQ는 Lp loss가 ODOL에 근사되는 p 값을 선택
PTQ 관련 식
기본적인 PTQ
각각의 feature별로 PTQ 적용 + p값을 2가 아닌 여러 값으로 활용할 때의 loss function
quantization에서의 loss는 다음과 같음
quantization의 목표는 위의 loss를 최소화하는 scale factor s를 찾는 과정
모델의 layer마다 optimal scale factor를 결정하는 p값이 다른 것을 다음 표에서 확인
L_perf를 최소화하기 위한 ideal한 scale factor (s_p)*를 찾는 것이 목표
하지만 ideal scale factor (s_ideal)*는 labeling 되어있지 않기 때문에 실험적으로 찾아야함
quantization 전후의 결과를 비교하기 위해 ODOL이라는 새로운 loss 함수를 정의
새롭게 정의한 ODOL loss 함수가 L_perf의 그래프에 근사하면 L_perf를 대체할 수 있을 것으로 기대
detection 결과를 classification과 location의 두 부분으로 나누어 해석
classification loss는 KL distance나 L2를 사용하고, location loss는 L1이나 IOU를 사용
classification loss와 location loss를 다양하게 조합하여 다음과 같이 그래프를 그렸을 때 L_perf 그래프의 minimum loss 지점에서의 scale factor와 유사한 값을 갖는 조합은 KL + L1로 판명
주어진 p값(논문의 실험에서는 P = {1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5})에 대해 L_perf(위의 실험에 의한 결과를 바탕으로 하면 ODOL)를 최소화하는 scale fator (s_p)*를 찾는 과정
layer별로 다르게 quantization하지 않는 간단한 PTQ의 경우에서 다양한 metric을 사용했을 때의 결과 비교
layer별로 다르게 quantization하는 복잡한 PTQ(다양한 SOTA 방식)의 경우에 대한 결과 비교