ZeroQ: A Novel Zero Shot Quantization Framework(CVPR, 2020) paper review

Yeontachi·2025년 9월 20일

딥러닝 모델은 이미지 분류, 객체 탐지, 자연어 처리 등 다양한 분야에서 뛰어난 성능을 보이고 있다. 그러나 이런 모델들은 일반적으로 수백 MB에 이르는 큰 크기와 막대한 연산량을 필요로 한다. 실제로 스마트폰, IoT 기기, 자율주행 센서처럼 자원이 제한된 환경에 배포하기 위해서는 모델을 압축하는 과정이 필수적이다. 그 대표적인 방법 중 하나가 바로 양자화(Quantization)이다.

양자화는 네트워크의 가중치와 활성값을 32비트 부동소수점 대신 8비트 이하 정수로 표현함으로써 모델 크기를 줄이고 연산 속도를 높이는 기법이다. 하지만 여기에는 중요한 한계가 있다. 대부분의 양자화 기법은 원본 학습 데이터셋에 다시 접근해야 한다는 점이다. 왜냐하면, 낮은 비트 수로 변환하는 과정에서 정확도가 크게 떨어지기 때문에, 이를 보정하기 위해 재학습(fine-tuning)이나 Calibration(보정 데이터셋 기반 스케일링 조정)이 필요하기 때문이다.

문제는 실제 응용 환경에서는 학습 데이터를 다시 얻을 수 없는 경우가 많다는 것이다. 예를 들어, 의료 영상 데이터처럼 보안·프라이버시 문제로 원본 데이터 접근이 불가능하거나, 학습에 사용된 대규모 데이터셋이 공개되지 않는 경우가 대표적이다. 이처럼 데이터가 없는 상황에서도 고성능 모델을 양자화해야 하는 요구가 점점 더 커지고 있었다.

기존에도 데이터 없이 양자화를 시도한 연구들이 존재했지만, 대부분은 단순히 고정된 통계에 의존하거나, 정확도 저하가 컸다는 한계가 있었다. 따라서 연구자들이 직면한 핵심 질문은 다음과 같았다.

“원본 데이터가 전혀 없는 상황에서, 어떻게 하면 고성능 모델을 저비트로 양자화할 수 있을까?”

ZeroQ는 바로 이 질문에 대한 해답으로 제안된 프레임워크이다.

핵심 아이디어

ZeroQ의 출발점은 단순하다.
"데이터가 전혀 없는 상황에서도, 어떻게 모델을 저비트로 양자화할 수 있을까?"

이를 위해 ZeroQ는 크게 3가지 아이디어를 제안한다.

1. Distilled Data 생성(데이터 없는 환경에서의 대안)

일반적인 PTQ에서는 Calibration Dataset이 필요하다. 이 데이터는 모델에 입력되어 activation 범위나 분포를 추정하는 데 사용된다. 하지만 실제 상황에서는 학습 데이터를 다시 확보하기 어렵거나, 개인 정보 보호 문제로 사용할 수 없는 경우가 많다.

따라서 ZeroQ는 데이터가 전혀 없는 환경에서도 Calibration과 민감도 분석이 가능하도록 합성 데이터를 만드는 방법을 제안했다.

ZeroQ는 네트워크 내부에 이미 저장된 Batch Normalization(BN) 레이어의 통계값(평균, 분산)에 주목했다.
BN 레이어는 학습 과정에서 각 채널의 출력 분포의 평균과 분산을 기록해 둔다.
즉, "이 모델은 입력이 들어왔을 때, 내부적으로 이런 분포를 기대한다."라는 정보를 이미 담고 있는 셈이다.

ZeroQ는 바로 이 BN 통계를 활용해 입력 데이터를 역으로 최적화한다.

Distilled Data {xr}\{x_r\}는 다음 최적화 문제를 통해 생성된다:

minxriμ~irμi2+σ~irσi2\min_{x_r} \sum_i \left\| \tilde{\mu}^r_i - \mu_i \right\|^2 + \left\| \tilde{\sigma}^r_i - \sigma_i \right\|^2
  • μi,σi\mu_i, \sigma_i: 학습된 모델의 BN 레이어 ii에 저장된 평균과 분산
  • μ~ir,σ~ir\tilde{\mu}^r_i, \tilde{\sigma}^r_i: 합성 데이터 xrx_r를 입력했을 때 레이어 ii에서 계산된 평균과 분산

즉, 합성 데이터 xrx_r를 점차 조정하여 모델 내부 통계가 BN에 저장된 값과 일치하도록 학습한다.

단순히 무작위로 만드는 가우시안 노이즈 입력은 네트워크를 제대로 "자극"하지 못한다. 그래서 민감도 분석이나 양자화가 부정확하다.
반면, Distilled Data는 원본 이미지를 복원하지는 않지만, BN 통계에 맞는 지역적 구조(local structure)를 가지게 된다.

위 그림을 보면 Gaussian Data는 단순 잡음에 불과하다. 하지만 Distilled Data는 실제 이미지처럼 보이진 않지만, CNN이 반응할 수 있는 패턴(엣지, 텍스처 등)을 포함한다.
결국, Distilled Data는 원본 데이터 없이도 모델을 "정상적으로 동작"하게 만들어주는 가짜 데이터이다.

생성된 Distilled Data는 ZeroQ의 여러 단계에서 사용된다.

  • Calibration 대체 : Activation 범위 추정
  • 민감도 측정 : 특정 레이어를 저비트로 바꿨을 때 성능 저하 분석
  • Mixed Precision 탐색 : 다양한 비트 조합 실험 시 입력 데이터로 활용

이 모든 과정을 원본 데이터 없이 수행할 수 있게 해주는 것이 Distilled Data의 진짜 가치이다.

2. Layer Sensitivity 레이어 민감도 측정

모든 레이어가 양자화에 똑같이 강한 것은 아니다. 어떤 레이어는 4비트로 줄여도 성능이 거의 유지되지만, 어떤 레이어는 조금만 줄여도 큰 손실을 초래한다.

ZeroQ는 이를 정량적으로 평가하기 위해 KL Divergence 기반 민감도 측정을 제안한다.

  • Distilled Data를 입력하여, Full-precision 모델 출력과, 특정 레이어만 저비트(예: 4bit)로 바꾼 모델 출력을 비교한다.
  • 두 출력 분포 차이를 KL Divergence로 계산한다.
  • 이 값이 클수록 해당 레이어는 양자화에 민감하고, 작을수록 둔감하다.

위 그림에서 위쪽 경로는 Full-Precision 모델이다. 합성된 Distilled Data를 원래의 Full-precision(32-bit) ResNet-18에 입력한다. 이때 얻어지는 출력은 기준값이 된다.

아래쪽 경로는 부분 양자화된 모델이다. 같은 Distilled Data를 입력하되, 이번에는 네트워크의 특정 레이어를 4-bit로 양자화한다. 나머지 레이어는 여전히 Full-precision 상태로 유지된다.

이 두 모델의 출력을 비교하여, 해당 레이어를 4-bit로 바꿨을 때 결과 분포가 얼마나 달라지는지를 측정한다. 이때 사용되는 지표가 KL Divergence이다. 여기서 만약 KL값이 크다면, 해당 레이어는 정밀도에 민감하므로 저비트 양자화 시 성능 손실이 크다. 반대로 KL값이 작다면, 해당 레이어는 정밀도에 둔감하므로 저비트 양자화가 가능하다는 의미이다.

3. Mixed-Precision 자동 탐색


위 이미지는 민감도(Sensitivity) 측정 결과를 보여주는 그림이다. ZeroQ에서는 레이어별 민감도를 측정하기 위해 Distilled Data를 활용한다. 위 이미지는 ResNet-50을 대상으로, 레이어를 다른 비트 수로 양자화했을 때 성능 손실(=민감도)을 어떻게 측정하고 비교했는지를 보여준다.

왼쪽은 데이터 종류에 따른 민감도 비교 그래프이다. 빨간색(Gaussian Noise)는 단순히 무작위 가우시안 분포 데이터를 입력한 경우로, 민감도 값이 불안정하고 크게 요동친다. 즉, 실제 데이터 분포와 맞지 않아 정확한 민감도 측징이 어럽다. 파란색(Distilled Data)는 ZeroQ가 BN 통계를 기반으로 생성한 합성 데이터이다. 민감도 곡선이 원본 학습 데이터와 매우 비슷한 것을 볼 수 있다. 검은색(Training Data) 원래 학습에 사용된 진짜 데이터이다.

왼쪽 이미지로 알 수 있는 점은 Distilled Data는 진짜 데이터와 거의 동일한 통계적 효과를 제공한다. 따라서 데이터가 없어도 합성 데이터만으로 민감도 분석이 가능하다는 점이다.


우측 그래프는 비트 수에 따른 민감도 비교 그래프이다.
2bit(주황색)의 경우 대부분의 레이어에서 민감도가 매우 높다. 즉, 성능 손실 위험이 크다는 의미이다. 4bit(파란색)은 민감도가 훨씬 안정적이고, 특정 민감 레이어를 제외하면 비교적 안전하다. 8bit(초록색)은 거의 모든 레이어에서 민감도가 매우 낮아 성능 손실이 적다.

결론은 비트 수를 줄일 수록, 민감도는 커지고, 성능 저하 가능성이 높아진다.

이러한 이유로, ZeroQ는 단일 비트 수(예: 전체 8bit)만을 고집하지 않는다.
대신, 레이어별로 비트를 다르게 적용하는 Mixed-Precision 전략을 취한다.

  • 민감도가 높은 레이어는 8bit처럼 상대적으로 높은 정밀도를 배정하고,
  • 민감도가 낮은 레이어는 4bit, 심지어 2bit까지 낮춘다.

이 비트 할당은 Pareto Frontier 최적화 방식으로 찾는다. 즉, 주어진 모델 크기나 연산량 제약 내에서 정확도 손실을 최소화하는 최적의 비트 조합을 자동으로 찾아내는 것이다.

Pareto Frontier

ZeroQ는 Mixed Precision 전략을 취할 때, 어떤 레이어에 몇 비트를 배정할 것인가에 대한 결정을 Pareto Frontier 최적화로 해결한다.

위 그래프의 x축은 모델의 크기(MB 단위), y축은 민감도(Overall Sensitivity), 즉 성능 손실 위험을 의미한다.

각 파란 점은 "특정 레이어에 특정 비트를 배정한 Mixed-Precision 조합"을 의미한다. 즉, 수많은 비트 설정을 탐색한 결과가 점 구름처럼 찍혀 있는 것이다.

Pareto Frontier는 이 중에서 주어진 모델 크기 제약을 만족하면서, 민감도가 최소화되는 최적 조합을 선택한다.

  • 그림의 빨간 점 : Mixed 4-bit 구성의 최적점
  • 그림의 주황 점 : Mixed 6-bit 구성의 최적점

이 방법을 사용하면, 예를 들어 "모델 크기를 12MB 이내로 제한해야 한다."는 조건이 있을 때, 가장 안정적이고 성능 손실이 적은 Mixed-Precision 구성을 자동으로 고를 수 있다.

실험 및 결과

ZeroQ는 제안한 방법의 효과를 검증하기 위해 ImageNet 분류와 COCO 객체 탐지라는 두 가지 대표적인 비전 과제에서 실험을 진행했다. 그 결과는 "데이터가 전혀 없는 상황에서도 ZeroQ가 기존 기법을 압도적으로 능가한다"는 것을 보여주었다.

좋습니다 👍 이번에는 ZeroQ 논문의 Results(실험 및 결과) 부분을 블로그 글처럼 정리해드릴게요.

1. ImageNet 분류 실험

(1) 모델별 성능 비교

ResNet-18, ResNet-50, MobileNetV2, ShuffleNet 등 다양한 아키텍처를 대상으로 실험을 진행했다.

  • MobileNetV2 (W6A6, 6비트)

    • 기존 데이터프리 양자화 기법(DFQ)보다 +1.71% 정확도 향상
  • ResNet-50 (W4A4, 4비트)

    • 기존 기법 대비 안정적으로 Top-1 정확도를 유지
  • ShuffleNet (W6A6)

    • ZeroQ가 DFQ 대비 더 높은 정확도 기록

결론적으로, ZeroQ는 데이터 없는 환경에서도 기존 PTQ/DFQ 기법보다 항상 우수한 정확도를 보였다.

(2) Distilled Data의 효과

실험에서 Distilled Data는 원본 데이터와 매우 비슷한 민감도 곡선을 만들어냈다.

  • Gaussian 입력은 민감도 결과가 불안정하고 왜곡됨
  • Distilled Data는 Training Data와 거의 동일한 결과를 재현

따라서 원본 데이터 없이도 합성 데이터만으로 신뢰성 있는 양자화가 가능함이 입증되었다.

2. COCO 객체 탐지 (RetinaNet)

ZeroQ는 단순 분류 문제를 넘어 객체 탐지(Object Detection)에도 적용할 수 있음을 보여주었다.

  • RetinaNet, W6A6 환경에서 35.9 mAP를 달성
  • 이는 기존 fine-tuning 기반 기법과 거의 동등한 수준

즉, 데이터가 없는 상황에서도 객체 탐지 같은 복잡한 태스크에 충분히 적용할 수 있다는 가능성을 입증했다.

3. 효율성 (시간 및 계산 비용)

ZeroQ는 계산 효율성에서도 강점을 보였다.

  • ResNet-50 전체 양자화 프로세스를 불과 30초 이내에 끝낼 수 있다.
  • 이는 실제 배포 환경(모바일, IoT 기기)에서 즉각적인 모델 변환을 가능하게 한다.

결과 요약

  1. ImageNet 분류 – 데이터 없는 상황에서도 기존 기법보다 높은 정확도 달성
  2. COCO 탐지 – 객체 탐지에서도 경쟁력 있는 성능 유지 (35.9 mAP)
  3. 효율성 – ResNet-50 양자화를 30초 이내로 처리할 정도로 빠름
  4. 실질적 의미 – ZeroQ는 원본 데이터가 전혀 필요 없는 첫 번째 실용적 프레임워크로, 모바일/엣지 환경 배포에 바로 적용 가능

결론

ZeroQ는 데이터가 전혀 없는 상황에서도 고성능 모델을 저비트로 양자화할 수 있는 새로운 프레임워크를 제시했다. 이 연구는 단순한 모델 압축 기법을 넘어, 실제 배포 환경에서 직면하는 중요한 제약 -"데이터 접근 불가"-문제를 정면으로 해결했다.

핵심 기여는 다음과 같다.

  • Distilled Data 생성 : 원본 데이터가 없어도 BatchNorm 통계를 활용하여 합성 데이터를 만들고, 이 데이터를 통해 calibration과 민감도 분석이 가능함을 보였다.
  • 민감도 기반 분석 : 특정 레이어를 저비트로 바꿨을 때 성능이 얼마나 손상되는지를 KL Divergence로 정의하고, 레이어별 민감도를 정량화 했다.
  • Mixed-Precision 자동 탐색 : 모든 레이어를 동일한 비트로 양자화하는 대신, Pareto frontier 최적화를 통해 주어진 메모리 \cdot 연산 제약 조건 내에서 가장 성능이 좋은 비트 조합을 찾아낸다.

실험 결과, ZeroQ는 ImageNet 분류와 COCO 탐지 과제에서 기존 데이터프리 양자화 기법을 뛰어넘는 성능을 기록했으며, ResNet-50 같은 대형 네트워크도 30초 이내에 양자화할 만큼 효율적이였다.

References

Cai, Y., Yao, Z., Dong, Z., Gholami, A., Mahoney, M. W., & Keutzer, K. (2020). ZeroQ: A novel zero shot quantization framework. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 13169–13178.

profile
기초를 다지는 중입니다.📚🧑‍💻

0개의 댓글